p...@highoctane.be wrote:
Is https://pharo.fogbugz.com/f/cases/19990 showing again?
Actually, maybe not, as can be seen in the other thread I posted for the error - it seems sqlite3 is used ok until finalizers kick in, when it crashes for some reason... but maybe it relates to this error somehow.
What is the module being loaded ? Phil On Sat, Sep 30, 2017 at 1:28 PM, Herby Vojčík <he...@mailbox.sk <mailto:he...@mailbox.sk>> wrote: p...@highoctane.be <mailto:p...@highoctane.be> wrote: What about LD_LIBRARY_PATH=<sqlite3place>;$LD_LIBRARYPATH ./pharo-ui some.image Phil Thanks for answer, did not help. In fact it must be something different. As can be seen in the stack, it fails during finalizers, and as can be seen by looking at UDBCSQLite3DatabaseExternalObject class>>finalizeResourceData: code, the method it calls is sqlite close. It is hardly the first method that is should call... I suspect something around image save / load. Again. Lots of errors in those parts. But may be something else, as it kicks in only when SQLite-using tests starts to run. :-( Herby P.S.: I saw there is a similar thread out there, but it has problems with 32bit loaded by 64bit vm; but here, I have 32bit linux, so the vm installed should be 32bit. On Thu, Sep 28, 2017 at 7:40 PM, Herby Vojčík <he...@mailbox.sk <mailto:he...@mailbox.sk> <mailto:he...@mailbox.sk <mailto:he...@mailbox.sk>>> wrote: Hello! I try to deploy UDBCSQLite-using image in a 32bit ubuntu 16.04.3. I do have libsqlite3: root@32bit-agent:~# find / -name '*libsqlite*' -type f 2>>/dev/null /usr/lib/i386-linux-gnu/libsqlite3.so.0.8.6 /var/lib/dpkg/info/libsqlite0.list /var/lib/dpkg/info/libsqlite3-0:i386.postinst /var/lib/dpkg/info/libsqlite3-0:i386.md5sums /var/lib/dpkg/info/libsqlite3-0:i386.shlibs /var/lib/dpkg/info/libsqlite0.postrm /var/lib/dpkg/info/libsqlite3-0:i386.symbols /var/lib/dpkg/info/libsqlite3-0:i386.list /var/lib/dpkg/info/libsqlite3-0:i386.triggers /var/cache/apt/archives/libsqlite0_2.8.17-12fakesync1_i386.deb but I get this in the output of the CI: 17:16:54.233 + ../pharo/pharo ./filmtower.image conf/run-tests.st <http://run-tests.st> <http://run-tests.st> 17:16:54.508 pthread_setschedparam failed: Operation not permitted 17:16:54.509 This VM uses a separate heartbeat thread to update its internal clock 17:16:54.509 and handle events. For best operation, this thread should run at a 17:16:54.509 higher priority, however the VM was unable to change the priority. The 17:16:54.509 effect is that heavily loaded systems may experience some latency 17:16:54.509 issues. If this occurs, please create the appropriate configuration 17:16:54.509 file in /etc/security/limits.d/ as shown below: 17:16:54.509 17:16:54.509 cat <<END | sudo tee /etc/security/limits.d/pharo.conf 17:16:54.509 * hard rtprio 2 17:16:54.509 * soft rtprio 2 17:16:54.509 END 17:16:54.509 17:16:54.509 and report to the pharo mailing list whether this improves behaviour. 17:16:54.512 17:16:54.512 You will need to log out and log back in for the limits to take effect. 17:16:54.512 For more information please see 17:16:54.512 https://github.com/OpenSmalltalk/opensmalltalk-vm/releases/tag/r3732#linux <https://github.com/OpenSmalltalk/opensmalltalk-vm/releases/tag/r3732#linux> <https://github.com/OpenSmalltalk/opensmalltalk-vm/releases/tag/r3732#linux <https://github.com/OpenSmalltalk/opensmalltalk-vm/releases/tag/r3732#linux>> 17:16:54.785 17:16:54.786 TowergameSyncTests 17:16:54.831 Error: External module not found 17:16:54.832 ExternalLibraryFunction(Object)>>error: 17:16:54.832 ExternalLibraryFunction(Object)>>externalCallFailed 17:16:54.833 ExternalLibraryFunction(ExternalFunction)>>invokeWithArguments: 17:16:54.833 UDBCSQLite3DatabaseExternalObject class>>finalizeResourceData: 17:16:54.834 FFICalloutAPI>>function:module: 17:16:54.834 UDBCSQLite3Library(Object)>>ffiCall:module: 17:16:54.835 UDBCSQLite3DatabaseExternalObject class>>finalizeResourceData: 17:16:54.836 FFIExternalResourceExecutor>>finalize 17:16:54.836 WeakFinalizerItem>>finalizeValues 17:16:54.845 [ each finalizeValues ] in [ :each | [ each finalizeValues ] on: Exception fork: [ :ex | ex pass ] ] in WeakRegistry>>finalizeValues in Block: [ each finalizeValues ] 17:16:54.846 BlockClosure>>on:do: 17:16:54.852 [ Processor terminateActive ] in [ :ex | 17:16:54.852 | copy onDoCtx process handler bottom thisCtx | 17:16:54.852 onDoCtx := thisContext. 17:16:54.852 thisCtx := onDoCtx home. 17:16:54.852 17:16:54.852 "find the context on stack for which this method's is sender" 17:16:54.852 [ onDoCtx sender == thisCtx ] 17:16:54.852 whileFalse: [ onDoCtx := onDoCtx sender. 17:16:54.852 onDoCtx 17:16:54.852 ifNil: [ "Can't find our home context. seems like we're already forked 17:16:54.852 and handling another exception in new thread. In this case, just pass it through handler." ^ handlerAction cull: ex ] ]. 17:16:54.852 bottom := [ Processor terminateActive ] asContext. 17:16:54.853 onDoCtx privSender: bottom. 17:16:54.853 handler := [ handlerAction cull: ex ] asContext. 17:16:54.853 handler privSender: thisContext sender. 17:16:54.853 (Process forContext: handler priority: Processor activePriority) 17:16:54.853 resume. 17:16:54.853 17:16:54.853 "cut the stack of current process" 17:16:54.853 thisContext privSender: thisCtx. 17:16:54.853 nil ] in BlockClosure>>on:fork: in Block: [ Processor terminateActive ] 17:16:54.989 Look like pharo was not able to find the sqlite3 lib. Any help? Thanks, Herby