From: ts Date: 2001-01-04T02:43:04+09:00 Subject: [ruby-talk:8576] rb_iterate() Stupid question of the day :-) How many people use rb_iterate() with an invalid object given for the last argument ? I know that I do this in some my extensions :-) With the last modification (NODE_IFUNC), if the GC is called it will try to mark this object and you can have a big surprise. Here an example with racc (I found it when I was trying to install the new version of RDTool, with racc-1.3.3) with 1.6.2 without NODE_IFUNC pigeon% ./ruby /usr/local/bin/racc rd/rdblockparser.ry pigeon% with 1.6.2 and the modification for NODE_IFUNC pigeon% ./ruby /usr/local/bin/racc rd/rdblockparser.ry /usr/local/lib/ruby/site_ruby/1.6/racc/parser.rb:97: [BUG] rb_gc_mark(): unknown data type 0x31(0x8135930) non object ruby 1.6.2 (2000-12-25) [i686-linux] Aborted pigeon% If I'm right, this is ruby trying to mark the struct cparse_params given to rb_iterate() (via the call REDUCE(v, act)) Guy Decoux