From: yamamoto madoka Date: 2003-07-03T18:23:42+09:00 Subject: [ruby-dev:20493] Re: [BUG] evalがらみでSIGSEGV 山本です。 条件がいまいちふめいで色々絡んでて難しそうですが、 なんとか作ってみようと思います。 ----- Original Message ----- From: To: "ruby developers list" Sent: Thursday, July 03, 2003 6:13 PM Subject: [ruby-dev:20492] Re: [BUG] evalがらみでSIGSEGV > なかだです。 > > At Tue, 1 Jul 2003 15:37:45 +0900, > yamamoto madoka wrote: > > ./foo.rb:26: [BUG] Segmentation fault > > ruby 1.8.0 (2003-06-30) [i686-linux] > > > > 該当部分のコードは以下のようなものです。 > > > > if Array != val.class > > > > osはredhat8です。 > > > > 発生するスクリプトまたもスレッド、ソケット、さらにevalを使ったものです。 > > (一連のバグはすべて同じスクリプトで発見してます) > > すいません、これだけだとちょっと手がかりが少ないのですが、再現 > できるスクリプトなどはないでしょうか。 > > > 出るタイミングはまたしても、たまに出る、という感じです。 > > 場所も、GC.startなどを挟むと変わります。 > > おそらくGC絡みだと思いますが、SEGVしたときにはもう肝心の部分が > 壊れてしまってるので。 > > > Program received signal SIGSEGV, Segmentation fault. > > 0x08056c27 in rb_eval (self=1075325136, n=0x6c6f6f74) at ruby.h:630 > > 630 if (SYMBOL_P(obj)) return rb_cSymbol; > > 実際にはその次の > return RBASIC(obj)->klass; > で、既に開放されているobjをアクセスしてるんでしょう。 > > -- > --- 僕の前にBugはない。 > --- 僕の後ろにBugはできる。 > 中田 伸悦 >