[racket-dev] Segfault on HEAD?

From: Asumu Takikawa (asumu at ccs.neu.edu)
Date: Wed Feb 13 12:14:50 EST 2013

On 2013-02-13 10:36:09 -0600, Robby Findler wrote:
>    I don't know what would help, but one thing that usually does is a stack
>    trace. You can probably get it from a coredump file or by something like
>    this:
>    $ gdb `which racket`
>       [... stuff ...]
>    (gdb) set args -l setup
>    (gdb) run

Here's a stack trace from git HEAD in case it helps:

raco setup: 3 making: stepper
SIGSEGV SI_KERNEL SI_CODE 128 fault on addr (nil) sent by kernel

Program received signal SIGABRT, Aborted.
[Switching to Thread 0x7fffe3a93700 (LWP 23633)]
0x00007ffff71d6475 in raise () from /lib/x86_64-linux-gnu/libc.so.6
(gdb) bt
#0  0x00007ffff71d6475 in raise () from /lib/x86_64-linux-gnu/libc.so.6
#1  0x00007ffff71d96f0 in abort () from /lib/x86_64-linux-gnu/libc.so.6
#2  0x0000000000675199 in fault_handler (sn=<optimized out>, si=0xa2cb30, ctx=<optimized out>) at ../../../racket/gc2/sighand.c:99
#3  <signal handler called>
#4  0x000000000051cd24 in reverse_prim (argc=argc at entry=1, argv=argv at entry=0x7fffe3a70150) at ../../../racket/gc2/../src/list.c:1340
#5  0x000000000051e7a5 in scheme_reverse (l=<optimized out>) at ../../../racket/gc2/../src/list.c:1312
#6  0x00000000005bb37d in write_modules_to_strings (l=0x1, m=0x7fffe3a70150, prefix=0x7fffd6345488) at ../../../racket/gc2/../src/print.c:1858
#7  0x00000000005bb3a9 in write_modules_to_strings (l=0x1, m=0x7fffe3a70150, prefix=0x7fffd6345488) at ../../../racket/gc2/../src/print.c:1860
#8  0x00000000005c17d8 in print (obj=0x7fffd63479a0, notdisplay=notdisplay at entry=1, compact=compact at entry=0, ht=0x0, mt=mt at entry=0x0, 
    pp=pp at entry=0x7fffe3a706a0) at ../../../racket/gc2/../src/print.c:3200
#9  0x00000000005c26ad in print_to_string (obj=0x7fffd63479a0, len=len at entry=0x7fffe3a708e8, write=write at entry=1, port=0x7fffd6360920, 
    maxl=maxl at entry=-1, qq_depth=0x0, _release_to_quick=_release_to_quick at entry=0x7fffe3a708d4) at ../../../racket/gc2/../src/print.c:1151
#10 0x00000000005c2da7 in print_to_port (name=name at entry=0x6c054e "write", obj=0x7fffd63479a0, port=0x7fffd6360920, 
    notdisplay=notdisplay at entry=1, maxl=maxl at entry=-1, qq_depth=qq_depth at entry=0x0) at ../../../racket/gc2/../src/print.c:1187
#11 0x00000000005c2e8f in scheme_internal_write (obj=<optimized out>, port=<optimized out>) at ../../../racket/gc2/../src/print.c:476
#12 0x00000000005b6482 in display_write (name=0x6c054e "write", argc=2, argv=0x7fffb9817088, escape=0)
    at ../../../racket/gc2/../src/portfun.c:3996
#13 0x00007ffff7e54cef in ?? ()
#14 0x00007fffb9816fd8 in ?? ()
#15 0x00007fffd3235dcd in ?? ()
#16 0x00007fffd3237c79 in ?? ()
#17 0x00007fffe3a70e10 in ?? ()
#18 0x00007fffb9817190 in ?? ()
#19 0x00007fffb98170c8 in ?? ()
#20 0x000000000000008d in ?? ()
#21 0xfffffffffffff440 in ?? ()
#22 0xffffffffffffffff in ?? ()
#23 0x00007fffb98170c8 in ?? ()
#24 0x000000000000008a in ?? ()
#25 0x0000000000460b74 in scheme_do_eval (obj=0x0, num_rands=num_rands at entry=2, rands=0x7fffe3a70dd0, get_value=get_value at entry=-1)
    at ../../../racket/gc2/../src/eval.c:2924
#26 0x0000000000482691 in scheme_finish_apply_for_prompt (prompt=0x0, _prompt_tag=<optimized out>, proc=0x7fffd7862140, argc=argc at entry=2, 
    argv=0x8) at ../../../racket/gc2/../src/fun.c:6084
#27 0x00000000004828b6 in scheme_apply_for_prompt (prompt=<optimized out>, prompt_tag=<optimized out>, proc=0x7fffd7862140, argc=argc at entry=2, 
    argv=<optimized out>) at ../../../racket/gc2/../src/fun.c:6163
#28 0x0000000000488385 in call_with_prompt (in_argc=<optimized out>, in_argv=0x7fffb98170c8) at ../../../racket/gc2/../src/fun.c:6662
#29 0x00007ffff7ff2102 in ?? ()
#30 0x00007ffff7161178 in ?? ()
#31 0x00007fffe3a92b48 in ?? ()
#32 0x00007fffe3a70fb0 in ?? ()
#33 0x00000000004ae692 in scheme_on_demand_generate_lambda (argv_delta=<optimized out>, argv=<optimized out>, argc=<optimized out>, 
    nc=<optimized out>) at ../../../racket/gc2/../src/jit.c:3641
#34 scheme_on_demand_with_args (in_argv=<optimized out>, argv=0x7fffb98171a0, argv_delta=<optimized out>) at ../../../racket/gc2/../src/jit.c:3653
#35 0x00007fffd32373e4 in ?? ()
#36 0x00007fffe3a70ee0 in ?? ()
#37 0x00007fffe3a92b48 in ?? ()
#38 0x00007fffe3a710b0 in ?? ()
#39 0x00007fffb9817190 in ?? ()
#40 0x0000000000000087 in ?? ()
#41 0x00007fffb98171c0 in ?? ()
#42 0x00007fffd6356770 in ?? ()
#43 0x00007fffb98171a0 in ?? ()
#44 0x00007fffe3a71010 in ?? ()
#45 0x00007ffff6dc8049 in ?? ()
#46 0x00007fffb98171a0 in ?? ()
#47 0x00007fffd3239889 in ?? ()
#48 0x00007fffe3a70fa8 in ?? ()
#49 0x00007fffe3a92b48 in ?? ()
#50 0xfffffffffffff440 in ?? ()
#51 0x00007fffb98171b0 in ?? ()
#52 0x0000000000000086 in ?? ()
#53 0xfffffffffffff440 in ?? ()
#54 0xffffffffffffffff in ?? ()
#55 0x00007fffb98171c0 in ?? ()
#56 0x0000000000000086 in ?? ()
#57 0x0000000000460b74 in scheme_do_eval (obj=0x0, num_rands=num_rands at entry=0, rands=0x0, get_value=get_value at entry=-1)
    at ../../../racket/gc2/../src/eval.c:2924
#58 0x0000000000463183 in _scheme_apply_multi_from_native (rator=<optimized out>, argc=0, argv=<optimized out>)
    at ../../../racket/gc2/../src/schnapp.inc:87
#59 0x00007ffff7ff2044 in ?? ()
#60 0x00007fffe3a71168 in ?? ()
#61 0x00007fffe3a92b48 in ?? ()
#62 0x0000000000000001 in ?? ()
#63 0xffffffffffffffff in ?? ()
#64 0x0000000000000000 in ?? ()

Posted on the dev mailing list.