けいじゅ@日本ラショナルソフトウェアです.

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> }
#<Thread:0x400fc388>
syntax-err.rb(main):007:0> Thread.join th
#<Thread:0x400fc388>
syntax-err.rb(main):008:0> p th.value

Program received signal SIGSEGV, Segmentation fault.
0x807b7e3 in st_lookup (table=0x810b838, 
    key=0x1111 <Address 0x1111 out of bounds>, value=0xbfffbb84) at st.c:133
133	    hash_val = do_hash(key, table);
(gdb) bt
#0  0x807b7e3 in st_lookup (table=0x810b838, 
    key=0x1111 <Address 0x1111 out of bounds>, 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 <return> to continue, or q <return> 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 <return> to continue, or q <return> 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 <return> to continue, or q <return> 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 <return> to continue, or q <return> 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 <<---