(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