Hi Ben,

On Sun, Jun 26, 2016 at 6:44 AM, Ben Coman <btc@openinworld.com> wrote:

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.

That's not true.�� I develop on Mac OS X using Spur and the 32-bit VM.�� I do run the 64-bit system from time to time and am currently collaborating with Bob Westergaard to move the Cadence system over to 64-bits.�� I do hope to use 64-bit Spur from day-to-day but am not there yet, not for any reasons of deficiency in 64-bits but simply because my current, large, project-laden, VMMaker image is in 32-bits and I've not changed it over yet.

��
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...



--
_,,,^..^,,,_
best,��Eliot