On Sun, Jun 26, 2016 at 8:37 PM, Petr Fischer <petr.fischer@me.com> wrote:
Yes there is "PharoVMBuilder buildFreeBSD", but some "cog*" errors occurs... So I am still building with "PharoVMSpur32Builder buildUnix32" under Linux (CentOS6) and then move compiled vm to my FreeBSD box with Linux compatibility layer.
I compiled DEBUG vm version according to your advice and this is gdb output:
Program received signal SIGSEGV, Segmentation fault. 0x080aefc1 in scavengeReferentsOf (referrer=684415032) at /home/pf/pharo/pharo-vm-debug/src/vm/gcc3x-cointerp.c:39014 39014 if (((longAt(referent)) & ((classIndexMask()) - (isForwardedObjectClassIndexPun()))) == 0) {
The C files are generated from VMMaker and the line numbers change a lot. If you look upwards in the C file you should see a generated comment that links to the Smalltalk source it was generated from.
I need to learn a little, how to play this "core C" game in gdb... What next?
I recently learnt a bit of using gdb on the image. I'm planning to write up something but its a few weeks off. The old post How to debug the VM? [1] by Mariano needs a bit of adaption, but got me off to a good start. If you look in VMMaker package where #printAllStacks is defined you'll see some others you can call, that just print the current Smalltalk call stack. [1] https://marianopeck.wordpress.com/2011/04/23/how-to-debug-the-vm/
A also compiled PharoS (Pharo Stack) VM, and it's 5x slower, but stable, there is no stack errors (or other crashes) like in cog spur vm.
You might also try compiling the VM from upstream sources[2], running either: * vm/build.linux32x86/squeak.cog.spur/build.debug/mvm * vm/build.linux64x64/squeak.cog.spur/build.debug/mvm Did you try the early 64-bit Pharo Image [3] suggested by Esteban in another thread ? Also, you might try Squeak 64-bit Image, since its the platform Eliot develops the VM on, so it is further advanced in 64-bit stability. Run vm/image/buildspurtrunk64image.sh. [2] https://github.com/OpenSmalltalk/vm [3] http://files.pharo.org/get-files/60/pharo-64.zip Now since you are getting down and dirty debugging this at VM level, probably good to shift this thread to [vm-dev]. http://lists.squeakfoundation.org/mailman/listinfo/vm-dev cheers -ben
pf
You could build a debug VM from here https://github.com/pharo-project/pharo-vm I also glimpsed some FreeBSD build options there you might try. cheers -ben
On Fri, Jun 24, 2016 at 12:05 PM, Petr Fischer <petr.fischer@me.com> wrote:
So... I compiled latest sources (blessed) on CentOS 6.8, fine, moved compiled binaries to FreeBSD and tried to load Seaside to the latest 50760 image. Still stack errors, log here: http://pastebin.com/raw/bf1EpWNt
When I run this on CentOS, everything is fine (loading Seaside, no stack errors), but when I run the same on FreeBSD, stack errors (segfaults) occurs.
So... There is something bad on FreeBSD side? Can I debug more?
pf
Try 50760 from... http://files.pharo.org/image/50/
cheers -ben
On Sat, Jun 18, 2016 at 12:49 AM, Petr Fischer <petr.fischer@me.com> wrote:
VM version (from https://swing.fit.cvut.cz/jenkins/job/pharo-vm-spur-swing/):
5.0 #1 Sun Jan 17 14:19:14 CET 2016 gcc 4.7.2 [Production Spur ITHB VM] CoInterpreter VMMaker.oscog-eem.1630 uuid: 2ed025ea-f400-4440-8e8b-5aa46d06c9ab Jan 17 2016 StackToRegisterMappingCogit VMMaker.oscog-eem.1630 uuid: 2ed025ea-f400-4440-8e8b-5aa46d06c9ab Jan 17 2016 https://github.com/estebanlm/pharo-vm.git Commit: 21ec004cce7d26010c18d357c805a0e1a4ffe376 Date: 2016-01-14 11:42:33 +0100 By: Esteban Lorenzano <estebanlm@gmail.com> Jenkins build #498 Linux swing-hudson-lin64 3.2.0-4-amd64 #1 SMP Debian 3.2.73-2+deb7u2 x86_64 GNU/Linux plugin path: /usr/home/pf/Work/Smalltalk/pharo5.0.centos/bin [default: /usr/home/pf/Work/Smalltalk/pharo5.0.centos/bin/]
Image version (from official 5.0 download):
[version] 5.0 #50723
pf
in fact, this is not related to FFI⦠but it should be fixedâ¦
along with the VM version, which version of Pharo are you using?
Esteban
On 17 Jun 2016, at 14:04, Max Leske <maxleske@gmail.com> wrote:
Hi Petr,
That looks like a bug with FreeType with our FFI. It should actually have been fixed but I donât know if the VM for FreeBSD is up to date. Can you post the output of âSmalltalk vm versionâ?
Cheers, Max
On 17 Jun 2016, at 13:26, Petr Fischer <petr.fischer@me.com> wrote:
Hello, I got some random segfaults (while loading Seaside) with 32 bit spur vm on FreeBSD - can someone (with low level knowledge) decode attached log? Is this some problem with stack size? Can I fix this?
Log: http://pastebin.com/raw/NpFUnjh0
There is "**StackOverflow**" lines n the log...