From: matz@... (Yukihiro Matsumoto) Date: 2003-04-19T14:36:58+09:00 Subject: Re: problem with rb_rescue2() ? Hi, In message "Re: problem with rb_rescue2() ?" on 03/04/19, Mathieu Bouchard writes: |But in the meanwhile I thought about it and figured out I can use Fixnums |anyway -- my pointers are 0 mod 4 so i can >>2 them and then pass them to |INT2NUM() like I'm doing alot in other parts of my program. | |But I have to report a problem I have. I'll try to make a summary of the |stack: Hmm, (eval):1: [BUG] rb_gc_mark(): unknown data type 0x20(0xbfffa560) means rb_gc_mark() was called with non Ruby object pointer, which should not happen. |#5 0x404776fa in rb_gc_mark (ptr=3221202272) at gc.c:513 This is a problem (ptr=3221202272=0xbfffa560), and line rb_gc_mark() is called from |#13 0x4047834b in rb_gc () at gc.c:1240 which is /* mark protected global variables */ for (list = global_List; list; list = list->next) { rb_gc_mark(*list->varptr); } so I assume values of C variables which is protected by rb_register_address() or rb_global_variable() is not initialized sometimes. They should _always_ point to Ruby values. matz.