From: Burton S. <bur...@gm...> - 2012-07-07 20:34:28
|
Hello, I am working on saving test data to an executable core file using sbcl and it's working some of the time. The saving goes fine, but when I try to run the resulting core file I get a crash. Here is a log of a bit of a gdb session with a crashing core and my sbcl version is git HEAD. I'll add that the cores are large (> 1GB) and I am forking before I do save: . Any idea why this might be happening? [ ~/petri-dish ] ./test.core internal error #30 (division by zero) SC: 20, Offset: 0 0xae24f28dd5af5c4: pad1: 196069080511724913 SC: 20, Offset: 6 0x00000000: even fixnum: 0 fatal error encountered in SBCL pid 17511(tid 140737353946912): internal error too early in init, can't recover Welcome to LDB, a low-level debugger for the Lisp runtime environment. ldb> quit Really quit? [y] y [ ~/petri-dish ] gdb test.core GNU gdb (Ubuntu/Linaro 7.3-0ubuntu2) 7.3-2011.08 Copyright (C) 2011 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "x86_64-linux-gnu". For bug reporting instructions, please see: <http://bugs.launchpad.net/gdb-linaro/>... Reading symbols from /home/burton/petri-dish/test.core...done. (gdb) r Starting program: /home/burton/petri-dish/test.core [Thread debugging using libthread_db enabled] Program received signal SIGUSR1, User defined signal 1. 0x00007ffff73cc687 in kill () from /lib/x86_64-linux-gnu/libc.so.6 (gdb) up #1 0x0000000000411516 in see_if_sigaction_nodefer_works () at interrupt.c:1691 1691 kill(getpid(), SA_NODEFER_TEST_KILL_SIGNAL); (gdb) up #2 0x0000000000414460 in interrupt_init () at interrupt.c:1828 1828 see_if_sigaction_nodefer_works(); (gdb) down #1 0x0000000000411516 in see_if_sigaction_nodefer_works () at interrupt.c:1691 1691 kill(getpid(), SA_NODEFER_TEST_KILL_SIGNAL); (gdb) list 1686 { 1687 sigset_t empty; 1688 sigemptyset(&empty); 1689 thread_sigmask(SIG_SETMASK, &empty, 0); 1690 } 1691 kill(getpid(), SA_NODEFER_TEST_KILL_SIGNAL); 1692 while (sigaction_nodefer_works == -1); 1693 sigaction(SA_NODEFER_TEST_KILL_SIGNAL, &old_sa, NULL); 1694 } 1695 (gdb) bt #0 0x00007ffff73cc687 in kill () from /lib/x86_64-linux-gnu/libc.so.6 #1 0x0000000000411516 in see_if_sigaction_nodefer_works () at interrupt.c:1691 #2 0x0000000000414460 in interrupt_init () at interrupt.c:1828 #3 0x000000000040a99d in main (argc=1, argv=0x7fffffffea48, envp=0x7fffffffea58) at runtime.c:367 (gdb) quit A debugging session is active. Inferior 1 [process 17514] will be killed. [ ~/petri-dish ] sbcl --version SBCL 1.0.57.55-80ad081-dirty [ ~/petri-dish ] -- Burton Samograd |