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

Nicolas Cellier nicolas.cellier.aka.nice at gmail.com
Mon Mar 16 15:55:51 UTC 2020


Hmm,
the "bad" commit just replace int by sqInt which are equivalent on 32bits
VM, I do not see what could go wrong on this side...
It also include sqMemoryAccess.h, could it be that some macro in this file
override an existing one?
Is there any warning related in the LOG file?

In such case, what we can do is to compiled -Wall and diff the warning LOG
produced by the two versions (good and bad).


Le lun. 16 mars 2020 à 10:35, Bruce O'Neel <bruce.oneel at pckswarms.ch> a
écrit :

>
> HI,
>
> If one wants to run this version you can download it from here.
>
>
>
> http://www.pckswarms.ch/arm/squeak.cog.spur_linux32ARMv6_20200106170845-all.tar.bz2
>
> Do not that the normal rules apply about downloading and running random
> programs off the internet.
>
>  % shasum -a 256 squeak.cog.spur_linux32ARMv6_20200106170845-all.tar.bz2
>
> f3408bc075754a98b5656d7ccde3f3cad29d481940c4ec55ba80d721b0b940fa
> squeak.cog.spur_linux32ARMv6_20200106170845-all.tar.bz2
>
>
> cheers
>
> bruce
>
> *16 March 2020 09:55 "Bruce O'Neel" <bruce.oneel at pckswarms.ch
> <bruce.oneel at pckswarms.ch>> wrote:*
>
>
> Hi,
>
> So since I can seem to build things on my PI, I spent last evening running
> git bisects.  What that came up with was below.  The first bad commit does
> seem like somewhere things could go bad with 32 vs 64 bit, and, possibly
> unaligned access?  Our main test case are the x86 and the x86-64 machines
> which are famous for doing unaligned access with few complaints.
>
> Now this
> http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.faqs/ka15414.html&_ga=2.65157998.1175841526.1584348406-1352071188.1515062694 claims
> that as of ARMv6 unaligned access is allowed and done in hardware.  One
> wonders if it is completely correctly done, and, this isn't something in
> Debian/Raspberian, or the hardware, or ????
>
> Of course, that might be a rabbit hole as well.
>
> cheers
>
> bruce
>
> /work/share/tmp/opensmalltalk-vm$ git bisect good
>
> f5ec3f4fa2b61af86bbc2b82a1dabe5bfafe8f4e is the first bad commit
>
> commit f5ec3f4fa2b61af86bbc2b82a1dabe5bfafe8f4e
>
> Author: smalltalking <leves at caesar.elte.hu>
>
> Date:   Wed Jan 8 10:55:18 2020 +0000
>
>
>     Fix type inconsistencies (int vs sqInt) (#464)
>
>
>
>     * Fix type inconsistencies (int vs sqInt)
>
>
>
>     Found by trying to compile with LTO enabled.
>
>     The VM compiles with the updated types on linux with or without LTO
> enabled (the LTO VM is not functional).
>
>     Didn't test with the OSes but changed the declarations in their files.
>
>     Affected functions:
>
>     - primInIOProcessEventsFlagAddress
>
>     - ioGatherEntropy
>
>     - GetAttributeString
>
>     - primitivePluginBrowserReady
>
>     - primitivePluginDestroyRequest
>
>     - primitivePluginRequestFileHandle
>
>     - primitivePluginRequestState
>
>     - primitivePluginRequestURL
>
>     - primitivePluginRequestURLStream
>
>     - primitivePluginPostURL
>
>
>
>     * Include sqMemoryAccess.h to have sqInt defined
>
>
> :040000 040000 1488890eae3ef3147710b08b2cdf07b98e57b763
> d6f7b25507a86fe9c5e618ccd03088598d9bc852 M platforms
>
> :040000 040000 97c8f9d7a00839fa93d472a8840abec8c42ff45c
> 1e678e1e08e5badd258cce1a4a20d5c6243b39a8 M src
>
>
>
>
> Last good commit
>
>
> commit 0b4551db2e5c00f67502250d0336757ed12ab096
>
> Merge: f219b7218 afbf9e015
>
> Author: Fabio Niephaus <code at fniephaus.com>
>
> Date:   Mon Jan 6 17:08:45 2020 +0100
>
>
>     Merge pull request #466 from OpenSmalltalk/dtl/build-script-patch [ci
> skip]
>
>
>
>     Fix image MC loading glitch in image build scripts when checking pack…
>
>
>
>
>
> With the last good commit I have a working ARM COG vm.
>
> Image
> -----
> /work/share/tmp/Squeak5.3-19431-32bit.image
> Squeak5.3
> latest update: #19431
> Current Change Set: HomeProject
> Image format 6521 (32 bit)
>
> Virtual Machine
> ---------------
> /work/share/tmp/opensmalltalk-vm/build.linux32ARMv6/
> squeak.cog.spur/build/squeak
> Open Smalltalk Cog[Spur] VM [CoInterpreterPrimitives
> VMMaker.oscog-eem.2597]
> Unix built on Mar 16 2020 09:27:25 Compiler: 6.3.0 20170516
> platform sources revision VM: 202001061608
> :/work/share/tmp/opensmalltalk-vm Date: Mon Jan 6 17:08:45 2020 CommitHash:
> 0b4551db2 Plugins: 202001061608 :/work/share/tmp/opensmalltalk-vm
> CoInterpreter VMMaker.oscog-eem.2597 uuid:
> 7a69be2e-f0d0-4d41-9854-65432d621fed Mar 16 2020
> StackToRegisterMappingCogit VMMaker.oscog-eem.2597 uuid:
> 7a69be2e-f0d0-4d41-9854-65432d621fed Mar 16 2020
>
> To Build A Similar Virtual Machine
> ----------------------------------
> Visit https://github.com/OpenSmalltalk/opensmalltalk-vm; follow the
> "Clone or download" instructions, then read the top-level README.md
> and HowToBuild files in the top-level build directory for your
> platform(s), build.macos64x64/HowToBuild, build.win32x86/HowToBuild, etc.
>
>
> Image
> -----
> /work/share/tmp/Squeak6.0alpha-19511-32bit.image
> Squeak6.0alpha
> latest update: #19511
> Current Change Set: HomeProject
> Image format 6521 (32 bit)
>
> Virtual Machine
> ---------------
> /work/share/tmp/opensmalltalk-vm/build.linux32ARMv6/
> squeak.cog.spur/build/squeak
> Open Smalltalk Cog[Spur] VM [CoInterpreterPrimitives
> VMMaker.oscog-eem.2597]
> Unix built on Mar 16 2020 09:27:25 Compiler: 6.3.0 20170516
> platform sources revision VM: 202001061608
> :/work/share/tmp/opensmalltalk-vm Date: Mon Jan 6 17:08:45 2020 CommitHash:
> 0b4551db2 Plugins: 202001061608 :/work/share/tmp/opensmalltalk-vm
> CoInterpreter VMMaker.oscog-eem.2597 uuid:
> 7a69be2e-f0d0-4d41-9854-65432d621fed Mar 16 2020
> StackToRegisterMappingCogit VMMaker.oscog-eem.2597 uuid:
> 7a69be2e-f0d0-4d41-9854-65432d621fed Mar 16 2020
>
> To Build A Similar Virtual Machine
> ----------------------------------
> Visit https://github.com/OpenSmalltalk/opensmalltalk-vm; follow the
> "Clone or download" instructions, then read the top-level README.md
> and HowToBuild files in the top-level build directory for your
> platform(s), build.macos64x64/HowToBuild, build.win32x86/HowToBuild, etc.
>
> Tiny Benchmarks
> ---------------
> 320,000,000 bytecodes/sec; 19,000,000 sends/sec
>
>
> *15 March 2020 23:39 tim Rowledge <tim at rowledge.org <tim at rowledge.org>>
> wrote:*
>
>
>
> > On 2020-03-15, at 1:11 PM, Bruce O'Neel wrote:
> >
> >
> > Hi,
> >
> > It looks like
> >
> > sudo apt-get install libgl1-mesa-dev
> >
> > replaces
> >
> > sudo apt-get install libgl-mesa-dev
>
> Looks like it; at least it built ok. Eventually we'll see if it works!
>
>
> tim
> --
> tim Rowledge; tim at rowledge.org; http://www.rowledge.org/tim
> Oxymorons: Act naturally
>
>
>
>
>
> <>
>
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20200316/61c17cd5/attachment.html>


More information about the Squeak-dev mailing list