[SqueakDBX] MAC OSX 10.6 + squeakDBX + Oracle 10.2 issues

Mariano Martinez Peck marianopeck at gmail.com
Sun Aug 1 18:17:52 UTC 2010


On Sun, Aug 1, 2010 at 8:03 PM, Colin Doherty <colin.doherty at gmail.com>wrote:

> Hi Again,
>
> Just tried Pharo 1.1 click image with Squeak 4.2.5beta1U VM and
> opendbx-1.5.0 and got a different error:
>
> DBXFatalError: FATAL OpenDBX: Loading backend library failed
>
>
Ok...at least this one is known :)

The problem is that OpenDBX cannot load the Oracle libraries.


> system.log:
>
> Aug  1 18:53:45 MacBook [0x0-0x85085].org.squeak.pharo[15272]: Loading
> backend library oracle, liboraclebackend.so or
> /usr/local/lib/opendbx/liboraclebackend.so failed
> Aug  1 18:53:45 MacBook [0x0-0x85085].org.squeak.pharo[15272]:
> dlopen(/usr/local/lib/opendbx/liboraclebackend.so, 1): Library not loaded:
> /b/32_216/rdbms/lib/libclntsh.dylib.10.1
> Aug  1 18:53:45 MacBook [0x0-0x85085].org.squeak.pharo[15272]:   Referenced
> from: /usr/local/lib/opendbx/liboraclebackend.so
> Aug  1 18:53:45 MacBook [0x0-0x85085].org.squeak.pharo[15272]:   Reason:
> image not found
>
> The directory /b/32_216/rdbms/lib  doesn't exist, not sure if it's a 32/64
> bit issue on this OS. Everything compiled as 32 bit but this platform also
> support 64 bit.
>
>
read here

http://blog.rayapps.com/2009/09/06/how-to-setup-ruby-and-oracle-instant-client-on-snow-leopard/

search /b/32_216/rdbms/lib  and read what it says....
maybe you shoud reinstall a 32 oracle client  ?



> Thanks
> Colin
>
>
>
>
> On Sun, Aug 1, 2010 at 6:38 PM, Colin Doherty <colin.doherty at gmail.com>wrote:
>
>> Hi,
>>
>> Ok I've tried using the Squeak5.7b1 64-32 VM with the Pharo 1.1 image and
>> opendbx-1.5.0 with debug-log option, the error is:
>>
>> Error: call to an external function failed.
>>
>> This from Pharo debug log:
>>
>> THERE_BE_DRAGONS_HERE
>> Error: A call to an external function failed
>> 1 August 2010 6:16:57 pm
>>
>> VM: Mac OS - intel - 1064 - Squeak4.1 of 17 April 2010 [latest update:
>> #9957] 19.0
>> Image: Pharo-1.1-11411 [Latest update: #11411]
>>
>> SecurityManager state:
>> Restricted: false
>> FileAccess: true
>> SocketAccess: true
>> Working Dir /Users/Development/Smalltalk/Squeak64bit/Contents/Resources
>> Trusted Dir /foobar/tooBar/forSqueak/bogus/
>> Untrusted Dir /foobar/tooBar/forSqueak/bogus/
>>
>> OpenDBXMacOSX(Object)>>error:
>> Receiver: an OpenDBXMacOSX
>>  Arguments and temporary variables:
>> aString: 'A call to an external function failed'
>>  Receiver's instance variables:
>> an OpenDBXMacOSX
>>
>> OpenDBXMacOSX(Object)>>externalCallFailed
>> Receiver: an OpenDBXMacOSX
>>  Arguments and temporary variables:
>> errCode: 0
>>  Receiver's instance variables:
>> an OpenDBXMacOSX
>>
>> OpenDBXMacOSX(OpenDBXUnix)>>apiInitialize:backend:host:port:
>>  Receiver: an OpenDBXMacOSX
>> Arguments and temporary variables:
>> handle: a WordArray(0)
>>  backend: 'oracle'
>> host: 'hostname.com'
>>  port: '1521'
>> Receiver's instance variables:
>> an OpenDBXMacOSX
>>
>> DBXOraclePlatform(DBXPlatform)>>createConnection:
>> Receiver: a DBXOraclePlatform
>> Arguments and temporary variables:
>>  aConnection: a DBXConnection
>> err: nil
>>  handleArray: a WordArray(0)
>> handle: nil
>>  Receiver's instance variables:
>> a DBXOraclePlatform
>>
>> DBXConnection>>connect
>> Receiver: a DBXConnection
>>  Arguments and temporary variables:
>>
>> Receiver's instance variables:
>>  platform: a DBXOraclePlatform
>> settings: a DBXConnectionSettings
>>  handle: nil
>> open: a ValueHolder
>>  connected: a ValueHolder
>> result: nil
>>
>>
>> UndefinedObject>>DoIt
>> Receiver: nil
>> Arguments and temporary variables:
>>  conn: a DBXConnection
>> connectionSettings: a DBXConnectionSettings
>>  rs: nil
>> Receiver's instance variables:
>> nil
>>
>> Compiler>>evaluate:in:to:notifying:ifFail:logged:
>> Receiver: a Compiler
>> Arguments and temporary variables:
>>  textOrStream: '|conn connectionSettings rs |
>>
>> connectionSettings:= DBXConnectio...etc...
>>  aContext: nil
>> receiver: nil
>>  aRequestor: a TextMorphForShoutEditor
>> failBlock: [FakeClassPool adopt: nil.
>>  ^ #failedDoit]
>> logFlag: true
>>  methodNode: DoIt
>> | conn connectionSettings rs |
>>  connectionSettings := DBXConn...etc...
>> method: (UndefinedObject>>#DoIt "a CompiledMethod(570949632)")
>>  value: nil
>> toLog: nil
>>  itsSelection: nil
>> itsSelectionString: nil
>>  Receiver's instance variables:
>> sourceStream: a ReadStream '|conn connectionSettings rs |
>>
>> connectionSettings:=...etc...
>> requestor: a TextMorphForShoutEditor
>>  class: UndefinedObject
>> category: nil
>>  context: nil
>> parser: a Parser
>>
>>
>>
>> No error messages were produced in /var/log/system.log when this occurred
>> and no additional opendbx debug log was produced that I could see.
>>
>> I've run the FFIPlugin tests, these two failed in the standard Pharo-1.1
>> with  Squeak 4.2.5beta1U VM:
>>
>> FFIPluginTests>>#testLongLongs
>> FFIPluginTests>>#testPoint2
>>
>> With the  Squeak 64-32 5.7b1 VM all the FFIPluginTests produced an
>> error/failed, it is an experimental 64bit VM though so I guess that's
>> expected ?
>>
>> Thanks
>> Colin
>>
>>
>> On Sun, Aug 1, 2010 at 5:24 PM, Mariano Martinez Peck <
>> marianopeck at gmail.com> wrote:
>>
>>>
>>>
>>> On Sun, Aug 1, 2010 at 5:04 PM, Colin Doherty <colin.doherty at gmail.com>wrote:
>>>
>>>> Hi,
>>>>
>>>> I've tried using the Pharo 1.1 OneClick image (not sure what the VM
>>>> version is for this) and have tried Squeak Seaside 3.0 image,  Squeak/VM
>>>> version 4.1 I think ?. I installed it using Metacello. This is the version
>>>> of OpenDBX: OpenDBX-Core-MarianoMartinezPeck.246 and
>>>> SqueakDBX-Smalltalk-Dialect-MarianoMartinezPeck.3 from what I can see in
>>>> ConfigurationOfSqueakDBX>>version11.
>>>>
>>>>
>>> Ok, this is perfect. Now...could you test the same image of Pharo 1.1 but
>>> using another VM than the one that it is in the one click.
>>>
>>> The one click VM is Squeak 4.2.5beta1U
>>> Can you try with Squeak 64-32 5.7b1 ??
>>> ftp://ftp.smalltalkconsulting.com/Squeak%2064-32%205.7b1.app.zip
>>>
>>> In addition (to see if we have more logs) can you enable the debug mode
>>> in those VMs ?
>>>
>>> to do that, you need to open the .app (show package contents) and then,
>>> in the file Info.plist  you have to enable debug mode:
>>>
>>>     <key>SqueakDebug</key>
>>>     <integer>1</integer>
>>>
>>> or...from the mac os tool to edit .plist
>>>
>>> then...open first the Mac OS Console, and luckily we will have more
>>> information.
>>>
>>>
>>>
>>>> I've just tried a simple connect example:
>>>>
>>>> |conn connectionSettings rs |
>>>>
>>>> connectionSettings:= DBXConnectionSettings
>>>> host:'hostname.com'
>>>> port:'1521'
>>>> database:'mysid'
>>>> userName:'username'
>>>> userPassword: 'pw'.
>>>>
>>>> conn := DBXConnection platform: DBXOraclePlatform new settings:
>>>> connectionSettings.
>>>> conn connect.
>>>> conn open.
>>>> rs := conn execute: 'select job from emp'.
>>>>
>>>>
>>> Ok...what happens if you do all that but not the conn execute ?  (i mean,
>>> jut connect and open).  Try this:
>>>
>>> |conn connectionSettings rs |
>>>
>>> connectionSettings:= DBXConnectionSettings
>>> host:'hostname.com'
>>> port:'1521'
>>> database:'mysid'
>>> userName:'username'
>>> userPassword: 'pw'.
>>>
>>> conn := DBXConnection platform: DBXOraclePlatform new settings:
>>> connectionSettings.
>>> conn connect.
>>> conn open.
>>> conn disconnect.
>>>
>>> does it work?
>>>
>>>
>>>
>>>> I've done no tests of FFI but it installed ok as far as I could see.
>>>>
>>>>
>>> No, but they came with FFI. Check in the category FFI-Tests  there are
>>> tests like FFIPluginTests
>>>
>>>
>>>
>>>> I'm using opendbx-1.4.5.
>>>>
>>>
>>> Ok...can you please recompile using the debug mode enabled?
>>>   To do that  ./configure --enable-debug-log   and then a .log file per
>>> connection is generated in the directory where you are calling opendbx
>>>
>>> However, if I remember correctly, this was added in opendbx-1.5.0, not in
>>> 1.4.5.
>>>
>>> You can download it from:
>>> http://linuxnetworks.de/opendbx/download/libopendbx-1.5.0.tar.gz
>>>
>>> So...compile like that, and run your test again. Then, please send the
>>> generated log.
>>>
>>> Let's do all these tests, and then we can contact someone to help us.
>>>
>>> Thanks
>>>
>>> Mariano
>>>
>>>
>>>>
>>>> Thanks
>>>> Colin
>>>>
>>>>
>>>> On Sun, Aug 1, 2010 at 3:17 PM, Mariano Martinez Peck <
>>>> marianopeck at gmail.com> wrote:
>>>>
>>>>> HI. wow...never saw this problem.
>>>>>
>>>>> Which Squeak VM are you using?
>>>>>
>>>>> What is exactly what you are running in the image side that brings that
>>>>> error ?
>>>>>
>>>>> thanks
>>>>>
>>>>> mariano
>>>>>
>>>>> On Sun, Aug 1, 2010 at 4:04 PM, Colin Doherty <colin.doherty at gmail.com
>>>>> > wrote:
>>>>>
>>>>>> Hi,
>>>>>>
>>>>>> I've tried installing squeakDBX and got it installed using the 32 bit
>>>>>> Oracle 10.2.0.4 instant client using this config:
>>>>>>
>>>>>> CFLAGS="-m32" CPPFLAGS="-m32
>>>>>> -I/usr/local/instantclient10_2/sdk/include" LDFLAGS="-arch i386
>>>>>> -L/usr/local/instantclient10_2" ./configure --disable-utils
>>>>>> --with-backends="oracle"
>>>>>>
>>>>>> However, I'm getting the following error when I try to use it in
>>>>>> either squeak 4.1 or pharo 1.1:
>>>>>>
>>>>>> Out of memory error
>>>>>>
>>>>>> This is from the log:
>>>>>>
>>>>>> Jul 31 20:57:47 MacBook [0x0-0x39039].org.squeak.pharo[22081]:
>>>>>> tryLoading /Users/DevelopmentSmalltalk/Pharo/Plugins/opendbx.so
>>>>>> Jul 31 20:57:47 MacBook [0x0-0x39039].org.squeak.pharo[22081]:
>>>>>> tryLoading /Users/Development/Smalltalk/Pharo/Plugins/opendbx.dylib
>>>>>> Jul 31 20:57:47 MacBook [0x0-0x39039].org.squeak.pharo[22081]:
>>>>>> tryLoading /Users/Development/Smalltalk/Pharo/Plugins/libopendbx
>>>>>> Jul 31 20:57:47 MacBook [0x0-0x39039].org.squeak.pharo[22081]:
>>>>>> tryLoading /Users/Development/Smalltalk/Pharo/Plugins/libopendbx.so
>>>>>> Jul 31 20:57:47 MacBook [0x0-0x39039].org.squeak.pharo[22081]:
>>>>>> tryLoading /Users/Development/Smalltalk/Pharo/Plugins/libopendbx.dylib
>>>>>> Jul 31 20:57:47 MacBook [0x0-0x39039].org.squeak.pharo[22081]:
>>>>>> tryLoading ./opendbx.bundle/Contents/MacOS/opendbx
>>>>>> Jul 31 20:57:47 MacBook [0x0-0x39039].org.squeak.pharo[22081]:
>>>>>> tryLoading ./opendbx
>>>>>> Jul 31 20:57:47: --- last message repeated 1 time ---
>>>>>> Jul 31 20:57:47 MacBook [0x0-0x39039].org.squeak.pharo[22081]:
>>>>>> tryLoading ./opendbx.so
>>>>>> Jul 31 20:57:47 MacBook [0x0-0x39039].org.squeak.pharo[22081]:
>>>>>> tryLoading ./opendbx.dylib
>>>>>> Jul 31 20:57:47 MacBook [0x0-0x39039].org.squeak.pharo[22081]:
>>>>>> tryLoading ./libopendbx
>>>>>> Jul 31 20:57:47 MacBook [0x0-0x39039].org.squeak.pharo[22081]:
>>>>>> tryLoading ./libopendbx.so
>>>>>> Jul 31 20:57:47 MacBook [0x0-0x39039].org.squeak.pharo[22081]:
>>>>>> tryLoading ./libopendbx.dylib
>>>>>> Jul 31 20:57:47 MacBook [0x0-0x39039].org.squeak.pharo[22081]:
>>>>>> tryLoading
>>>>>> /Users/Development/Smalltalk/Pharo/Pharo-1.1-OneClick.app/Contents/Resources/opendbx.bundle/Contents/MacOS/opendbx
>>>>>> Jul 31 20:57:47 MacBook [0x0-0x39039].org.squeak.pharo[22081]:
>>>>>> tryLoading
>>>>>> /Users/Development/Smalltalk/Pharo/Pharo-1.1-OneClick.app/Contents/Resources/opendbx
>>>>>> Jul 31 20:57:47 MacBook [0x0-0x39039].org.squeak.pharo[22081]:
>>>>>> ioFindExternalFunctionIn(odbx_init, 2155408)
>>>>>> Jul 31 20:57:47 MacBook Squeak VM Opt[22081]: Squeak VM
>>>>>> Opt(22081,0xa0bf2500) malloc: *** error for object 0xf1f2f3f4: pointer being
>>>>>> freed was not allocated\n*** set a breakpoint in malloc_error_break to debug
>>>>>>  Jul 31 20:57:47 MacBook [0x0-0x39039].org.squeak.pharo[22081]: Squeak
>>>>>> VM Opt(22081,0xa0bf2500) malloc: *** error for object 0xf1f2f3f4: pointer
>>>>>> being freed was not allocated
>>>>>> Jul 31 20:57:47 MacBook [0x0-0x39039].org.squeak.pharo[22081]: *** set
>>>>>> a breakpoint in malloc_error_break to debug
>>>>>> Jul 31 20:57:47 MacBook [0x0-0x39039].org.squeak.pharo[22081]:
>>>>>> ioFindExternalFunctionIn(odbx_error, 2155408)
>>>>>> Jul 31 20:57:47 MacBook [0x0-0x39039].org.squeak.pharo[22081]:
>>>>>> ioFindExternalFunctionIn(odbx_error_type, 2155408)
>>>>>> Jul 31 21:01:49 MacBook Safari[8492]: INSERT-HANG-DETECTED: Tx
>>>>>> time:18.496361, # of Inserts: 0, # of bytes written: 0, Did shrink: YES
>>>>>> Jul 31 21:05:31 MacBook [0x0-0x39039].org.squeak.pharo[22081]: VM:
>>>>>> MouseModifierStateCarbon buttonStateBits 1 modifier
>>>>>>
>>>>>> I've also tried compiling a 64 bit version which worked and used the
>>>>>> experimental 64 bit squeak vm, this doesn't work but generates no errors.
>>>>>> Any ideas on how to fix the 32 bit out of memory issue ?
>>>>>>
>>>>>> Thanks
>>>>>>
>>>>>> _______________________________________________
>>>>>> SqueakDBX mailing list
>>>>>> SqueakDBX at lists.squeakfoundation.org
>>>>>> http://lists.squeakfoundation.org/mailman/listinfo/squeakdbx
>>>>>>
>>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> SqueakDBX mailing list
>>>>> SqueakDBX at lists.squeakfoundation.org
>>>>> http://lists.squeakfoundation.org/mailman/listinfo/squeakdbx
>>>>>
>>>>>
>>>>
>>>> _______________________________________________
>>>> SqueakDBX mailing list
>>>> SqueakDBX at lists.squeakfoundation.org
>>>> http://lists.squeakfoundation.org/mailman/listinfo/squeakdbx
>>>>
>>>>
>>>
>>> _______________________________________________
>>> SqueakDBX mailing list
>>> SqueakDBX at lists.squeakfoundation.org
>>> http://lists.squeakfoundation.org/mailman/listinfo/squeakdbx
>>>
>>>
>>
>
> _______________________________________________
> SqueakDBX mailing list
> SqueakDBX at lists.squeakfoundation.org
> http://lists.squeakfoundation.org/mailman/listinfo/squeakdbx
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/squeakdbx/attachments/20100801/bf5efb1e/attachment.htm


More information about the SqueakDBX mailing list