From: Kazuhiro NISHIYAMA Date: 2010-06-08T01:21:09+09:00 Subject: [ruby-dev:41551] [Bug #3371] test-all aborted on amd64 lenny チケット #3371 が更新されました。 (by Kazuhiro NISHIYAMA) http://chkbuild.n-z.jp/ruby/debian-amd64/ruby-trunk/log/20100607T073937.log.txt.gz のcoreで調べてみると finalizer の実行で落ちているようですが、調べ方がよくわかりませんでした。 (gc.c:2773 は run_final の中で finalize_list の中じゃないとか。) % pwd /home/chkbuild/tmp/build/ruby-trunk/20100607T073937/ruby % sudo file core core: ELF 64-bit LSB core file x86-64, version 1 (SYSV), SVR4-style, from './ruby -rpurelib.rb ./test/runner.rb -v' % sudo -u chkbuild gdb ./ruby core GNU gdb 6.8-debian Copyright (C) 2008 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later 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"... warning: Can't read pathname for load map: Input/output error. Reading symbols from /lib/libpthread.so.0...done. Loaded symbols for /lib/libpthread.so.0 Reading symbols from /lib/librt.so.1...done. Loaded symbols for /lib/librt.so.1 Reading symbols from /lib/libdl.so.2...done. Loaded symbols for /lib/libdl.so.2 Reading symbols from /lib/libcrypt.so.1...done. Loaded symbols for /lib/libcrypt.so.1 Reading symbols from /lib/libm.so.6...done. Loaded symbols for /lib/libm.so.6 Reading symbols from /lib/libc.so.6...done. Loaded symbols for /lib/libc.so.6 Reading symbols from /lib/ld-linux-x86-64.so.2...done. Loaded symbols for /lib64/ld-linux-x86-64.so.2 Reading symbols from /home/chkbuild/tmp/build/ruby-trunk/20100607T073937/ruby/.ext/x86_64-linux/enc/encdb.so...done. Loaded symbols for /home/chkbuild/tmp/build/ruby-trunk/20100607T073937/ruby/.ext/x86_64-linux/enc/encdb.so Reading symbols from /home/chkbuild/tmp/build/ruby-trunk/20100607T073937/ruby/.ext/x86_64-linux/enc/trans/transdb.so...done. Loaded symbols for /home/chkbuild/tmp/build/ruby-trunk/20100607T073937/ruby/.ext/x86_64-linux/enc/trans/transdb.so Reading symbols from /home/chkbuild/tmp/build/ruby-trunk/20100607T073937/ruby/.ext/x86_64-linux/stringio.so...done. Loaded symbols for /home/chkbuild/tmp/build/ruby-trunk/20100607T073937/ruby/.ext/x86_64-linux/stringio.so (略) Reading symbols from /usr/lib/gconv/SJIS.so...done. Loaded symbols for /usr/lib/gconv/SJIS.so Core was generated by `./ruby -rpurelib.rb ./test/runner.rb -v'. Program terminated with signal 6, Aborted. [New process 15073] #0 0x00007f7f818d1ed5 in raise () from /lib/libc.so.6 (gdb) bt #0 0x00007f7f818d1ed5 in raise () from /lib/libc.so.6 #1 0x00007f7f818d33f3 in abort () from /lib/libc.so.6 #2 0x00007f7f7dd60895 in ffi_closure_free () from /usr/lib/libffi.so.5 #3 0x00007f7f7df6855d in dealloc (ptr=) at closure.c:18 #4 0x00000000004228b3 in finalize_list (objspace=0x7e4b90, p=0x63be920) at gc.c:2773 #5 0x0000000000422c1f in rb_objspace_call_finalizer (objspace=0x7e4b90) at gc.c:2912 #6 0x000000000041cb1f in ruby_cleanup (ex=0) at eval.c:161 #7 0x000000000041ccc5 in ruby_run_node (n=0x80fed0) at eval.c:254 #8 0x0000000000419cdf in main (argc=4, argv=0x7fffffffd1c8) at main.c:35 (gdb) up 4 #4 0x00000000004228b3 in finalize_list (objspace=0x7e4b90, p=0x63be920) at gc.c:2773 2773 (*free_func)(DATA_PTR(obj)); (gdb) rp obj No symbol "obj" in current context. (gdb) p obj No symbol "obj" in current context. (gdb) info args objspace = (rb_objspace_t *) 0x7e4b90 p = (RVALUE *) 0x63be920 (gdb) list 2768 } 2769 else { 2770 free_func = RDATA(obj)->dfree; 2771 } 2772 if (free_func) { 2773 (*free_func)(DATA_PTR(obj)); 2774 } 2775 2776 if (finalizer_table && 2777 st_delete(finalizer_table, (st_data_t*)&obj, &table)) { (gdb) p free_func Attempt to use a type name as an expression (gdb) p obj No symbol "obj" in current context. (gdb) rp objspace T_TRUE: $1 = (struct RBasic *) 0x7e4b90 (gdb) rp p T_ZOMBIE: $2 = (struct RData *) 0x63be920 (gdb) ---------------------------------------- http://redmine.ruby-lang.org/issues/show/3371 ---------------------------------------- http://redmine.ruby-lang.org