Martin Stjernholm wrote:
Could you also in, say, this last coredump check the contents of the object struct? Something like this:
(gdb) fr 8 #8 0x081687ec in gc_mark_object_as_referenced (o=0x92985d0) at /data/src/gpike/src/object.c:2035 2035 if(gc_mark(o, T_OBJECT)) { (gdb) p *o $1 = {refs = 0, prog = 0x0, next = 0x9296878, prev = 0x0, program_id = 65596, storage = 0x0} (gdb) p *o->next $2 = {refs = 0, prog = 0x0, next = 0x0, prev = 0x0, program_id = 65596, storage = 0x0} (gdb)
Going back to the first coredump, we get: (gdb) fr 8 #8 0x081687ec in gc_mark_object_as_referenced (o=0xb35dbd40) at /data/src/gpike/src/object.c:2035 2035 if(gc_mark(o, T_OBJECT)) { (gdb) p *o $1 = {refs = 0, prog = 0x0, next = 0xb35dc2e0, prev = 0x0, program_id = 166647, storage = 0x0} (gdb) p *o->next $2 = {refs = 0, prog = 0x0, next = 0xb35dc730, prev = 0x0, program_id = 166648, storage = 0x0} (gdb) p *o->next->next $3 = {refs = 0, prog = 0x0, next = 0xb35dc370, prev = 0x0, program_id = 65540, storage = 0x0} (gdb) p *o->next->next->next $4 = {refs = 0, prog = 0x0, next = 0xb35dbe90, prev = 0x0, program_id = 66573, storage = 0x0} (gdb) p *o->next->next->next->next $5 = {refs = 0, prog = 0x0, next = 0xb35dcc70, prev = 0x0, program_id = 66179, storage = 0x0} (gdb)