Pharo-users
By thread
pharo-users@lists.pharo.org
By month
Messages by month
- ----- 2026 -----
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- 7 participants
- 50354 messages
Re: [Pharo-users] How to make pharo find sqlite?
by Herby VojÄÃk
phil(a)highoctane.be wrote:
> Is https://pharo.fogbugz.com/f/cases/19990 showing again?
>
> What is the module being loaded ?
It is taken from this message send:
UDBCSQLite3Library >> library
Smalltalk os isMacOS ifTrue: [ ^ #sqlite3 ].
^ 'sqlite3'
So, sqlite3.
> Phil
>
>
> On Sat, Sep 30, 2017 at 1:28 PM, Herby VojÄÃk <herby(a)mailbox.sk
> <mailto:herby@mailbox.sk>> wrote:
>
> phil(a)highoctane.be <mailto:phil@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 <herby(a)mailbox.sk
> <mailto:herby@mailbox.sk>
> <mailto:herby@mailbox.sk <mailto:herby@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
>
>
>
>
>
>
>
Sept. 30, 2017
Re: [Pharo-users] How to make pharo find sqlite?
by phil@highoctane.be
Also, did you try with this VM:
http://get.pharo.org/vmTLatest60
Phil
On Sat, Sep 30, 2017 at 1:28 PM, Herby VojÄÃk <herby(a)mailbox.sk> wrote:
> phil(a)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 <herby(a)mailbox.sk
>> <mailto:herby@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>
>> 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>
>> 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
>>
>>
>>
>>
>
>
>
Sept. 30, 2017
Re: [Pharo-users] How to make pharo find sqlite?
by phil@highoctane.be
Is https://pharo.fogbugz.com/f/cases/19990 showing again?
What is the module being loaded ?
Phil
On Sat, Sep 30, 2017 at 1:28 PM, Herby VojÄÃk <herby(a)mailbox.sk> wrote:
> phil(a)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 <herby(a)mailbox.sk
>> <mailto:herby@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>
>> 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>
>> 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
>>
>>
>>
>>
>
>
>
Sept. 30, 2017
Re: [Pharo-users] How to set library path for UFFI on Linux?
by Dan Wilczak
Hernan -
I haven't opened an issue - how do I do it? (I'm very new to Pharo.)
About continuing the search - I only mean continuing the search of the
LD_LIBRARY_PATH directories, not the whole filesystem. Two changes would be
needed to accomplish this:
1) Athens-Cairo >> CairoLibrary would have to return a list of paths to all
the matching libraries rather than just the first one that it finds. This
part seems easy.
2) UFFI Libraries UnixDynamicLoader >> loadLibrary:flag: would have to take
the list of paths (rather than just one), check them for being 32-bit or
64-bit, and load the first correct one. I can't find any way to perform that
check in Pharo directly. How would you fork or exec the "file" command from
inside Pharo?
Dan
--
Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html
Sept. 30, 2017
Re: [Pharo-users] X11 options on Ubuntu VM / Athens rendering problems
by J.F. Rick
Hi Igor et al.,
thanks for taking a look at this. I appreciate it a lot. I've been swamped
with work et al. but I'm back. If I understand it correctly, Igor is still
fighting with drivers to make it work on his system. Let me know when you
want me to try something.
Cheers,
Jeff
On Fri, Sep 29, 2017 at 3:22 PM Igor Stasenko <siguctua(a)gmail.com> wrote:
> On 29 September 2017 at 22:05, Hilaire <hilaire(a)drgeo.eu> wrote:
>
>> libcairo2:amd64 1.15.2-0intel1 is clearly not from the official
>> repository.
>>
>> See on my ubuntu17.04:
>>
>> hilaire@PCHome:~$ dpkg -l | grep libcairo2
>> ii libcairo2:amd64 1.14.8-1 amd64 Cairo 2D vector graphics library
>> ii libcairo2:i386 1.14.8-1 i386 Cairo 2D vector graphics library
>> ii libcairo2-dev 1.14.8-1 amd64 Development files for the Cairo 2D
>> graphics library
>>
>>
>> If you can wipe it out, you may sort out.
>>
>>
> most probably it is due to my attempts to make my hybrid graphics setup
> work..
> i bought this laptop year ago and then figured out, that there are issues
> with X11 and kernel drivers
> that prevents using both video cards on board..
> and installing latest & finest didn't changed much.
>
>
>
>
> --
> Best regards,
> Igor Stasenko.
>
Sept. 30, 2017
Pharo 6.1 UDCBSQLite problem, masked behind "Error: External module not found"?
by Herby VojÄÃk
Hello!
I got the strange error first reported as "External module not found",
but after putting a few diagnostic transcript outputs to the code:
TowergameSyncTests >> setUp
Transcript cr; show: self; cr; show: 'ENTER setUp'; cr.
dao := Towergame daoForLogin: self loginToTemporaryDatabase.
session := dao glorpSession.
Transcript cr; show: 'LEAVE setUp'; cr.
TowergameSyncTests >> tearDown
Transcript cr; show: 'ENTER tearDown'; cr.
session logout.
Transcript cr; show: 'LEAVE tearDown'; cr.
I got this in an (excerpt of an) output in my Go CD agent. It runs on
32bit Ubuntu 16.04.3, uses 61+vm:
13:10:58.277 [go] Start to execute task: Plugin with ID: script-executor.
13:10:58.295 [script-executor] OS detected: 'Linux'. Is Windows? false
13:10:58.313 [script-executor] Script written into
'/var/lib/go-agent/pipelines/filmtower-srv/cffa4492-a817-41e0-bb64-72a9e5a3d890.sh'.
13:10:58.325 + cd code
13:10:58.325 + ../pharo/pharo ./filmtower.image conf/run-tests.st
13:10:58.866
13:10:58.867 TowergameServerTests
13:10:58.961 4 run, 4 passes, 0 skipped, 0 expected failures, 0
failures, 0 errors, 0 unexpected passes
13:10:58.962
13:10:58.962 TowergameSyncTests
13:10:58.962
13:10:58.962 TowergameSyncTests>>#testPlayerCanHaveDisabledDeviceSaved
13:10:58.962 ENTER setUp
13:10:58.991
13:10:58.991 ENTER tearDown
13:10:58.994
13:10:58.995 TowergameSyncTests>>#testPlayerChecksStateVersion
13:10:58.995 ENTER setUp
13:10:59.000
13:10:59.000 ENTER tearDown
13:10:59.001
13:10:59.002
TowergameSyncTests>>#testPlayerChecksStateVersionAndHasFreshlyInstalled
13:10:59.002 ENTER setUp
13:10:59.014
13:10:59.015 ENTER tearDown
13:10:59.015
13:10:59.021 TowergameSyncTests>>#testPlayerChecksStateVersionAndIsBehind
13:10:59.021 ENTER setUp
13:10:59.031 Error: External module not found
13:10:59.031 ExternalLibraryFunction(Object)>>error:
13:10:59.033 ExternalLibraryFunction(Object)>>externalCallFailed
13:10:59.034 ExternalLibraryFunction(ExternalFunction)>>invokeWithArguments:
13:10:59.034 UDBCSQLite3DatabaseExternalObject class>>finalizeResourceData:
13:10:59.035 FFICalloutAPI>>function:module:
13:10:59.035 UDBCSQLite3Library(Object)>>ffiCall:module:
13:10:59.036 UDBCSQLite3DatabaseExternalObject class>>finalizeResourceData:
13:10:59.036 FFIExternalResourceExecutor>>finalize
13:10:59.036 WeakFinalizerItem>>finalizeValues
13:10:59.059 [ each finalizeValues ] in [ :each | [ each finalizeValues
] on: Exception fork: [ :ex | ex pass ] ] in
WeakRegistry>>finalizeValues in Block: [ each finalizeValues ]
13:10:59.059 BlockClosure>>on:do:
13:10:59.079 [ Processor terminateActive ] in [ :ex |
13:10:59.079 | copy onDoCtx process handler bottom thisCtx |
13:10:59.079 onDoCtx := thisContext.
13:10:59.079 thisCtx := onDoCtx home.
13:10:59.079
13:10:59.079 "find the context on stack for which this method's is sender"
13:10:59.079 [ onDoCtx sender == thisCtx ]
13:10:59.079 whileFalse: [ onDoCtx := onDoCtx sender.
13:10:59.079 onDoCtx
13:10:59.079 ifNil: [ "Can't find our home context. seems like we're
already forked
13:10:59.079 and handling another exception in new thread. In this
case, just pass it through handler." ^ handlerAction cull: ex ] ].
13:10:59.079 bottom := [ Processor terminateActive ] asContext.
13:10:59.079 onDoCtx privSender: bottom.
13:10:59.079 handler := [ handlerAction cull: ex ] asContext.
13:10:59.080 handler privSender: thisContext sender.
13:10:59.081 (Process forContext: handler priority: Processor
activePriority)
13:10:59.081 resume.
13:10:59.081
13:10:59.081 "cut the stack of current process"
13:10:59.081 thisContext privSender: thisCtx.
13:10:59.082 nil ] in BlockClosure>>on:fork: in Block: [ Processor
terminateActive ]
13:10:59.226
13:10:59.228 [script-executor] Script completed with exit code: 1.
13:10:59.285 [go] Current job status: failed.
There are two dimensions to this:
1. It is not "External module not found" as far as I can say, as a few
tests passed, going through both setUp and tearDown. Something is wrong
when finalizers kick in. FWIW, the login I use to log in the test db,
created anew each time, because it is SQLite temp db, is:
TowergameSyncTests >> loginToTemporaryDatabase
^ Login new
database: UDBCSQLite3Platform new;
host: '';
port: '';
username: '';
password: '';
databaseName: '';
yourself
If I understood correctly, it creates db backed by temp file which gets
removed once connection closes.
Everything works fine in my dev machine (Win 10, non-headless), where
tests just pass fine.
2. Where are "LEAVE setUp" and "LEAVE tearDown" messages? They are
missing from the transcipt (again, on dev machine, in non-headless mode,
they show up in the Transcript window).
Can someone hint at what is wrong / udbcsqlite authors look at if there
isn't something incorrect in the sqlite driver / library?
I don't know what to do in this state. It seems it should just work.
(I can upload the image somewhere if you're interested).
Thanks, Herby
P.S.: I tried on 64-bit linux (Ubuntu 14.04) with
get.pharo.org/64/61+vm, and ran things that Go CD job does by hand. The
output is the same (few tests run, then finalizers crash the image).
P.P.S.: When tried again and again trying just the last line (...
run-tests.st), it consistently crashes the same way.
Sept. 30, 2017
Re: [Pharo-users] How to make pharo find sqlite?
by Herby VojÄÃk
phil(a)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 <herby(a)mailbox.sk
> <mailto:herby@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>
> 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>
> 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
>
>
>
Sept. 30, 2017
Re: [Pharo-users] Spec "bindings"
by Stephane Ducasse
Hi rob
where can I find your code because I'm really thinking that something
is missing in Spec.
I'm writing a little editor for a gameItem and I should go through and
I would like to use it
as an example of what I do not like.
In fact I would like to have all the models to work on aspect of the
domain model.
May be this is avaialbale in spec but I forgot and I forgot to
document it in the book.
Stef
On Tue, Sep 5, 2017 at 8:49 PM, Rob Rothwell <r.j.rothwell(a)gmail.com> wrote:
> Hello,
>
> I was wondering what more experienced users than myself thought of the idea
> of an explicit Spec "connection point" to a domain model object similar to
> Dolphin's "showOn:" method, like:
>
> CounterApp showOn: counter.
>
> This would perhaps trigger something like Dolphin's Presenter>>model:
> message (although I've always found the use of "model" confusing when there
> are so many "models" involved.) after the widgets had been created:
>
> ComposableModel>>initializeBindings: anObject
>
> In many cases, if your domain model uses ValueHolders as well (like Spec
> does), making a connection could just mean replacing the Spec ValueHolder
> with your domain ValueHolder so changes to the domain model would
> automatically propagate to the UI presentation without providing explicit
> code in ComposableModel>>initializePresenter.
>
> However, since I am still trying to understand and learn Spec, it's quite
> possible I am missing some key point and there are reasons not to explore
> this line of thinking!
>
> Thank you,
>
> Rob
>
Sept. 30, 2017
Re: [Pharo-users] How to set library path for UFFI on Linux?
by Hernán Morales Durand
Hi Dan
2017-09-23 13:24 GMT-03:00 Dan Wilczak <dan.g.wilczak(a)gmail.com>:
> It does search on LD_LIBRARY_PATH now, it just fails because it finds the
> 32-bit libcairo before the 64-bit one.
>
> The traceback displayed inside Pharo says "Error: External module not found"
> which is quite misleading. A minimal fix would be to just provide a better
> error message.
>
Yes, better error messages saves a lot of time.
Have you opened an issue for this?
> There is a traceback that prints to the console if you launched pharo from
> it, and it does reveal the true failure, but only to someone who knows what
> ELFCLASS32 means:
>
> ioLoadModule(//usr/lib/libcairo.so.2):
> //usr/lib/libcairo.so.2: wrong ELF class: ELFCLASS32
> Error: External module not found
>
> This shows that the information for a better error message is available.
>
> A better fix would be to skip the 32-bit lib and keep searching. This looks
> like it would be messy because CairoLibrary provides the path but
> U
> FFI has to deal with it.
You mean keep searching the whole file system?
> As far as I can see, there's no way to just check whether a library is 32-
> or 64-bit, other than trying to call something in it.
>
One can use a fork() or exec() with the "file" command in Linux based
OS, to find library type. It will answer something like:
ELF 32-bit LSB shared object, Intel80386, version 1, not stripped
or
ELF 64-bit LSB shared object, version 1, not stripped
> I'm a total Pharo novice (I wrote maybe 300 lines of Squeak code several
> years ago) but this design seems odd to me. Why is LD_LIBRARY_PATH being
> handled in Athens-Cairo rather than UFFI itself?
>
> Dan
>
>
>
>
>
>
> On Sat, Sep 23, 2017 at 4:03 AM, Esteban Lorenzano <estebanlm(a)gmail.com>
> wrote:
>>
>> hi,
>>
>> this is not a bug, UFFI cannot know where a library is (because it can be
>> anywhere).
>> but, not being a bug, this remains a problem :)
>> One solution is to search on LD_LIBRARY_PATH but this is not generalised
>> (it should) for the moment. And of course, this is a solution that works for
>> linux and not other platforms, so not perfect. Also we need to consider
>> architecture, etc. etc. etc.
>>
>> Esteban
>>
>>
>> > On 23 Sep 2017, at 09:16, Stephane Ducasse <stepharo.self(a)gmail.com>
>> > wrote:
>> >
>> > Can you open a bug entry and propose your solution?
>> >
>> > Stef
>> >
>> > On Fri, Sep 22, 2017 at 9:56 PM, Dan Wilczak <dan.g.wilczak(a)gmail.com>
>> > wrote:
>> >> That pointed me in the right direction, thanks. I've got it working
>> >> now.
>> >>
>> >> I think there's a bug there which may bite other people ---
>> >>
>> >> If you have both 32-bit and 64-bit versions of the library installed,
>> >> Unix64ModuleName can find the
>> >> 32-bit version first (depending on your LD_LIBRARY_PATH) and set that
>> >> as the
>> >> lib to use. Then when
>> >> UFFI loads it, it recognizes it as 32-bit and gives up rather than
>> >> looking
>> >> in any more directories.
>> >>
>> >> Dan
>> >>
>> >>
>> >>
>> >> --
>> >> Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html
>> >>
>> >
>>
>>
>
Sept. 30, 2017
Re: [Pharo-users] Bloc Space within a Space
by Tudor Girba
Hi,
Indeed, this was a focus since the very beginning.
However, at present time, it is not possible to do it in practice out of the box and you cannot control the cursor either. This is something we still need to add, but it is definitely a top interest to get this working.
Cheers,
Doru
> On Sep 24, 2017, at 9:33 AM, Stephane Ducasse <stepharo.self(a)gmail.com> wrote:
>
> Hi sean
>
> normally with bloc you should be able to build the expose mode on mac os X.
> with multiple little worlds showing windows inside and to control all
> the events.
> It was the goal of alain now I do not know but it should
> Stef
>
> BlUniverse
>
> I am the lowest level in Bloc.
> My responsibility is to manage the low-level services such as managing
> windows, event queue and the drawing synchronization.
>
> My main responsibility is to manage and to keep in sync the opened Spaces.
>
> I am the interface used to create/delete window.
> To achieve that, i use the notion of Host (see: BlHost).
>
> Users can choose a preferable host. In order to do that a universe
> must be stopped first.
> Example:
>
> universe stop.
> universe preferableHost: MyHost new.
> universe start.
>
> BLSpaceManager
>
> I am a Universe space manager.
>
> I contain Bloc spaces, can add or remove them. I am also responsible
> for sending pulses(tick) messages to spaces I know.
>
> I am used by Universe in order to provide support of multiple spaces
> within the Universe.
>
> - addSpace: add a space
> - removeSpace: remove a given space
> - clear close all spaces
> - pulse send pulse message to all spaces
>
> One simple example is simply gorgeous.
>
> Internal Representation and Key Implementation Points.
>
> Instance Variables
> spaces: <Object>
>
>
> Implementation Points
>
>
>
> On Sun, Sep 24, 2017 at 3:49 AM, Sean P. DeNigris <sean(a)clipperadams.com> wrote:
>> Pharo Smalltalk Users mailing list wrote
>>>> But how to drive it? e.g. simulate events
>>>
>>> ok, so we agree here. Bloc is done in that perspective.
>>> For now, you have to implement your own BlocSpace with an adequate
>>> #processEvents method,
>>> your can also implement your own main loop manager (polymorphic with
>>> BlMainLoopManager).
>>
>> Given the flurry of Bloc development, are we able (or any closer) today to
>> simulate a Bloc world/space/whatever-the-lingo-is, taking full control over
>> the hand, events, etc? For years I've dreamed of being able to mock/stub out
>> all the dependencies and have full control over a world within a world.
>> There seemed to be agreement in principle, but it always seemed "just around
>> the bend". I loaded Bloc in latest Pharo to play around, but am not quite
>> sure if this is yet possible.
>>
>> Thanks!
>>
>>
>>
>> -----
>> Cheers,
>> Sean
>> --
>> Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html
>>
>
--
www.tudorgirba.com
www.feenk.com
âThe smaller and more pervasive the hardware becomes, the more physical the software gets."
Sept. 29, 2017