From: SASADA Koichi Date: 2014-05-24T08:00:09+09:00 Subject: [ruby-dev:48234] Re: [ruby-trunk - Bug #9859] [Open] An object with 6 instance variables causes SEGV (2014/05/24 4:33), akr@fsij.org wrote: > 気がついたのですが、以下のようにすると SEGV します。 ちょっと追ってみたのですが、 variable.c の > REALLOC_N(ROBJECT(obj)->as.heap.ivptr, VALUE, newsize); で xrealloc() が成功後、GC 発生して、mark 関数(mark_childrenの T_OBJECT)において、xrealloc によって解放された古いバッファを参照してい るため、であるようです。 どっかのタイミングで xrealloc でも GC.stress による強制 GC がされるよう になったと思いますが、xrealloc が成功後、こんなふうに GC が走ると死んで しまうので、xrealloc 成功時での GC.stress による強制 GC はダメなんじゃな いでしょうか。 (元の議論の場所を思い出せない) -- // SASADA Koichi at atdot dot net