[Sbcl-devel] corruption warning on Arm 32 bit

16 views
Skip to first unread message

Bruce O'Neel

unread,
Jun 3, 2022, 6:13:54 AM6/3/22
to SBCL Devel
Hi,

I tried to build recent versions this morning on Arm 32 bit and it fails with:

//testing for consistency of first and second GENESIS passes                   
//header files match between first and second GENESIS -- good                  
//entering make-target-2.sh                                                    
//doing warm init - compilation phase                                          
This is SBCL 2.2.5.15-a7b603ff3-WIP, an implementation of ANSI Common Lisp.    
More information about SBCL is available at <http://www.sbcl.org/>.            
                                                                               
SBCL is free software, provided as is, with absolutely no warranty.            
It is mostly in the public domain; some portions are provided under            
BSD-style licenses.  See the CREDITS and COPYING files in the                  
distribution for more information.                                             
Initial page table:                                                            
Gen  Boxed   Cons    Raw   Code  SmMix  Mixed  LgRaw LgCode  LgMix Waste%     
Alloc        Trig   Dirty GCs Mem-age                                         
  6       0    513      0   3904      0   2715      0      0      0    0.5    29
063752     2000000    3904   0  0.0000                                         
Tot       0    513      0   3904      0   2715      0      0      0    0.5    29
063752 [5.4% of 536870912 max]                                                 
CORRUPTION WARNING in SBCL pid 14289:                                          
Memory fault at 0x91379754 (pc=0x50aa1220)
The integrity of this image is possibly compromised.
Exiting.
Welcome to LDB, a low-level debugger for the Lisp runtime environment.


The git bisect points a finger at the change about Widetags which at least is half sensible.

I guess the first question would be do any other 32 bit builds fail?  I can only test Arm 32.  Of course both ArmV8 and x86-64 work fine.

Thanks!

cheers

bruce

$ git bisect bad
a7b603ff3985aafd06486f5b7c5334436da67829 is the first bad commit
commit a7b603ff3985aafd06486f5b7c5334436da67829
Author: Douglas Katzman <do...@google.com>
Date:   Wed Jun 1 10:31:26 2022 -0400

    Assign widetags with less variability
   
    Make the FUNCTION subtypes the same for +-64-bit
    and add some unused widetags for #-sb-unicode.

src/compiler/generic/early-objdef.lisp | 191 ++++++++++++++++-----------------
src/compiler/generic/type-vops.lisp    |   5 +
src/runtime/gc-private.h               |  10 +-
3 files changed, 100 insertions(+), 106 deletions(-)


Douglas Katzman via Sbcl-devel

unread,
Jun 3, 2022, 8:46:09 AM6/3/22
to Bruce O'Neel, SBCL Devel


I guess the first question would be do any other 32 bit builds fail?  

ppc32, sparc, mips, and 32-bit x86 are all ok.  Yet another undocumented dependence on specific widetag numbers apparently.

Stas Boukarev

unread,
Jun 3, 2022, 10:57:10 AM6/3/22
to Douglas Katzman, SBCL Devel
It's here https://github.com/sbcl/sbcl/blob/master/src/compiler/arm/insts.lisp#L1226
> _______________________________________________
> Sbcl-devel mailing list
> Sbcl-...@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/sbcl-devel


_______________________________________________
Sbcl-devel mailing list
Sbcl-...@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/sbcl-devel

Douglas Katzman via Sbcl-devel

unread,
Jun 3, 2022, 12:15:08 PM6/3/22
to Stas Boukarev, SBCL Devel
Oh thanks. I'll amend my complaint to "another unenforced dependence"
Reply all
Reply to author
Forward
0 new messages