From: Jim Cain Date: 2003-07-04T16:13:08+09:00 Subject: Re: rb_gc_mark(): unknown data type...non object Yukihiro Matsumoto wrote: > Hi, > > In message "rb_gc_mark(): unknown data type...non object" > on 03/07/04, Jim Cain writes: > > |I figure I'm getting this because I've got a VALUE that's not a Ruby > |object. Has anyone figured out a good way to track down such a bug? > > I use gdb. If you're not using your own extension, show us the > backtrace (output from gdb "where" command). We may be able to help > you. > > matz. > > Thanks; it's my Ruby9i extension. I've wasted two days on this and haven't found anything definitive. Even when I would explicitly start the gc, sometimes I would get the error and sometimes not. I began to suspect that it wasn't a bad VALUE but rather a buffer overrun elsewhere that was corrupting a VALUE. In the meantime, I was reading some previous posts about rb_obj_alloc "only working for T_OBJECT classes" in 1.6.x. Just what exactly are T_OBJECT classes? Non-builtin classes? I wasn't sure just what was meant by that, and I do use rb_obj_alloc in a few cases, so out of curiosity I built my extension on 1.8, and now I don't get the gc "unknown data type" error. At least not yet. Maybe just a coincidence. We'll see.