From: keiju@... (=?ISO-2022-JP?B?GyRCQFBETTc9PHkbKEI=?= ) Date: 1998-07-14T11:38:27+09:00 Subject: [ruby-dev:3288] Re: [BUG] Thread.value けいじゅ@日本ラショナルソフトウェアです. In [ruby-dev :3273 ] the message: "[ruby-dev:3273] Re: [BUG] Thread.value ", on Jul/13 12:18(JST) Yukihiro Matsumoto writes: >まつもと ゆきひろです >やっぱり発生しません.なんでだろう? おかしい.... こちらでは確実に発生します. バックトレースを送ってもいみ はないと思いますが.... (gdb) run -S irb syntax-err.rb Starting program: /usr/local/src/ruby/ruby-1.1b/ruby-1.1b9_30/ruby -S irb syntax-err.rb syntax-err.rb(main):001:0> th = Thread.start do syntax-err.rb(main):002:1* fail "foo" syntax-err.rb(main):003:1> end SyntaxError: compile error syntax-err.rb:1: parse error syntax-err.rb:1 (irb_local_binding):1:in `eval' syntax-err.rb(main):004:0> th = Thread.start { syntax-err.rb(main):005:1* fail "foo" syntax-err.rb(main):006:1> } # syntax-err.rb(main):007:0> Thread.join th # syntax-err.rb(main):008:0> p th.value Program received signal SIGSEGV, Segmentation fault. 0x807b7e3 in st_lookup (table=0x810b838, key=0x1111
, value=0xbfffbb84) at st.c:133 133 hash_val = do_hash(key, table); (gdb) bt #0 0x807b7e3 in st_lookup (table=0x810b838, key=0x1111
, value=0xbfffbb84) at st.c:133 #1 0x804f22f in search_method (klass=1074752140, id=4369, origin=0xbfffbbac) at eval.c:136 #2 0x804f28e in rb_get_method_body (klassp=0xbfffbbe0, idp=0xbfffbbd4, noexp=0xbfffbbd0) at eval.c:157 #3 0x8056241 in rb_call (klass=1074752140, recv=1074773000, mid=4369, argc=0, argv=0x0, scope=1) at eval.c:3634 #4 0x805641d in rb_funcall (recv=1074773000, mid=4369, n=0) at eval.c:3723 #5 0x804fbb2 in get_backtrace (info=1074773000) at eval.c:745 #6 0x805aa6a in thread_value (thread=1074774920) at eval.c:6335 #7 0x805590c in rb_call0 (klass=1074772600, recv=1074774920, id=5617, argc=0, argv=0x0, body=0x400fb794, nosuper=1) at eval.c:3376 #8 0x80562e1 in rb_call (klass=1074772600, recv=1074774920, mid=5617, argc=0, argv=0x0, scope=0) at eval.c:3649 #9 0x8052790 in rb_eval (self=1074790640, node=0x40128964) at eval.c:1999 #10 0x8052645 in rb_eval (self=1074790640, node=0x4012884c) at eval.c:1991 #11 0x80500ee in eval_node (self=1074790640) at eval.c:925 #12 0x80568fe in eval (self=1074790640, src=1074987784, scope=1074847184, file=0x80eebe8 "syntax-err.rb", line=8) at eval.c:3905 #13 0x8056b04 in f_eval (argc=4, argv=0xbfffc220, self=1074846964) at eval.c:3970 #14 0x8055956 in rb_call0 (klass=1074793620, recv=1074846964, id=3569, argc=4, ---Type to continue, or q to quit--- argv=0xbfffc220, body=0x400ffad8, nosuper=1) at eval.c:3382 #15 0x80562e1 in rb_call (klass=1074793620, recv=1074846964, mid=3569, argc=4, argv=0xbfffc220, scope=1) at eval.c:3649 #16 0x8052790 in rb_eval (self=1074846964, node=0x400eae30) at eval.c:1999 #17 0x8052471 in rb_eval (self=1074846964, node=0x400eae08) at eval.c:1978 #18 0x8054a3d in rb_yield_0 (val=4, self=1074846964) at eval.c:2917 #19 0x8051e7b in rb_eval (self=1074846964, node=0x400e8dc4) at eval.c:1848 #20 0x80520e3 in rb_eval (self=1074846964, node=0x400e8ce8) at eval.c:1893 #21 0x80515ec in rb_eval (self=1074846964, node=0x400e8cac) at eval.c:1608 #22 0x8056022 in rb_call0 (klass=1074863224, recv=1074846964, id=9385, argc=0, argv=0x0, body=0x400e8cc0, nosuper=0) at eval.c:3568 #23 0x80562e1 in rb_call (klass=1074863224, recv=1074846964, mid=9385, argc=0, argv=0x0, scope=2) at eval.c:3649 #24 0x8052790 in rb_eval (self=1074846964, node=0x400eaf34) at eval.c:1999 #25 0x8051c97 in rb_eval (self=1074846964, node=0x400eadb8) at eval.c:1788 #26 0x80515ec in rb_eval (self=1074846964, node=0x400eab74) at eval.c:1608 #27 0x8051f0e in rb_eval (self=1074846964, node=0x400e9b84) at eval.c:1858 #28 0x8054a3d in rb_yield_0 (val=4, self=1074846964) at eval.c:2917 #29 0x8051e7b in rb_eval (self=1074846964, node=0x400e9008) at eval.c:1848 #30 0x80520e3 in rb_eval (self=1074846964, node=0x400e8f68) at eval.c:1893 #31 0x80515ec in rb_eval (self=1074846964, node=0x400e8f40) at eval.c:1608 #32 0x8056022 in rb_call0 (klass=1074863224, recv=1074846964, id=9217, argc=0, argv=0xbfffd84c, body=0x400e90bc, nosuper=0) at eval.c:3568 ---Type to continue, or q to quit--- #33 0x80562e1 in rb_call (klass=1074863224, recv=1074846964, mid=9217, argc=1, argv=0xbfffd848, scope=1) at eval.c:3649 #34 0x8052790 in rb_eval (self=1074846964, node=0x400eaf70) at eval.c:1999 #35 0x8051c97 in rb_eval (self=1074846964, node=0x400e9b48) at eval.c:1788 #36 0x8054a3d in rb_yield_0 (val=1074957564, self=1074846964) at eval.c:2917 #37 0x8051e7b in rb_eval (self=1074846724, node=0x400d9a40) at eval.c:1848 #38 0x80515ec in rb_eval (self=1074846724, node=0x400d99dc) at eval.c:1608 #39 0x8054a3d in rb_yield_0 (val=4, self=1074846724) at eval.c:2917 #40 0x8054b2e in rb_yield (val=4) at eval.c:2954 #41 0x8054b4b in f_loop () at eval.c:2960 #42 0x805590c in rb_call0 (klass=1074793620, recv=1074846724, id=3593, argc=0, argv=0x0, body=0x400ffa60, nosuper=1) at eval.c:3376 #43 0x80562e1 in rb_call (klass=1074793620, recv=1074846724, mid=3593, argc=0, argv=0x0, scope=2) at eval.c:3649 #44 0x8052790 in rb_eval (self=1074846724, node=0x400d9f40) at eval.c:1999 #45 0x8051c97 in rb_eval (self=1074846724, node=0x400d9798) at eval.c:1788 #46 0x80515ec in rb_eval (self=1074846724, node=0x400d975c) at eval.c:1608 #47 0x8056022 in rb_call0 (klass=1074928324, recv=1074846724, id=9369, argc=0, argv=0x0, body=0x400d9770, nosuper=0) at eval.c:3568 #48 0x80562e1 in rb_call (klass=1074928324, recv=1074846724, mid=9369, argc=0, argv=0x0, scope=0) at eval.c:3649 #49 0x8052790 in rb_eval (self=1074846964, node=0x400eb060) at eval.c:1999 #50 0x8051c97 in rb_eval (self=1074846964, node=0x400e9b0c) at eval.c:1788 ---Type to continue, or q to quit--- #51 0x80515ec in rb_eval (self=1074846964, node=0x400e9ae4) at eval.c:1608 #52 0x8056022 in rb_call0 (klass=1074863224, recv=1074846964, id=9073, argc=0, argv=0x0, body=0x400eb0c4, nosuper=0) at eval.c:3568 #53 0x80562e1 in rb_call (klass=1074863224, recv=1074846964, mid=9073, argc=0, argv=0x0, scope=0) at eval.c:3649 #54 0x8052790 in rb_eval (self=1074935964, node=0x400ed66c) at eval.c:1999 #55 0x8054a3d in rb_yield_0 (val=18139, self=1074935964) at eval.c:2917 #56 0x8054b2e in rb_yield (val=18139) at eval.c:2954 #57 0x805b1a6 in f_catch (dmy=1074935964, tag=18139) at eval.c:6562 #58 0x8055932 in rb_call0 (klass=1074793620, recv=1074935964, id=3657, argc=1, argv=0xbfffef80, body=0x400ff920, nosuper=1) at eval.c:3379 #59 0x80562e1 in rb_call (klass=1074793620, recv=1074935964, mid=3657, argc=1, argv=0xbfffef80, scope=1) at eval.c:3649 #60 0x8052790 in rb_eval (self=1074935964, node=0x400ed6a8) at eval.c:1999 #61 0x8051c97 in rb_eval (self=1074935964, node=0x400ed630) at eval.c:1788 #62 0x80515ec in rb_eval (self=1074935964, node=0x400ed608) at eval.c:1608 #63 0x8056022 in rb_call0 (klass=1074931804, recv=1074935964, id=5505, argc=0, argv=0x0, body=0x400ede8c, nosuper=0) at eval.c:3568 #64 0x80562e1 in rb_call (klass=1074931804, recv=1074935964, mid=5505, argc=0, argv=0x0, scope=0) at eval.c:3649 #65 0x8052790 in rb_eval (self=1074790640, node=0x400e005c) at eval.c:1999 #66 0x80515ec in rb_eval (self=1074790640, node=0x400dff94) at eval.c:1608 #67 0x80500ee in eval_node (self=1074790640) at eval.c:925 ---Type to continue, or q to quit--- #68 0x805019d in ruby_run () at eval.c:955 #69 0x804f15c in main (argc=4, argv=0xbffff930, envp=0xbffff944) at main.c:32 #70 0x804f0ee in ___crt_dummy__ () (gdb) __ ................................石塚 圭樹@日本ラショナルソフトェア... ----------------------------------->> e-mail: keiju@rational.com <<---