[squeak-dev] Squeak5.3 linux ARMv6 segfaults on startup

tim Rowledge tim at rowledge.org
Wed Mar 11 18:20:53 UTC 2020

Are we not able to connect up a Pi to be used for these auto-builds? Or does it require machines at 'their' location (whoever 'they' is?)

> On 2020-03-11, at 11:08 AM, Nicolas Cellier <nicolas.cellier.aka.nice at gmail.com> wrote:
> My bad, it sounds OK for armV8, not so for v6...
> https://docs.travis-ci.com/user/multi-cpu-architectures/
> Le mer. 11 mars 2020 à 11:43, Nicolas Cellier <nicolas.cellier.aka.nice at gmail.com> a écrit :
> I'm not uptodate, it seems that Travis has more to offer:
> https://blog.travis-ci.com/2019-10-07-multi-cpu-architecture-support
> Le mer. 11 mars 2020 à 11:38, Nicolas Cellier <nicolas.cellier.aka.nice at gmail.com> a écrit :
> From extracts of the travis log https://travis-ci.org/OpenSmalltalk/opensmalltalk-vm/jobs/657397531, I see that:
> - we compile with gcc
> gcc -std=gnu99 -g -O2 -DNDEBUG -DDEBUGVM=0 -DI_REALLY_DONT_CARE_HOW_UNSAFE_THIS_IS -DUSE_MIDI_ALSA -DCOGMTVM=0 -Wall -pthread -DLSB_FIRST=1 -march=armv6 -mfpu=vfp -mfloat-abi=hard -Wno-missing-braces -Wno-unknown-pragmas -Wno-unused-value -Wno-unused-label -Wno-unused-function -Wno-unused-variable -Wno-unused-but-set-variable  -DHAVE_CONFIG_H  -DSQUEAK_BUILTIN_PLUGIN snip... 
> - it is a rather old version
> $ gcc --version
> gcc (Ubuntu 4.8.4-2ubuntu1~14.04.3) 4.8.4
> - we do not seem to run tests for arm (would require setting up emulation on the CI for example qemu like https://www.tomaz.me/2013/12/02/running-travis-ci-tests-on-arm.html)
> Le mer. 11 mars 2020 à 08:39, Nicolas Cellier <nicolas.cellier.aka.nice at gmail.com> a écrit :
> Hi,
> I have simulated the VM (nightly, it's too long),
> | cos |
> cos := CogVMSimulator newWithOptions: #(Cogit StackToRegisterMappingCogit
> ObjectMemory Spur32BitCoMemoryManager
> ISA ARMv5 ).
> cos desiredNumStackPages: 8.
> cos openOn: 'Squeak5.3-19431-32bit.image'.
> cos openAsMorph; run
> It starts normally thru simulator (I don't attach the screen snapshot, but it takes more than 2G byteCodes/241k sends to obtain the preference wizard)
> Could the crash be related to the cross-compiler?
> Is it gcc or clang currently for ARM builds?
> On macos, -fsanitize=undefined notices a few unaligned memory access...
> Could it be a clue?
> Le lun. 9 mars 2020 à 02:17, tim Rowledge <tim at rowledge.org> a écrit :
> > On 2020-03-08, at 12:12 PM, tim Rowledge <tim at rowledge.org> wrote:
> > 
> > From the stack etc it looks as if something within SmalltalkImage>setGCParameters (so immediately after the return from snapshot primitive) calls vsprintf() and has a little conniption. Not clear whether the issue is in the vmParameterAt: or the vmParameterAt:put: yet.
> OK, no particular helpful news from looking at the VM generated code; the vmParameterAt:put: case would seem to be using the code in src/vm/cointerp.c ll: 55603-8 where I see no plausible connection to vsprintf(). Sigh.
> tim
> --
> tim Rowledge; tim at rowledge.org; http://www.rowledge.org/tim
> Don't document the program; program the document.

tim Rowledge; tim at rowledge.org; http://www.rowledge.org/tim
Useful random insult:- A one-bit brain with a parity error.

More information about the Squeak-dev mailing list