yarv-dev:879
From: sheepman <sheepman sheepman.sakura.ne.jp>
Date: Tue, 14 Feb 2006 18:38:18 +0900
Subject: [yarv-dev:879] open> ObjectSpace.each_object dumps core
こんばんは、sheepman です。
次のようにすると core を吐きます。
$ cat t.rb
ObjectSpace.each_object{|o|
o.to_s
}
$ ./miniruby -v t.rb
ruby 1.9.0 (2006-02-14) [i686-linux]
YARVCore 0.3.3 (rev: 418) [opts: ]
DBG> : "t.rb:2:in `block in <main>'"
DBG> : "t.rb:1:in `each_object'"
DBG> : "t.rb:1:in `<main>'"
-- stack frame ------------
0x402b1008 (0000): 00000001
0x402b100c (0001): 00000004
0x402b1010 (0002): 40297820
0x402b1014 (0003): 4029a228
0x402b1018 (0004): 40330fa5
0x402b101c (0005): 00000001
0x402b1020 (0006): 40297924
0x402b1024 (0007): 08142e8d
0x402b1028 (0008): 40297924
0x402b102c (0009): 00000001 <- lfp <- dfp
-- control frame ----------
c:0007 p:-001 s:0010 b:0010 l:0009 d:0009 CFUNC i:to_s s: -
c:0006 p:0009 s:0008 b:0008 l:-903 d:0007 BLOCK i:block in <main> s: -
c:0005 p:-001 s:0006 b:0006 l:0005 d:0005 FINISH i:- s: -
c:0004 p:-001 s:0005 b:0005 l:0004 d:0004 CFUNC i:each_object s: -
c:0003 p:0013 s:0003 b:0003 l:-903 d:-903 TOP i:<main> s:
c:0002 p:-001 s:0001 b:0001 l:0000 d:0000 FINISH i:- s: -
c:0001 p:-001 s:0000 b:-001 l:0000 d:0000 ------ i:- s: -
---------------------------
[BUG] Segmentation fault
ruby 1.9.0 (2006-02-14) [i686-linux]
zsh: abort ./miniruby -v t.rb
以下はバックトレースです。
(gdb) bt
#0 0x400ecc11 in kill () from /lib/i686/libc.so.6
#1 0x4002a341 in pthread_kill () from /lib/i686/libpthread.so.0
#2 0x4002a6bb in raise () from /lib/i686/libpthread.so.0
#3 0x400ec8a4 in raise () from /lib/i686/libc.so.6
#4 0x400ee008 in abort () from /lib/i686/libc.so.6
#5 0x080c9c9a in rb_bug (fmt=0x80f36b1 "Segmentation fault") at ../yarv/error.c:171
#6 0x080a01db in sigsegv () at ../yarv/signal.c:467
#7 0x4002ce8e in __pthread_clock_settime () from /lib/i686/libpthread.so.0
#8 0x400ec908 in killpg () from /lib/i686/libc.so.6
#9 0x08056d1f in search_method (klass=1073937284, id=3221216380, klassp=0x0) at eval_method.h:177
#10 0x08056d63 in rb_get_method_body (klass=135529073, id=4047, idp=0x0) at eval_method.h:204
#11 0x08056e2a in rb_method_node (klass=135529073, id=6) at eval_method.h:246
#12 0x0805920b in rb_obj_respond_to (obj=1076459672, id=4449, priv=0) at ../yarv/eval.c:704
#13 0x080592c7 in rb_respond_to (obj=1076459672, id=4449) at ../yarv/eval.c:720
#14 0x08073d78 in convert_type (val=1076459672, tname=0x80f48ed "String",
method=0x80dc8b1 "to_str", raise=0) at ../yarv/object.c:1968
#15 0x08073f4f in rb_check_convert_type (val=1076459672, type=7, tname=0x80f48ed "String",
method=0x80dc8b1 "to_str") at ../yarv/object.c:2007
#16 0x080a491e in rb_check_string_type (str=1073937284) at ../yarv/string.c:519
#17 0x080be2ad in rb_ary_join (ary=1076459812, sep=4) at ../yarv/array.c:1275
#18 0x080be34f in rb_ary_to_s (ary=1075816808) at ../yarv/array.c:1347
#19 0x080b7fcb in call_cfunc (func=0x80be320 <rb_ary_to_s>, recv=1076459812, len=1073937284,
argc=0, argv=0x6) at call_cfunc.h:21
#20 0x080b60f1 in th_eval (th=0x813e900, initial=0) at insns.def:1325
#21 0x080b7c44 in th_eval_body (th=0x813e900) at ../yarv/vm.c:1297
#22 0x080b3c2d in th_invoke_yield (th=0x813e900, argc=1, argv=0xbfffe630) at ../yarv/vm.c:590
#23 0x08059992 in rb_yield_0 (val=1076459812, self=0, klass=0, flags=0, avalue=0) at yarv.h:49
#24 0x08059a22 in rb_yield (val=1076459812) at ../yarv/eval.c:1210
#25 0x0806034b in os_live_obj () at ../yarv/gc.c:1564
#26 0x0806049d in os_each_obj (argc=0, argv=0x402b1018) at ../yarv/gc.c:1646
#27 0x080b7fcb in call_cfunc (func=0x8060470 <os_each_obj>, recv=1076470312, len=1073937284,
argc=0, argv=0x6) at call_cfunc.h:21
#28 0x080b60f1 in th_eval (th=0x813e900, initial=0) at insns.def:1325
#29 0x080b7c44 in th_eval_body (th=0x813e900) at ../yarv/vm.c:1297
#30 0x080b8f48 in yarvcore_eval_iseq (iseq=1076459952) at yarv.h:49
#31 0x08058880 in ruby_exec_internal () at ../yarv/eval.c:261
#32 0x080588b4 in ruby_exec () at ../yarv/eval.c:275
#33 0x080588ef in ruby_run () at ../yarv/eval.c:293
#34 0x08055ff4 in th_get_ruby_level_cfp (th=0x401fa968, cfp=0x6) at ../yarv/main.c:46
#35 0x400d9c1f in __libc_start_main () from /lib/i686/libc.so.6
--
sheepman / TAMURA Takashi
sheepman sheepman.sakura.ne.jp http://sheepman.parfait.ne.jp/
--
ML: yarv-dev quickml.atdot.net
使い方: http://www.atdot.net/~ko1/quickml
-> 879 2006-02-14 18:38 [sheepman sheepman.sa] open> ObjectSpace.each_object dumps core 885 2006-02-14 19:07 ┗[ko1 atdot.net ] fixed> Re: open> ObjectSpace.each_object dumps core