[Vm-dev] Re: [Pharo-dev] pharo 5 segfault (stack size?) [FreeBSD]

Ben Coman btc at openinworld.com
Mon Jun 27 17:32:31 UTC 2016


On Tue, Jun 28, 2016 at 1:04 AM, Eliot Miranda <eliot.miranda at gmail.com> wrote:
>
> Hi Ben,
>
> On Sun, Jun 26, 2016 at 6:44 AM, Ben Coman <btc at openinworld.com> wrote:
>>
>>
>> On Sun, Jun 26, 2016 at 8:37 PM, Petr Fischer <petr.fischer at 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.

Thanks for that insight to correct my bad presumption. Strange the
images that develop in my head in isolation.
cheers -ben


More information about the Vm-dev mailing list