From: "akr (Akira Tanaka)" Date: 2013-11-01T22:20:16+09:00 Subject: [ruby-dev:47787] [ruby-trunk - Bug #9069][Open] test_weakref.rb with GC.stress causes [BUG] rb_gc_mark(): 0x8024ee94 is T_ZOMBIE Issue #9069 has been updated by akr (Akira Tanaka). Status changed from Closed to Open 直っていないように思います。 boron% ./ruby -e 'GC.stress = true; load("test/test_weakref.rb")' Run options: # Running tests: [2/4] TestWeakRef#test_recycled = 1.04 s 1) Failure: TestWeakRef#test_recycled [test/test_weakref.rb:20]: Exception raised: <#>. [3/4] TestWeakRef#test_ref/home/akr/tst1/lib/ruby/2.1.0/weakref.rb:84: [BUG] rb_gc_mark(): 0x8024eebc is T_ZOMBIE ruby 2.1.0dev (2013-11-01 trunk 43504) [i686-linux] -- Control frame information ----------------------------------------------- c:0028 p:---- s:0123 e:000122 CFUNC :=== c:0027 p:0011 s:0121 e:000119 METHOD /home/akr/tst1/lib/ruby/2.1.0/weakref.rb:84 [FINISH] c:0026 p:---- s:0116 e:000115 CFUNC :new c:0025 p:0015 s:0112 e:000111 BLOCK test/test_weakref.rb:9 [FINISH] c:0024 p:---- s:0110 e:000109 CFUNC :times c:0023 p:0033 s:0107 e:000106 METHOD test/test_weakref.rb:9 c:0022 p:0007 s:0101 e:000100 METHOD test/test_weakref.rb:14 c:0021 p:0038 s:0096 e:000095 METHOD /home/akr/tst1/lib/ruby/2.1.0/test/unit.rb:869 c:0020 p:0069 s:0091 e:000090 METHOD /home/akr/tst1/lib/ruby/2.1.0/minitest/unit.rb:1265 c:0019 p:0019 s:0083 e:000082 METHOD /home/akr/tst1/lib/ruby/2.1.0/test/unit/testcase.rb:17 c:0018 p:0068 s:0079 e:000078 BLOCK /home/akr/tst1/lib/ruby/2.1.0/minitest/unit.rb:940 [FINISH] c:0017 p:---- s:0073 e:000072 CFUNC :map c:0016 p:0103 s:0070 e:000069 METHOD /home/akr/tst1/lib/ruby/2.1.0/minitest/unit.rb:933 c:0015 p:0015 s:0060 e:000058 BLOCK /home/akr/tst1/lib/ruby/2.1.0/test/unit.rb:663 [FINISH] c:0014 p:---- s:0055 e:000054 CFUNC :each c:0013 p:0067 s:0052 e:000051 METHOD /home/akr/tst1/lib/ruby/2.1.0/test/unit.rb:661 c:0012 p:0135 s:0046 e:000045 METHOD /home/akr/tst1/lib/ruby/2.1.0/minitest/unit.rb:884 c:0011 p:0009 s:0036 e:000035 METHOD /home/akr/tst1/lib/ruby/2.1.0/minitest/unit.rb:1092 c:0010 p:0009 s:0033 e:000032 BLOCK /home/akr/tst1/lib/ruby/2.1.0/minitest/unit.rb:1079 [FINISH] c:0009 p:---- s:0030 e:000029 CFUNC :each c:0008 p:0048 s:0027 e:000026 METHOD /home/akr/tst1/lib/ruby/2.1.0/minitest/unit.rb:1078 c:0007 p:0017 s:0023 e:000022 METHOD /home/akr/tst1/lib/ruby/2.1.0/minitest/unit.rb:1066 c:0006 p:0019 s:0019 e:000018 METHOD /home/akr/tst1/lib/ruby/2.1.0/test/unit.rb:27 c:0005 p:0010 s:0015 e:000014 METHOD /home/akr/tst1/lib/ruby/2.1.0/test/unit.rb:780 c:0004 p:0027 s:0010 e:000008 BLOCK /home/akr/tst1/lib/ruby/2.1.0/test/unit.rb:372 c:0003 p:0031 s:0007 e:000006 METHOD /home/akr/tst1/lib/ruby/2.1.0/test/unit.rb:33 c:0002 p:0024 s:0004 e:000003 BLOCK /home/akr/tst1/lib/ruby/2.1.0/test/unit.rb:371 [FINISH] c:0001 p:0000 s:0002 E:fffff04c TOP [FINISH] /home/akr/tst1/lib/ruby/2.1.0/test/unit.rb:371:in `block in autorun' /home/akr/tst1/lib/ruby/2.1.0/test/unit.rb:33:in `run_once' /home/akr/tst1/lib/ruby/2.1.0/test/unit.rb:372:in `block (2 levels) in autorun' /home/akr/tst1/lib/ruby/2.1.0/test/unit.rb:780:in `run' /home/akr/tst1/lib/ruby/2.1.0/test/unit.rb:27:in `run' /home/akr/tst1/lib/ruby/2.1.0/minitest/unit.rb:1066:in `run' /home/akr/tst1/lib/ruby/2.1.0/minitest/unit.rb:1078:in `_run' /home/akr/tst1/lib/ruby/2.1.0/minitest/unit.rb:1078:in `each' /home/akr/tst1/lib/ruby/2.1.0/minitest/unit.rb:1079:in `block in _run' /home/akr/tst1/lib/ruby/2.1.0/minitest/unit.rb:1092:in `run_tests' /home/akr/tst1/lib/ruby/2.1.0/minitest/unit.rb:884:in `_run_anything' /home/akr/tst1/lib/ruby/2.1.0/test/unit.rb:661:in `_run_suites' /home/akr/tst1/lib/ruby/2.1.0/test/unit.rb:661:in `each' /home/akr/tst1/lib/ruby/2.1.0/test/unit.rb:663:in `block in _run_suites' /home/akr/tst1/lib/ruby/2.1.0/minitest/unit.rb:933:in `_run_suite' /home/akr/tst1/lib/ruby/2.1.0/minitest/unit.rb:933:in `map' /home/akr/tst1/lib/ruby/2.1.0/minitest/unit.rb:940:in `block in _run_suite' /home/akr/tst1/lib/ruby/2.1.0/test/unit/testcase.rb:17:in `run' /home/akr/tst1/lib/ruby/2.1.0/minitest/unit.rb:1265:in `run' /home/akr/tst1/lib/ruby/2.1.0/test/unit.rb:869:in `run_test' test/test_weakref.rb:14:in `test_ref' test/test_weakref.rb:9:in `make_weakref' test/test_weakref.rb:9:in `times' test/test_weakref.rb:9:in `block in make_weakref' test/test_weakref.rb:9:in `new' /home/akr/tst1/lib/ruby/2.1.0/weakref.rb:84:in `initialize' /home/akr/tst1/lib/ruby/2.1.0/weakref.rb:84:in `===' -- C level backtrace information ------------------------------------------- -e: TestWeakRef#test_ref(+0x14642f) [0x8014642f] -e: TestWeakRef#test_ref(+0x14651a) [0x8014651a] -e: TestWeakRef#test_ref(+0x197305) [0x80197305] -e: TestWeakRef#test_ref(rb_bug+0x5f) [0x80197403] -e: TestWeakRef#test_ref(+0x30538) [0x80030538] -e: TestWeakRef#test_ref(+0x305e2) [0x800305e2] -e: TestWeakRef#test_ref(+0x307b8) [0x800307b8] -e: TestWeakRef#test_ref(+0x3087f) [0x8003087f] -e: TestWeakRef#test_ref(+0x308de) [0x800308de] -e: TestWeakRef#test_ref(+0x31760) [0x80031760] -e: TestWeakRef#test_ref(+0x31899) [0x80031899] -e: TestWeakRef#test_ref(+0x2be85) [0x8002be85] -e: TestWeakRef#test_ref(rb_newobj_of+0x30) [0x8002bfed] -e: TestWeakRef#test_ref(+0x15b592) [0x8015b592] -e: TestWeakRef#test_ref(+0x15b68a) [0x8015b68a] -e: TestWeakRef#test_ref(rb_ary_new_capa+0x29) [0x8015b6bf] -e: TestWeakRef#test_ref(rb_ary_new_from_args+0x1d) [0x8015b6f6] -e: TestWeakRef#test_ref(+0x2d3e6) [0x8002d3e6] -e: TestWeakRef#test_ref(+0x2d595) [0x8002d595] -e: TestWeakRef#test_ref(+0x2d5ce) [0x8002d5ce] -e: TestWeakRef#test_ref(+0x2d664) [0x8002d664] -e: TestWeakRef#test_ref(+0x2d6a5) [0x8002d6a5] -e: TestWeakRef#test_ref(rb_postponed_job_flush+0xc9) [0x8014b99b] -e: TestWeakRef#test_ref(+0x150063) [0x80150063] -e: TestWeakRef#test_ref(+0x13c97c) [0x8013c97c] -e: TestWeakRef#test_ref(+0x13c25c) [0x8013c25c] -e: TestWeakRef#test_ref(+0x13cc19) [0x8013cc19] -e: TestWeakRef#test_ref(+0x13d5c5) [0x8013d5c5] -e: TestWeakRef#test_ref(rb_funcall+0x9f) [0x8013dd86] -e: TestWeakRef#test_ref(rb_equal+0x43) [0x8006198d] -e: TestWeakRef#test_ref(+0x1304d9) [0x801304d9] -e: TestWeakRef#test_ref(+0x13c3db) [0x8013c3db] -e: TestWeakRef#test_ref(+0x13c4aa) [0x8013c4aa] -e: TestWeakRef#test_ref(+0x13c5f2) [0x8013c5f2] -e: TestWeakRef#test_ref(+0x13c25c) [0x8013c25c] -e: TestWeakRef#test_ref(+0x12f5e2) [0x8012f5e2] -e: TestWeakRef#test_ref(+0x13473d) [0x8013473d] -e: TestWeakRef#test_ref(+0x142760) [0x80142760] -e: TestWeakRef#test_ref(+0x13c5d4) [0x8013c5d4] -e: TestWeakRef#test_ref(+0x13c25c) [0x8013c25c] -e: TestWeakRef#test_ref(+0x13cc19) [0x8013cc19] -e: TestWeakRef#test_ref(+0x13d5c5) [0x8013d5c5] -e: TestWeakRef#test_ref(rb_funcallv+0x2e) [0x8013ddc7] -e: TestWeakRef#test_ref(rb_obj_call_init+0x64) [0x8001cae3] -e: TestWeakRef#test_ref(rb_class_new_instance+0x39) [0x8006362f] -e: TestWeakRef#test_ref(+0x1304aa) [0x801304aa] -e: TestWeakRef#test_ref(+0x130eb1) [0x80130eb1] -e: TestWeakRef#test_ref(+0x130f7e) [0x80130f7e] -e: TestWeakRef#test_ref(+0x135036) [0x80135036] -e: TestWeakRef#test_ref(+0x142760) [0x80142760] -e: TestWeakRef#test_ref(+0x1412dc) [0x801412dc] -e: TestWeakRef#test_ref(+0x141412) [0x80141412] -e: TestWeakRef#test_ref(+0x13e072) [0x8013e072] -e: TestWeakRef#test_ref(rb_yield+0x37) [0x8013e0ab] -e: TestWeakRef#test_ref(+0x5fbb7) [0x8005fbb7] -e: TestWeakRef#test_ref(+0x1304bd) [0x801304bd] -e: TestWeakRef#test_ref(+0x130eb1) [0x80130eb1] -e: TestWeakRef#test_ref(+0x130f7e) [0x80130f7e] -e: TestWeakRef#test_ref(+0x134f4e) [0x80134f4e] -e: TestWeakRef#test_ref(+0x142760) [0x80142760] -e: TestWeakRef#test_ref(+0x1412dc) [0x801412dc] -e: TestWeakRef#test_ref(+0x141412) [0x80141412] -e: TestWeakRef#test_ref(+0x13e072) [0x8013e072] -e: TestWeakRef#test_ref(rb_yield+0x37) [0x8013e0ab] -e: TestWeakRef#test_ref(+0x1613b5) [0x801613b5] -e: TestWeakRef#test_ref(+0x1304bd) [0x801304bd] -e: TestWeakRef#test_ref(+0x130eb1) [0x80130eb1] -e: TestWeakRef#test_ref(+0x130f7e) [0x80130f7e] -e: TestWeakRef#test_ref(+0x134f4e) [0x80134f4e] -e: TestWeakRef#test_ref(+0x142760) [0x80142760] -e: TestWeakRef#test_ref(+0x1412dc) [0x801412dc] -e: TestWeakRef#test_ref(+0x141412) [0x80141412] -e: TestWeakRef#test_ref(+0x13e072) [0x8013e072] -e: TestWeakRef#test_ref(rb_yield+0x37) [0x8013e0ab] -e: TestWeakRef#test_ref(rb_ary_each+0x90) [0x8015f220] -e: TestWeakRef#test_ref(+0x1304bd) [0x801304bd] -e: TestWeakRef#test_ref(+0x130eb1) [0x80130eb1] -e: TestWeakRef#test_ref(+0x130f7e) [0x80130f7e] -e: TestWeakRef#test_ref(+0x131816) [0x80131816] -e: TestWeakRef#test_ref(+0x131e44) [0x80131e44] -e: TestWeakRef#test_ref(+0x134f4e) [0x80134f4e] -e: TestWeakRef#test_ref(+0x142760) [0x80142760] -e: TestWeakRef#test_ref(+0x1412dc) [0x801412dc] -e: TestWeakRef#test_ref(+0x141412) [0x80141412] -e: TestWeakRef#test_ref(+0x13e072) [0x8013e072] -e: TestWeakRef#test_ref(rb_yield+0x37) [0x8013e0ab] -e: TestWeakRef#test_ref(rb_ary_each+0x90) [0x8015f220] -e: TestWeakRef#test_ref(+0x1304bd) [0x801304bd] -e: TestWeakRef#test_ref(+0x130eb1) [0x80130eb1] -e: TestWeakRef#test_ref(+0x130f7e) [0x80130f7e] -e: TestWeakRef#test_ref(+0x131816) [0x80131816] -e: TestWeakRef#test_ref(+0x131e44) [0x80131e44] -e: TestWeakRef#test_ref(+0x134f4e) [0x80134f4e] -e: TestWeakRef#test_ref(+0x142760) [0x80142760] -e: TestWeakRef#test_ref(+0x1412dc) [0x801412dc] -e: TestWeakRef#test_ref(+0x1414d4) [0x801414d4] -e: TestWeakRef#test_ref(+0x141565) [0x80141565] -e: TestWeakRef#test_ref(rb_proc_call+0x80) [0x8001e41c] -e: TestWeakRef#test_ref(+0x1a046) [0x8001a046] -e: TestWeakRef#test_ref(rb_exec_end_proc+0x185) [0x8001a310] -e: TestWeakRef#test_ref(+0x1a5ff) [0x8001a5ff] -e: TestWeakRef#test_ref(ruby_cleanup+0x158) [0x8001a7a8] -e: TestWeakRef#test_ref(ruby_run_node+0x40) [0x8001ab1c] -e: TestWeakRef#test_ref(+0x1924a) [0x8001924a] /lib/i686/nosegneg/libc.so.6(__libc_start_main+0xe6) [0xb7d28ca6] libc-start.c:228 -e: TestWeakRef#test_ref(+0x19101) [0x80019101] -- Other runtime information ----------------------------------------------- * Loaded script: -e: TestWeakRef#test_ref * Loaded features: 0 enumerator.so 1 /home/akr/tst1/lib/ruby/2.1.0/i686-linux/enc/encdb.so 2 /home/akr/tst1/lib/ruby/2.1.0/i686-linux/enc/trans/transdb.so 3 /home/akr/tst1/lib/ruby/2.1.0/i686-linux/rbconfig.rb 4 /home/akr/tst1/lib/ruby/2.1.0/rubygems/compatibility.rb 5 /home/akr/tst1/lib/ruby/2.1.0/rubygems/defaults.rb 6 /home/akr/tst1/lib/ruby/2.1.0/rubygems/deprecate.rb 7 /home/akr/tst1/lib/ruby/2.1.0/rubygems/errors.rb 8 /home/akr/tst1/lib/ruby/2.1.0/rubygems/version.rb 9 /home/akr/tst1/lib/ruby/2.1.0/rubygems/requirement.rb 10 /home/akr/tst1/lib/ruby/2.1.0/rubygems/platform.rb 11 /home/akr/tst1/lib/ruby/2.1.0/rubygems/basic_specification.rb 12 /home/akr/tst1/lib/ruby/2.1.0/rubygems/stub_specification.rb 13 /home/akr/tst1/lib/ruby/2.1.0/rubygems/specification.rb 14 /home/akr/tst1/lib/ruby/2.1.0/rubygems/exceptions.rb 15 /home/akr/tst1/lib/ruby/2.1.0/rubygems/core_ext/kernel_gem.rb 16 /home/akr/tst1/lib/ruby/2.1.0/thread.rb 17 /home/akr/tst1/lib/ruby/2.1.0/monitor.rb 18 /home/akr/tst1/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb 19 /home/akr/tst1/lib/ruby/2.1.0/rubygems.rb 20 /home/akr/tst1/lib/ruby/2.1.0/rubygems/dependency.rb 21 /home/akr/tst1/lib/ruby/2.1.0/rubygems/path_support.rb 22 /home/akr/tst1/lib/ruby/2.1.0/optparse.rb 23 /home/akr/tst1/lib/ruby/2.1.0/minitest/unit.rb 24 /home/akr/tst1/lib/ruby/2.1.0/prettyprint.rb 25 /home/akr/tst1/lib/ruby/2.1.0/pp.rb 26 /home/akr/tst1/lib/ruby/2.1.0/test/unit/assertions.rb 27 /home/akr/tst1/lib/ruby/2.1.0/test/unit/testcase.rb 28 /home/akr/tst1/lib/ruby/2.1.0/test/unit.rb 29 /home/akr/tst1/lib/ruby/2.1.0/delegate.rb 30 /home/akr/tst1/lib/ruby/2.1.0/weakref.rb 31 /home/akr/tst1/lib/ruby/2.1.0/open3.rb 32 /home/akr/tst1/lib/ruby/2.1.0/timeout.rb 33 /home/akr/tst1/ruby/test/ruby/envutil.rb 34 /home/akr/tst1/lib/ruby/2.1.0/i686-linux/io/console.so * Process memory map: 80000000-80225000 r-xp 00000000 ca:03 319808 /home/akr/tst1/ruby/ruby 80225000-80229000 rw-p 00225000 ca:03 319808 /home/akr/tst1/ruby/ruby 80229000-80594000 rw-p 80229000 00:00 0 [heap] b7c60000-b7c7d000 r-xp 00000000 ca:02 278530 /lib/libgcc_s.so.1 b7c7d000-b7c7e000 rw-p 0001c000 ca:02 278530 /lib/libgcc_s.so.1 b7c8b000-b7c8e000 r-xp 00000000 ca:03 468021 /home/akr/tst1/lib/ruby/2.1.0/i686-linux/io/console.so b7c8e000-b7c8f000 rw-p 00002000 ca:03 468021 /home/akr/tst1/lib/ruby/2.1.0/i686-linux/io/console.so b7c8f000-b7d12000 rw-p b7c8f000 00:00 0 b7d12000-b7e55000 r-xp 00000000 ca:02 83914 /lib/i686/nosegneg/libc-2.11.3.so b7e55000-b7e57000 r--p 00143000 ca:02 83914 /lib/i686/nosegneg/libc-2.11.3.so b7e57000-b7e58000 rw-p 00145000 ca:02 83914 /lib/i686/nosegneg/libc-2.11.3.so b7e58000-b7e5b000 rw-p b7e58000 00:00 0 b7e5b000-b7e7f000 r-xp 00000000 ca:02 83026 /lib/i686/nosegneg/libm-2.11.3.so b7e7f000-b7e80000 r--p 00023000 ca:02 83026 /lib/i686/nosegneg/libm-2.11.3.so b7e80000-b7e81000 rw-p 00024000 ca:02 83026 /lib/i686/nosegneg/libm-2.11.3.so b7e81000-b7e8a000 r-xp 00000000 ca:02 83251 /lib/i686/nosegneg/libcrypt-2.11.3.so b7e8a000-b7e8b000 r--p 00008000 ca:02 83251 /lib/i686/nosegneg/libcrypt-2.11.3.so b7e8b000-b7e8c000 rw-p 00009000 ca:02 83251 /lib/i686/nosegneg/libcrypt-2.11.3.so b7e8c000-b7eb3000 rw-p b7e8c000 00:00 0 b7eb3000-b7eb5000 r-xp 00000000 ca:02 83024 /lib/i686/nosegneg/libdl-2.11.3.so b7eb5000-b7eb6000 r--p 00001000 ca:02 83024 /lib/i686/nosegneg/libdl-2.11.3.so b7eb6000-b7eb7000 rw-p 00002000 ca:02 83024 /lib/i686/nosegneg/libdl-2.11.3.so b7eb7000-b7eb8000 rw-p b7eb7000 00:00 0 b7eb8000-b7f15000 r-xp 00000000 ca:02 170351 /usr/lib/libgmp.so.3.5.2 b7f15000-b7f16000 rw-p 0005d000 ca:02 170351 /usr/lib/libgmp.so.3.5.2 b7f16000-b7f1d000 r-xp 00000000 ca:02 83913 /lib/i686/nosegneg/librt-2.11.3.so b7f1d000-b7f1e000 r--p 00006000 ca:02 83913 /lib/i686/nosegneg/librt-2.11.3.so b7f1e000-b7f1f000 rw-p 00007000 ca:02 83913 /lib/i686/nosegneg/librt-2.11.3.so b7f1f000-b7f34000 r-xp 00000000 ca:02 83903 /lib/i686/nosegneg/libpthread-2.11.3.so b7f34000-b7f35000 r--p 00014000 ca:02 83903 /lib/i686/nosegneg/libpthread-2.11.3.so b7f35000-b7f36000 rw-p 00015000 ca:02 83903 /lib/i686/nosegneg/libpthread-2.11.3.so b7f36000-b7f38000 rw-p b7f36000 00:00 0 b7f39000-b7f3a000 rw-p b7f39000 00:00 0 b7f3a000-b7f3d000 r-xp 00000000 ca:03 467993 /home/akr/tst1/lib/ruby/2.1.0/i686-linux/enc/trans/transdb.so b7f3d000-b7f3e000 rw-p 00002000 ca:03 467993 /home/akr/tst1/lib/ruby/2.1.0/i686-linux/enc/trans/transdb.so b7f3e000-b7f40000 r-xp 00000000 ca:03 467962 /home/akr/tst1/lib/ruby/2.1.0/i686-linux/enc/encdb.so b7f40000-b7f41000 rw-p 00001000 ca:03 467962 /home/akr/tst1/lib/ruby/2.1.0/i686-linux/enc/encdb.so b7f41000-b7f42000 ---p b7f41000 00:00 0 b7f42000-b7f49000 rw-p b7f42000 00:00 0 b7f49000-b7f4a000 r-xp b7f49000 00:00 0 [vdso] b7f4a000-b7f65000 r-xp 00000000 ca:02 278816 /lib/ld-2.11.3.so b7f65000-b7f66000 r--p 0001b000 ca:02 278816 /lib/ld-2.11.3.so b7f66000-b7f67000 rw-p 0001c000 ca:02 278816 /lib/ld-2.11.3.so bfd9e000-bfdb4000 rw-p bfd9e000 00:00 0 [stack] [NOTE] You may have encountered a bug in the Ruby interpreter or extension libraries. Bug reports are welcome. For details: http://www.ruby-lang.org/bugreport.html zsh: abort ./ruby -e 'GC.stress = true; load("test/test_weakref.rb")' ---------------------------------------- Bug #9069: test_weakref.rb with GC.stress causes [BUG] rb_gc_mark(): 0x8024ee94 is T_ZOMBIE https://bugs.ruby-lang.org/issues/9069#change-42710 Author: akr (Akira Tanaka) Status: Open Priority: Normal Assignee: Category: Target version: ruby -v: ruby 2.1.0dev (2013-11-01 trunk 43497) [i686-linux] Backport: 1.9.3: UNKNOWN, 2.0.0: UNKNOWN 気がついたのですが、GC.stress = true で test/test_weakref.rb を動かすと、 [BUG] rb_gc_mark(): 0x8024ee94 is T_ZOMBIE というようなメッセージで異常終了することがあります。 たとえば、boron の ~akr/tst1 に install したものでは以下のようになりました。 boron% pwd /home/akr/tst1/ruby boron% ./ruby -e 'GC.stress = true; load("test/test_weakref.rb")' Run options: # Running tests: [2/4] TestWeakRef#test_recycled = 1.02 s 1) Failure: TestWeakRef#test_recycled [test/test_weakref.rb:20]: Exception raised: <#>. [3/4] TestWeakRef#test_ref/home/akr/tst1/lib/ruby/2.1.0/weakref.rb:84: [BUG] rb_gc_mark(): 0x8024ee94 is T_ZOMBIE ruby 2.1.0dev (2013-11-01 trunk 43497) [i686-linux] -- Control frame information ----------------------------------------------- c:0028 p:---- s:0123 e:000122 CFUNC :=== c:0027 p:0011 s:0121 e:000119 METHOD /home/akr/tst1/lib/ruby/2.1.0/weakref.rb:84 [FINISH] c:0026 p:---- s:0116 e:000115 CFUNC :new c:0025 p:0015 s:0112 e:000111 BLOCK test/test_weakref.rb:9 [FINISH] c:0024 p:---- s:0110 e:000109 CFUNC :times c:0023 p:0033 s:0107 e:000106 METHOD test/test_weakref.rb:9 c:0022 p:0007 s:0101 e:000100 METHOD test/test_weakref.rb:14 c:0021 p:0038 s:0096 e:000095 METHOD /home/akr/tst1/lib/ruby/2.1.0/test/unit.rb:869 c:0020 p:0069 s:0091 e:000090 METHOD /home/akr/tst1/lib/ruby/2.1.0/minitest/unit.rb:1265 c:0019 p:0019 s:0083 e:000082 METHOD /home/akr/tst1/lib/ruby/2.1.0/test/unit/testcase.rb:17 c:0018 p:0068 s:0079 e:000078 BLOCK /home/akr/tst1/lib/ruby/2.1.0/minitest/unit.rb:940 [FINISH] c:0017 p:---- s:0073 e:000072 CFUNC :map c:0016 p:0103 s:0070 e:000069 METHOD /home/akr/tst1/lib/ruby/2.1.0/minitest/unit.rb:933 c:0015 p:0015 s:0060 e:000058 BLOCK /home/akr/tst1/lib/ruby/2.1.0/test/unit.rb:663 [FINISH] c:0014 p:---- s:0055 e:000054 CFUNC :each c:0013 p:0067 s:0052 e:000051 METHOD /home/akr/tst1/lib/ruby/2.1.0/test/unit.rb:661 c:0012 p:0135 s:0046 e:000045 METHOD /home/akr/tst1/lib/ruby/2.1.0/minitest/unit.rb:884 c:0011 p:0009 s:0036 e:000035 METHOD /home/akr/tst1/lib/ruby/2.1.0/minitest/unit.rb:1092 c:0010 p:0009 s:0033 e:000032 BLOCK /home/akr/tst1/lib/ruby/2.1.0/minitest/unit.rb:1079 [FINISH] c:0009 p:---- s:0030 e:000029 CFUNC :each c:0008 p:0048 s:0027 e:000026 METHOD /home/akr/tst1/lib/ruby/2.1.0/minitest/unit.rb:1078 c:0007 p:0017 s:0023 e:000022 METHOD /home/akr/tst1/lib/ruby/2.1.0/minitest/unit.rb:1066 c:0006 p:0019 s:0019 e:000018 METHOD /home/akr/tst1/lib/ruby/2.1.0/test/unit.rb:27 c:0005 p:0010 s:0015 e:000014 METHOD /home/akr/tst1/lib/ruby/2.1.0/test/unit.rb:780 c:0004 p:0027 s:0010 e:000008 BLOCK /home/akr/tst1/lib/ruby/2.1.0/test/unit.rb:372 c:0003 p:0031 s:0007 e:000006 METHOD /home/akr/tst1/lib/ruby/2.1.0/test/unit.rb:33 c:0002 p:0024 s:0004 e:000003 BLOCK /home/akr/tst1/lib/ruby/2.1.0/test/unit.rb:371 [FINISH] c:0001 p:0000 s:0002 E:fffff04c TOP [FINISH] /home/akr/tst1/lib/ruby/2.1.0/test/unit.rb:371:in `block in autorun' /home/akr/tst1/lib/ruby/2.1.0/test/unit.rb:33:in `run_once' /home/akr/tst1/lib/ruby/2.1.0/test/unit.rb:372:in `block (2 levels) in autorun' /home/akr/tst1/lib/ruby/2.1.0/test/unit.rb:780:in `run' /home/akr/tst1/lib/ruby/2.1.0/test/unit.rb:27:in `run' /home/akr/tst1/lib/ruby/2.1.0/minitest/unit.rb:1066:in `run' /home/akr/tst1/lib/ruby/2.1.0/minitest/unit.rb:1078:in `_run' /home/akr/tst1/lib/ruby/2.1.0/minitest/unit.rb:1078:in `each' /home/akr/tst1/lib/ruby/2.1.0/minitest/unit.rb:1079:in `block in _run' /home/akr/tst1/lib/ruby/2.1.0/minitest/unit.rb:1092:in `run_tests' /home/akr/tst1/lib/ruby/2.1.0/minitest/unit.rb:884:in `_run_anything' /home/akr/tst1/lib/ruby/2.1.0/test/unit.rb:661:in `_run_suites' /home/akr/tst1/lib/ruby/2.1.0/test/unit.rb:661:in `each' /home/akr/tst1/lib/ruby/2.1.0/test/unit.rb:663:in `block in _run_suites' /home/akr/tst1/lib/ruby/2.1.0/minitest/unit.rb:933:in `_run_suite' /home/akr/tst1/lib/ruby/2.1.0/minitest/unit.rb:933:in `map' /home/akr/tst1/lib/ruby/2.1.0/minitest/unit.rb:940:in `block in _run_suite' /home/akr/tst1/lib/ruby/2.1.0/test/unit/testcase.rb:17:in `run' /home/akr/tst1/lib/ruby/2.1.0/minitest/unit.rb:1265:in `run' /home/akr/tst1/lib/ruby/2.1.0/test/unit.rb:869:in `run_test' test/test_weakref.rb:14:in `test_ref' test/test_weakref.rb:9:in `make_weakref' test/test_weakref.rb:9:in `times' test/test_weakref.rb:9:in `block in make_weakref' test/test_weakref.rb:9:in `new' /home/akr/tst1/lib/ruby/2.1.0/weakref.rb:84:in `initialize' /home/akr/tst1/lib/ruby/2.1.0/weakref.rb:84:in `===' -- C level backtrace information ------------------------------------------- -e: TestWeakRef#test_ref(+0x1463e7) [0x801463e7] -e: TestWeakRef#test_ref(+0x1464d2) [0x801464d2] -e: TestWeakRef#test_ref(+0x1972bd) [0x801972bd] -e: TestWeakRef#test_ref(rb_bug+0x5f) [0x801973bb] -e: TestWeakRef#test_ref(+0x30503) [0x80030503] -e: TestWeakRef#test_ref(+0x305ad) [0x800305ad] -e: TestWeakRef#test_ref(+0x30783) [0x80030783] -e: TestWeakRef#test_ref(+0x3084a) [0x8003084a] -e: TestWeakRef#test_ref(+0x308a9) [0x800308a9] -e: TestWeakRef#test_ref(+0x3172b) [0x8003172b] -e: TestWeakRef#test_ref(+0x31864) [0x80031864] -e: TestWeakRef#test_ref(+0x2be55) [0x8002be55] -e: TestWeakRef#test_ref(rb_newobj_of+0x30) [0x8002bfbd] -e: TestWeakRef#test_ref(+0x15b54a) [0x8015b54a] -e: TestWeakRef#test_ref(+0x15b642) [0x8015b642] -e: TestWeakRef#test_ref(rb_ary_new_capa+0x29) [0x8015b677] -e: TestWeakRef#test_ref(rb_ary_new_from_args+0x1d) [0x8015b6ae] -e: TestWeakRef#test_ref(+0x2d3b6) [0x8002d3b6] -e: TestWeakRef#test_ref(+0x2d565) [0x8002d565] -e: TestWeakRef#test_ref(+0x2d59e) [0x8002d59e] -e: TestWeakRef#test_ref(+0x2d634) [0x8002d634] -e: TestWeakRef#test_ref(+0x2d675) [0x8002d675] -e: TestWeakRef#test_ref(rb_postponed_job_flush+0xc9) [0x8014b953] -e: TestWeakRef#test_ref(+0x15001b) [0x8015001b] -e: TestWeakRef#test_ref(+0x13c934) [0x8013c934] -e: TestWeakRef#test_ref(+0x13c214) [0x8013c214] -e: TestWeakRef#test_ref(+0x13cbd1) [0x8013cbd1] -e: TestWeakRef#test_ref(+0x13d57d) [0x8013d57d] -e: TestWeakRef#test_ref(rb_funcall+0x9f) [0x8013dd3e] -e: TestWeakRef#test_ref(rb_equal+0x43) [0x80061959] -e: TestWeakRef#test_ref(+0x130491) [0x80130491] -e: TestWeakRef#test_ref(+0x13c393) [0x8013c393] -e: TestWeakRef#test_ref(+0x13c462) [0x8013c462] -e: TestWeakRef#test_ref(+0x13c5aa) [0x8013c5aa] -e: TestWeakRef#test_ref(+0x13c214) [0x8013c214] -e: TestWeakRef#test_ref(+0x12f59a) [0x8012f59a] -e: TestWeakRef#test_ref(+0x1346f5) [0x801346f5] -e: TestWeakRef#test_ref(+0x142718) [0x80142718] -e: TestWeakRef#test_ref(+0x13c58c) [0x8013c58c] -e: TestWeakRef#test_ref(+0x13c214) [0x8013c214] -e: TestWeakRef#test_ref(+0x13cbd1) [0x8013cbd1] -e: TestWeakRef#test_ref(+0x13d57d) [0x8013d57d] -e: TestWeakRef#test_ref(rb_funcallv+0x2e) [0x8013dd7f] -e: TestWeakRef#test_ref(rb_obj_call_init+0x64) [0x8001cab3] -e: TestWeakRef#test_ref(rb_class_new_instance+0x39) [0x800635fb] -e: TestWeakRef#test_ref(+0x130462) [0x80130462] -e: TestWeakRef#test_ref(+0x130e69) [0x80130e69] -e: TestWeakRef#test_ref(+0x130f36) [0x80130f36] -e: TestWeakRef#test_ref(+0x134fee) [0x80134fee] -e: TestWeakRef#test_ref(+0x142718) [0x80142718] -e: TestWeakRef#test_ref(+0x141294) [0x80141294] -e: TestWeakRef#test_ref(+0x1413ca) [0x801413ca] -e: TestWeakRef#test_ref(+0x13e02a) [0x8013e02a] -e: TestWeakRef#test_ref(rb_yield+0x37) [0x8013e063] -e: TestWeakRef#test_ref(+0x5fb83) [0x8005fb83] -e: TestWeakRef#test_ref(+0x130475) [0x80130475] -e: TestWeakRef#test_ref(+0x130e69) [0x80130e69] -e: TestWeakRef#test_ref(+0x130f36) [0x80130f36] -e: TestWeakRef#test_ref(+0x134f06) [0x80134f06] -e: TestWeakRef#test_ref(+0x142718) [0x80142718] -e: TestWeakRef#test_ref(+0x141294) [0x80141294] -e: TestWeakRef#test_ref(+0x1413ca) [0x801413ca] -e: TestWeakRef#test_ref(+0x13e02a) [0x8013e02a] -e: TestWeakRef#test_ref(rb_yield+0x37) [0x8013e063] -e: TestWeakRef#test_ref(+0x16136d) [0x8016136d] -e: TestWeakRef#test_ref(+0x130475) [0x80130475] -e: TestWeakRef#test_ref(+0x130e69) [0x80130e69] -e: TestWeakRef#test_ref(+0x130f36) [0x80130f36] -e: TestWeakRef#test_ref(+0x134f06) [0x80134f06] -e: TestWeakRef#test_ref(+0x142718) [0x80142718] -e: TestWeakRef#test_ref(+0x141294) [0x80141294] -e: TestWeakRef#test_ref(+0x1413ca) [0x801413ca] -e: TestWeakRef#test_ref(+0x13e02a) [0x8013e02a] -e: TestWeakRef#test_ref(rb_yield+0x37) [0x8013e063] -e: TestWeakRef#test_ref(rb_ary_each+0x90) [0x8015f1d8] -e: TestWeakRef#test_ref(+0x130475) [0x80130475] -e: TestWeakRef#test_ref(+0x130e69) [0x80130e69] -e: TestWeakRef#test_ref(+0x130f36) [0x80130f36] -e: TestWeakRef#test_ref(+0x1317ce) [0x801317ce] -e: TestWeakRef#test_ref(+0x131dfc) [0x80131dfc] -e: TestWeakRef#test_ref(+0x134f06) [0x80134f06] -e: TestWeakRef#test_ref(+0x142718) [0x80142718] -e: TestWeakRef#test_ref(+0x141294) [0x80141294] -e: TestWeakRef#test_ref(+0x1413ca) [0x801413ca] -e: TestWeakRef#test_ref(+0x13e02a) [0x8013e02a] -e: TestWeakRef#test_ref(rb_yield+0x37) [0x8013e063] -e: TestWeakRef#test_ref(rb_ary_each+0x90) [0x8015f1d8] -e: TestWeakRef#test_ref(+0x130475) [0x80130475] -e: TestWeakRef#test_ref(+0x130e69) [0x80130e69] -e: TestWeakRef#test_ref(+0x130f36) [0x80130f36] -e: TestWeakRef#test_ref(+0x1317ce) [0x801317ce] -e: TestWeakRef#test_ref(+0x131dfc) [0x80131dfc] -e: TestWeakRef#test_ref(+0x134f06) [0x80134f06] -e: TestWeakRef#test_ref(+0x142718) [0x80142718] -e: TestWeakRef#test_ref(+0x141294) [0x80141294] -e: TestWeakRef#test_ref(+0x14148c) [0x8014148c] -e: TestWeakRef#test_ref(+0x14151d) [0x8014151d] -e: TestWeakRef#test_ref(rb_proc_call+0x80) [0x8001e3ec] -e: TestWeakRef#test_ref(+0x1a016) [0x8001a016] -e: TestWeakRef#test_ref(rb_exec_end_proc+0x185) [0x8001a2e0] -e: TestWeakRef#test_ref(+0x1a5cf) [0x8001a5cf] -e: TestWeakRef#test_ref(ruby_cleanup+0x158) [0x8001a778] -e: TestWeakRef#test_ref(ruby_run_node+0x40) [0x8001aaec] -e: TestWeakRef#test_ref(+0x1921a) [0x8001921a] /lib/i686/nosegneg/libc.so.6(__libc_start_main+0xe6) [0xb7d45ca6] libc-start.c:228 -e: TestWeakRef#test_ref(+0x190d1) [0x800190d1] -- Other runtime information ----------------------------------------------- * Loaded script: -e: TestWeakRef#test_ref * Loaded features: 0 enumerator.so 1 /home/akr/tst1/lib/ruby/2.1.0/i686-linux/enc/encdb.so 2 /home/akr/tst1/lib/ruby/2.1.0/i686-linux/enc/trans/transdb.so 3 /home/akr/tst1/lib/ruby/2.1.0/i686-linux/rbconfig.rb 4 /home/akr/tst1/lib/ruby/2.1.0/rubygems/compatibility.rb 5 /home/akr/tst1/lib/ruby/2.1.0/rubygems/defaults.rb 6 /home/akr/tst1/lib/ruby/2.1.0/rubygems/deprecate.rb 7 /home/akr/tst1/lib/ruby/2.1.0/rubygems/errors.rb 8 /home/akr/tst1/lib/ruby/2.1.0/rubygems/version.rb 9 /home/akr/tst1/lib/ruby/2.1.0/rubygems/requirement.rb 10 /home/akr/tst1/lib/ruby/2.1.0/rubygems/platform.rb 11 /home/akr/tst1/lib/ruby/2.1.0/rubygems/basic_specification.rb 12 /home/akr/tst1/lib/ruby/2.1.0/rubygems/stub_specification.rb 13 /home/akr/tst1/lib/ruby/2.1.0/rubygems/specification.rb 14 /home/akr/tst1/lib/ruby/2.1.0/rubygems/exceptions.rb 15 /home/akr/tst1/lib/ruby/2.1.0/rubygems/core_ext/kernel_gem.rb 16 /home/akr/tst1/lib/ruby/2.1.0/thread.rb 17 /home/akr/tst1/lib/ruby/2.1.0/monitor.rb 18 /home/akr/tst1/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb 19 /home/akr/tst1/lib/ruby/2.1.0/rubygems.rb 20 /home/akr/tst1/lib/ruby/2.1.0/rubygems/dependency.rb 21 /home/akr/tst1/lib/ruby/2.1.0/rubygems/path_support.rb 22 /home/akr/tst1/lib/ruby/2.1.0/optparse.rb 23 /home/akr/tst1/lib/ruby/2.1.0/minitest/unit.rb 24 /home/akr/tst1/lib/ruby/2.1.0/prettyprint.rb 25 /home/akr/tst1/lib/ruby/2.1.0/pp.rb 26 /home/akr/tst1/lib/ruby/2.1.0/test/unit/assertions.rb 27 /home/akr/tst1/lib/ruby/2.1.0/test/unit/testcase.rb 28 /home/akr/tst1/lib/ruby/2.1.0/test/unit.rb 29 /home/akr/tst1/lib/ruby/2.1.0/delegate.rb 30 /home/akr/tst1/lib/ruby/2.1.0/weakref.rb 31 /home/akr/tst1/lib/ruby/2.1.0/open3.rb 32 /home/akr/tst1/lib/ruby/2.1.0/timeout.rb 33 /home/akr/tst1/ruby/test/ruby/envutil.rb 34 /home/akr/tst1/lib/ruby/2.1.0/i686-linux/io/console.so * Process memory map: 80000000-80225000 r-xp 00000000 ca:03 319812 /home/akr/tst1/ruby/ruby 80225000-80229000 rw-p 00225000 ca:03 319812 /home/akr/tst1/ruby/ruby 80229000-80594000 rw-p 80229000 00:00 0 [heap] b7c7d000-b7c9a000 r-xp 00000000 ca:02 278530 /lib/libgcc_s.so.1 b7c9a000-b7c9b000 rw-p 0001c000 ca:02 278530 /lib/libgcc_s.so.1 b7ca8000-b7cab000 r-xp 00000000 ca:03 468021 /home/akr/tst1/lib/ruby/2.1.0/i686-linux/io/console.so b7cab000-b7cac000 rw-p 00002000 ca:03 468021 /home/akr/tst1/lib/ruby/2.1.0/i686-linux/io/console.so b7cac000-b7d2f000 rw-p b7cac000 00:00 0 b7d2f000-b7e72000 r-xp 00000000 ca:02 83914 /lib/i686/nosegneg/libc-2.11.3.so b7e72000-b7e74000 r--p 00143000 ca:02 83914 /lib/i686/nosegneg/libc-2.11.3.so b7e74000-b7e75000 rw-p 00145000 ca:02 83914 /lib/i686/nosegneg/libc-2.11.3.so b7e75000-b7e78000 rw-p b7e75000 00:00 0 b7e78000-b7e9c000 r-xp 00000000 ca:02 83026 /lib/i686/nosegneg/libm-2.11.3.so b7e9c000-b7e9d000 r--p 00023000 ca:02 83026 /lib/i686/nosegneg/libm-2.11.3.so b7e9d000-b7e9e000 rw-p 00024000 ca:02 83026 /lib/i686/nosegneg/libm-2.11.3.so b7e9e000-b7ea7000 r-xp 00000000 ca:02 83251 /lib/i686/nosegneg/libcrypt-2.11.3.so b7ea7000-b7ea8000 r--p 00008000 ca:02 83251 /lib/i686/nosegneg/libcrypt-2.11.3.so b7ea8000-b7ea9000 rw-p 00009000 ca:02 83251 /lib/i686/nosegneg/libcrypt-2.11.3.so b7ea9000-b7ed0000 rw-p b7ea9000 00:00 0 b7ed0000-b7ed2000 r-xp 00000000 ca:02 83024 /lib/i686/nosegneg/libdl-2.11.3.so b7ed2000-b7ed3000 r--p 00001000 ca:02 83024 /lib/i686/nosegneg/libdl-2.11.3.so b7ed3000-b7ed4000 rw-p 00002000 ca:02 83024 /lib/i686/nosegneg/libdl-2.11.3.so b7ed4000-b7ed5000 rw-p b7ed4000 00:00 0 b7ed5000-b7f32000 r-xp 00000000 ca:02 170351 /usr/lib/libgmp.so.3.5.2 b7f32000-b7f33000 rw-p 0005d000 ca:02 170351 /usr/lib/libgmp.so.3.5.2 b7f33000-b7f3a000 r-xp 00000000 ca:02 83913 /lib/i686/nosegneg/librt-2.11.3.so b7f3a000-b7f3b000 r--p 00006000 ca:02 83913 /lib/i686/nosegneg/librt-2.11.3.so b7f3b000-b7f3c000 rw-p 00007000 ca:02 83913 /lib/i686/nosegneg/librt-2.11.3.so b7f3c000-b7f51000 r-xp 00000000 ca:02 83903 /lib/i686/nosegneg/libpthread-2.11.3.so b7f51000-b7f52000 r--p 00014000 ca:02 83903 /lib/i686/nosegneg/libpthread-2.11.3.so b7f52000-b7f53000 rw-p 00015000 ca:02 83903 /lib/i686/nosegneg/libpthread-2.11.3.so b7f53000-b7f55000 rw-p b7f53000 00:00 0 b7f56000-b7f57000 rw-p b7f56000 00:00 0 b7f57000-b7f5a000 r-xp 00000000 ca:03 467993 /home/akr/tst1/lib/ruby/2.1.0/i686-linux/enc/trans/transdb.so b7f5a000-b7f5b000 rw-p 00002000 ca:03 467993 /home/akr/tst1/lib/ruby/2.1.0/i686-linux/enc/trans/transdb.so b7f5b000-b7f5d000 r-xp 00000000 ca:03 467962 /home/akr/tst1/lib/ruby/2.1.0/i686-linux/enc/encdb.so b7f5d000-b7f5e000 rw-p 00001000 ca:03 467962 /home/akr/tst1/lib/ruby/2.1.0/i686-linux/enc/encdb.so b7f5e000-b7f5f000 ---p b7f5e000 00:00 0 b7f5f000-b7f66000 rw-p b7f5f000 00:00 0 b7f66000-b7f67000 r-xp b7f66000 00:00 0 [vdso] b7f67000-b7f82000 r-xp 00000000 ca:02 278816 /lib/ld-2.11.3.so b7f82000-b7f83000 r--p 0001b000 ca:02 278816 /lib/ld-2.11.3.so b7f83000-b7f84000 rw-p 0001c000 ca:02 278816 /lib/ld-2.11.3.so bfe6b000-bfe81000 rw-p bfe6b000 00:00 0 [stack] [NOTE] You may have encountered a bug in the Ruby interpreter or extension libraries. Bug reports are welcome. For details: http://www.ruby-lang.org/bugreport.html zsh: abort ./ruby -e 'GC.stress = true; load("test/test_weakref.rb")' boron は以下のように Debian GNU/Linux 6.0.8 (squeeze) です。 boron% lsb_release -idrc Distributor ID: Debian Description: Debian GNU/Linux 6.0.8 (squeeze) Release: 6.0.8 Codename: squeeze boron% uname -mrsv Linux 2.6.18-6-xen-686 #1 SMP Thu Nov 5 19:54:42 UTC 2009 i686 なお、この結果はあまり安定したものではないようで、異常終了しない環境もあります。 -- http://bugs.ruby-lang.org/