pharo 5 segfault (stack size?) [FreeBSD]

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
12 messages Options
Reply | Threaded
Open this post in threaded view
|

pharo 5 segfault (stack size?) [FreeBSD]

Petr Fischer
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...

Thanks! pf

Reply | Threaded
Open this post in threaded view
|

Re: pharo 5 segfault (stack size?) [FreeBSD]

Max Leske
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 <[hidden email]> 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...
>
> Thanks! pf
>


Reply | Threaded
Open this post in threaded view
|

Re: pharo 5 segfault (stack size?) [FreeBSD]

EstebanLM
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 <[hidden email]> 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 <[hidden email]> 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...
>>
>> Thanks! pf
>>
>
>


Reply | Threaded
Open this post in threaded view
|

Re: pharo 5 segfault (stack size?) [FreeBSD]

Petr Fischer
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 <[hidden email]> 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 <[hidden email]> 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 <[hidden email]> 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...
> >>
> >> Thanks! pf
> >>
> >
> >
>
>

Reply | Threaded
Open this post in threaded view
|

Re: pharo 5 segfault (stack size?) [FreeBSD]

Ben Coman
Try 50760 from...
http://files.pharo.org/image/50/

cheers -ben

On Sat, Jun 18, 2016 at 12:49 AM, Petr Fischer <[hidden email]> 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 <[hidden email]> 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 <[hidden email]> 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 <[hidden email]> 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...
>> >>
>> >> Thanks! pf
>> >>
>> >
>> >
>>
>>
>

Reply | Threaded
Open this post in threaded view
|

Re: pharo 5 segfault (stack size?) [FreeBSD]

Petr Fischer
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 <[hidden email]> 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 <[hidden email]> 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 <[hidden email]> 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 <[hidden email]> 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...
> >> >>
> >> >> Thanks! pf
> >> >>
> >> >
> >> >
> >>
> >>
> >
>

Reply | Threaded
Open this post in threaded view
|

Re: pharo 5 segfault (stack size?) [FreeBSD]

Ben Coman
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 <[hidden email]> 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 <[hidden email]> 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 <[hidden email]> 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 <[hidden email]> 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 <[hidden email]> 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...
> >> >>
> >> >> Thanks! pf
> >> >>
> >> >
> >> >
> >>
> >>
> >
>


Reply | Threaded
Open this post in threaded view
|

Re: pharo 5 segfault (stack size?) [FreeBSD]

Petr Fischer
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) {

I need to learn a little, how to play this "core C" game in gdb...
What next?

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.

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 <[hidden email]> 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 <[hidden email]>
> > 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 <[hidden email]> 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 <[hidden email]> 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 <[hidden email]>
> > 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...
> > > >> >>
> > > >> >> Thanks! pf
> > > >> >>
> > > >> >
> > > >> >
> > > >>
> > > >>
> > > >
> > >
> >
> >

Reply | Threaded
Open this post in threaded view
|

Re: pharo 5 segfault (stack size?) [FreeBSD]

Ben Coman
In reply to this post by Max Leske
On Fri, Jun 17, 2016 at 8:04 PM, Max Leske <[hidden email]> 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
>

Petr,  Based on Max's suggestion, have you tried turning FreeType off?
   World > System > Settings > Apperance > Use Free Type.
IIUC this will fall back to using built-in Strike Fonts [1], and maybe
just bypass the issue??

[1] http://pharo.gemtalksystems.com/book/LanguageAndLibraries/fonts_in_pharo/strike_fonts/

P.S. Just curious, in the philosophy of trimming down the Pharo Image
size, are Strike Fonts a candidate for removal.  It seems like having
an in-Image fall back is potentially useful when porting to new
platforms.

cheers -ben


>> On 17 Jun 2016, at 13:26, Petr Fischer <[hidden email]> 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...
>>
>> Thanks! pf
>>
>
>

Reply | Threaded
Open this post in threaded view
|

Re: pharo 5 segfault (stack size?) [FreeBSD]

Ben Coman
In reply to this post by Petr Fischer
On Sun, Jun 26, 2016 at 8:37 PM, Petr Fischer <[hidden email]> 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 <[hidden email]> 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 <[hidden email]>
>> > 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 <[hidden email]> 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 <[hidden email]> 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 <[hidden email]>
>> > 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...

Reply | Threaded
Open this post in threaded view
|

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

Eliot Miranda-2
Hi Ben,

On Sun, Jun 26, 2016 at 6:44 AM, Ben Coman <[hidden email]> wrote:

On Sun, Jun 26, 2016 at 8:37 PM, Petr Fischer <[hidden email]> 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 <[hidden email]> 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 <[hidden email]>
>> > 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 <[hidden email]> 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 <[hidden email]> 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 <[hidden email]>
>> > 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
Reply | Threaded
Open this post in threaded view
|

Re: pharo 5 segfault (stack size?) [FreeBSD]

Petr Fischer
In reply to this post by Ben Coman
> On Fri, Jun 17, 2016 at 8:04 PM, Max Leske <[hidden email]> 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
> >
>
> Petr,  Based on Max's suggestion, have you tried turning FreeType off?
>    World > System > Settings > Apperance > Use Free Type.
> IIUC this will fall back to using built-in Strike Fonts [1], and maybe
> just bypass the issue??

With FreeType off - still segfaulting. I will move this topic (+ how to debug this segfaults) to the vm mailinglist.

Thanks!


>
> [1] http://pharo.gemtalksystems.com/book/LanguageAndLibraries/fonts_in_pharo/strike_fonts/
>
> P.S. Just curious, in the philosophy of trimming down the Pharo Image
> size, are Strike Fonts a candidate for removal.  It seems like having
> an in-Image fall back is potentially useful when porting to new
> platforms.
>
> cheers -ben
>
>
> >> On 17 Jun 2016, at 13:26, Petr Fischer <[hidden email]> 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...
> >>
> >> Thanks! pf
> >>
> >
> >
>