From: ts Date: 2001-01-05T00:17:57+09:00 Subject: [ruby-talk:8632] Re: rb_iterate() >>>>> "M" == Minero Aoki writes: M> Maybe you are right. (As you know) rb_gc_mark() is not needed M> because it is on the stack frame, I'm agree with you, but the problem is that it's not a _valid_ object and ruby call rb_gc_mark() for this object. This is rb_gc_mark() which is trying to interpret this structure as a Ruby object. For example, for Racc, rb_gc_mark() think that the object given is a Struct Object (i.e. it has found TYPE(obj) == T_STRUCT), and try to mark it like it do for a Struct object. Same problem with the example given where ruby-1.7.0 segfault (rb_gc_mark() is trying to mark an invalid object). Guy Decoux