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

Bruce O'Neel bruce.oneel at pckswarms.ch
Mon Mar 16 08:55:24 UTC 2020


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


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 Mplatforms  


:040000 040000 97c8f9d7a00839fa93d472a8840abec8c42ff45c 1e678e1e08e5badd258cce1a4a20d5c6243b39a8 Msrc  


  


  


  


Last good commit  


  


commit 0b4551db2e5c00f67502250d0336757ed12ab096  


Merge: f219b7218 afbf9e015  


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](http://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](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](http://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](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  
  
  

> > 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/09c69af2/attachment.html>


More information about the Squeak-dev mailing list