From: Johan L. <jo...@li...> - 2005-11-22 22:01:34
|
On Nov 22, 2005, at 21:38, Sam Steingold wrote: >>> SUMMARY: >>> >>> segfault on startup in closed_buffered() when built with "gcc -O2" >>> >>> Exception: EXC_BAD_ACCESS (0x0001) >>> Codes: KERN_PROTECTION_FAILURE (0x0002) at 0x19fb6130 >>> >>> Thread 0 Crashed: >>> 0 lisp.run 0x0006f8b4 closed_buffered + 48 (crt.c:355) >>> 1 lisp.run 0x0007850c closed_all_files + 108 (crt.c:355) >>> 2 lisp.run 0x000289ac loadmem_from_handle + 3168 (crt.c:355) >>> 3 lisp.run 0x00028c68 loadmem + 128 (crt.c:355) >>> 4 lisp.run 0x00029058 init_memory + 888 (crt.c:355) >>> 5 lisp.run 0x0002b610 main + 3940 (crt.c:355) >>> 6 lisp.run 0x00002878 _start + 340 (crt.c:272) >>> 7 lisp.run 0x00002720 start + 60 >>> >>> no segfault when built with "gcc -g" >>> >>> gcc --version >> >> powerpc-apple-darwin8-gcc-4.0.1 (GCC) 4.0.1 (Apple Computer, Inc. >> build >> 5247) >> >>> uname -a >> >> Darwin Johans-Computer.local 8.3.0 Darwin Kernel Version 8.3.0: >> Mon Oct >> 3 20:04:04 PDT 2005; root:xnu-792.6.22.obj~2/RELEASE_PPC Power >> Macintosh powerpc >> >> I also tried all the combinations below, and they all segfault: >> >> * "gcc -falign-functions=4 -g" > > good - please run under gdb and see why it segfaults. This seems to crash GDB... Johans-Computer:~/work/clisp-current/build mjl$ gdb lisp.run GNU gdb 6.1-20040303 (Apple version gdb-434) (Wed Nov 2 17:28:16 GMT 2005) Copyright 2004 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "powerpc-apple-darwin"...Reading symbols for shared libraries ....... done Breakpoint 1 at 0x42ab4: file eval.d, line 4937. Breakpoint 2 at 0x3daf8: file eval.d, line 4020. Breakpoint 3 at 0x36b10: file eval.d, line 2882. Breakpoint 4 at 0x45d94: file eval.d, line 5906. Breakpoint 5 at 0x132c8: file spvw_garcol.d, line 2430. Hardware watchpoint 6: back_trace Breakpoint 7 at 0x18978: file spvw.d, line 658. Breakpoint 8 at 0x50d8: file spvw.d, line 479. Breakpoint 9 at 0x51c0: file spvw.d, line 494. Breakpoint 10 at 0x195898: file error.d, line 349. Breakpoint 11 at 0x1957d0: file error.d, line 326. Breakpoint 12 at 0x196afc: file errunix.c, line 680. Breakpoint 13 at 0x196bec: file errunix.c, line 695. Breakpoint 14 at 0x196e84: file error.d, line 425. Breakpoint 15 at 0x196d14: file errunix.c, line 723. Num Type Disp Enb Address What 1 breakpoint keep n 0x00042ab4 in funcall at eval.d:4937 xout fun 2 breakpoint keep n 0x0003daf8 in apply at eval.d:4020 xout fun 3 breakpoint keep n 0x00036b10 in eval at eval.d:2882 xout form 4 breakpoint keep n 0x00045d94 in interpret_bytecode_ at eval.d:5906 xout closure 5 breakpoint keep n 0x000132c8 in gar_col at spvw_garcol.d:2430 6 hw watchpoint keep n back_trace zbacktrace continue 7 breakpoint keep y 0x00018978 in fehler_notreached at spvw.d: 658 8 breakpoint keep y 0x000050d8 in SP_ueber at spvw.d:479 9 breakpoint keep y 0x000051c0 in STACK_ueber at spvw.d:494 10 breakpoint keep y 0x00195898 in fehler at error.d:349 11 breakpoint keep y 0x001957d0 in prepare_error at error.d:326 12 breakpoint keep y 0x00196afc in OS_error at errunix.c:680 13 breakpoint keep y 0x00196bec in OS_file_error at errunix.c:695 14 breakpoint keep y 0x00196e84 in OS_filestream_error at error.d:425 15 breakpoint keep y 0x00196d14 in errno_out_low at errunix.c:723 Breakpoint 16 at 0x6294: file spvw_sigsegv.c, line 39. .gdbinit:163: Error in sourced command file: No symbol "byteptr" in current context. (gdb) base (gdb) run Starting program: /Users/mjl/work/clisp-current/build/base/lisp.run - B . -N locale -M base/lispinit.mem -q -norc Segmentation fault Johans-Computer:~/work/clisp-current/build mjl$ I get the following stack trace for the GDB crash: Exception: EXC_BAD_ACCESS (0x0001) Codes: KERN_INVALID_ADDRESS (0x0001) at 0x006c10f0 Thread 0 Crashed: 0 gdb-powerpc-apple-darwin 0x000c3688 dyld_is_objfile_loaded + 40 1 gdb-powerpc-apple-darwin 0x0006fc24 insert_breakpoints + 236 2 gdb-powerpc-apple-darwin 0x0005fa8c proceed + 432 3 gdb-powerpc-apple-darwin 0x0008a46c run_command + 772 4 gdb-powerpc-apple-darwin 0x0001b788 execute_command + 676 5 gdb-powerpc-apple-darwin 0x000335c8 command_handler + 240 6 gdb-powerpc-apple-darwin 0x00033d40 command_line_handler + 1248 7 gdb-powerpc-apple-darwin 0x0017c8f8 rl_callback_read_char + 180 8 gdb-powerpc-apple-darwin 0x00032d54 rl_callback_read_char_wrapper + 20 9 gdb-powerpc-apple-darwin 0x00037240 process_event + 188 10 gdb-powerpc-apple-darwin 0x000381a4 gdb_do_one_event + 1096 11 gdb-powerpc-apple-darwin 0x0001b1ac catcher + 216 12 gdb-powerpc-apple-darwin 0x0001b438 catch_errors + 68 13 gdb-powerpc-apple-darwin 0x00037298 start_event_loop + 60 14 gdb-powerpc-apple-darwin 0x000150ac captured_command_loop + 16 15 gdb-powerpc-apple-darwin 0x0001b1ac catcher + 216 16 gdb-powerpc-apple-darwin 0x0001b438 catch_errors + 68 17 gdb-powerpc-apple-darwin 0x000161fc captured_main + 4364 18 gdb-powerpc-apple-darwin 0x0001b1ac catcher + 216 19 gdb-powerpc-apple-darwin 0x0001b438 catch_errors + 68 20 gdb-powerpc-apple-darwin 0x00016238 gdb_main + 56 21 gdb-powerpc-apple-darwin 0x00002324 main + 48 22 gdb-powerpc-apple-darwin 0x00001b4c _start + 340 23 gdb-powerpc-apple-darwin 0x000019f4 start + 60 Thread 1: 0 libSystem.B.dylib 0x90031aac wait4 + 12 1 gdb-powerpc-apple-darwin 0x000e7444 macosx_signal_thread + 108 2 libSystem.B.dylib 0x9002b200 _pthread_body + 96 Thread 2: 0 libSystem.B.dylib 0x9001422c read + 12 1 gdb-powerpc-apple-darwin 0x000e700c macosx_exception_thread + 908 2 libSystem.B.dylib 0x9002b200 _pthread_body + 96 -- Johan Liseborn |