Since the build log says "illegal instruction", what instruction is it trying to execute? Since there's so much variation in supported ARM instructions, maybe Racket's JIT is trying to use one not supported by the machine. Or maybe execution has just jumped to a bad place, such as the middle of an instruction.
In gdb, you should be able to use `disassemble` in the vicinity of the address where Racket crashes (like 0xb6ea3254), but you may need to use set arm fallback-mode thumb or (less likely) set arm fallback-mode arm to get sensible results. If execution appears to have jumped to a bad place, it may be worth changing line 149 of "jit.h" to comment out `#define NEED_LONG_JUMPS`. If that changes anything, then maybe the JIT is not switching property between short- and long-jump mode. Another possible reason from jumping to a bad place is mismanaging ARM vs. Thumb function pointers. Disabling Thumb support by changing "racket/src/lightning/arm/asm.h" could be a way to check that. At Wed, 15 Jan 2020 13:43:19 -0400, David Bremner wrote: > > > I get segfault from racketcgc trying to run compile-startup.rkt > > https://buildd.debian.org/status/fetch.php?pkg=racket&arch=armhf&ver=7.5%2Bdfsg > 2-1&stamp=1577755807&raw=0 > > I can duplicate the segfault in GDB, but the backtrace looks corrupted > at first glance [1]. > > I'm happy to gather more data if someone has an idea what to try. > > We're tracking this in Debian at [0] > > [0]: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=948789 > [1]: output from gdb > > #0 0xb6ea3254 in malloc_stats () from /lib/arm-linux-gnueabihf/libc.so.6 > #1 <function called from gdb> > #2 hamt_make2 (kind=-1368709120, shift=747399, > shift@entry=<error reading variable: DWARF-2 expression error: Loop > detected (257).>, code1=3204429948, > key1=0x6, val1=val1@entry=0xb5d15ae8, code2=code2@entry=3204429948, > key2=key2@entry=0xb6916410, > val2=val2@entry=0xa) at ./src/racket/src/hash.c:2594 > #3 0x0044c722 in hamt_make2 (kind=<optimized out>, > shift=<error reading variable: DWARF-2 expression error: Loop detected > (257).>, code1=<optimized out>, > key1=<optimized out>, val1=val1@entry=0xb5d15ae8, > code2=code2@entry=3204429948, key2=key2@entry=0xb6916410, > val2=val2@entry=0xa) at ./src/racket/src/hash.c:2599 > #4 0x0044c722 in hamt_make2 (kind=<optimized out>, > shift=<error reading variable: DWARF-2 expression error: Loop detected > (257).>, code1=<optimized out>, > key1=<optimized out>, val1=val1@entry=0xb5d15ae8, > code2=code2@entry=3204429948, key2=key2@entry=0xb6916410, > val2=val2@entry=0xa) at ./src/racket/src/hash.c:2599 > #5 0x0044c722 in hamt_make2 (kind=<optimized out>, > shift=<error reading variable: DWARF-2 expression error: Loop detected > (257).>, code1=<optimized out>, > key1=<optimized out>, val1=val1@entry=0xb5d15ae8, > code2=code2@entry=3204429948, key2=key2@entry=0xb6916410, > val2=val2@entry=0xa) at ./src/racket/src/hash.c:2599 > #6 0x0044c722 in hamt_make2 (kind=<optimized out>, > shift=<error reading variable: DWARF-2 expression error: Loop detected > (257).>, code1=<optimized out>, > key1=<optimized out>, val1=val1@entry=0xb5d15ae8, > code2=code2@entry=3204429948, key2=key2@entry=0xb6916410, > val2=val2@entry=0xa) at ./src/racket/src/hash.c:2599 > #7 0x0044c722 in hamt_make2 (kind=<optimized out>, > shift=<error reading variable: DWARF-2 expression error: Loop detected > (257).>, code1=<optimized out>, > key1=<optimized out>, val1=val1@entry=0xb5d15ae8, > code2=code2@entry=3204429948, key2=key2@entry=0xb6916410, > val2=val2@entry=0xa) at ./src/racket/src/hash.c:2599 > #8 0x0044c722 in hamt_make2 (kind=<optimized out>, > shift=<error reading variable: DWARF-2 expression error: Loop detected > (257).>, code1=<optimized out>, > key1=<optimized out>, val1=val1@entry=0xb5d15ae8, > code2=code2@entry=3204429948, key2=key2@entry=0xb6916410, > val2=val2@entry=0xa) at ./src/racket/src/hash.c:2599 > #9 0x0044c722 in hamt_make2 (kind=<optimized out>, > shift=<error reading variable: DWARF-2 expression error: Loop detected > (257).>, code1=<optimized out>, > key1=<optimized out>, val1=val1@entry=0xb5d15ae8, > code2=code2@entry=3204429948, key2=key2@entry=0xb6916410, > val2=val2@entry=0xa) at ./src/racket/src/hash.c:2599 > #10 0x0044c722 in hamt_make2 (kind=<optimized out>, > shift=<error reading variable: DWARF-2 expression error: Loop detected > (257).>, code1=<optimized out>, > key1=<optimized out>, val1=val1@entry=0xb5d15ae8, > code2=code2@entry=3204429948, key2=key2@entry=0xb6916410, > val2=val2@entry=0xa) at ./src/racket/src/hash.c:2599 > #11 0x0044c722 in hamt_make2 (kind=<optimized out>, > shift=<error reading variable: DWARF-2 expression error: Loop detected > (257).>, code1=<optimized out>, > key1=<optimized out>, val1=val1@entry=0xb5d15ae8, > code2=code2@entry=3204429948, key2=key2@entry=0xb6916410, > val2=val2@entry=0xa) at ./src/racket/src/hash.c:2599 > > -- > You received this message because you are subscribed to the Google Groups > "Racket Developers" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to racket-dev+unsubscr...@googlegroups.com. > To view this discussion on the web visit > https://groups.google.com/d/msgid/racket-dev/87blr4zkco.fsf%40tethera.net. -- You received this message because you are subscribed to the Google Groups "Racket Developers" group. To unsubscribe from this group and stop receiving emails from it, send an email to racket-dev+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/racket-dev/20200115194306.D7E4F6501A2%40mail-svr1.cs.utah.edu.