Segfault in pike 7.8.352 (when running roxen-5.0.403)
Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=5072
Reported by Anders Blomdell, Reglerteknik, LTH anders.blomdell@control.lth.se
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x727cb90 (LWP 3647)]
gc_zap_ext_weak_refs_in_objects () at /tmp/leif/Pike-v7.8.352/src/object.c:2303
warning: Source file is more recent than executable.
2303 if (o->refs)
(gdb) list
2298 {
2299 gc_mark_object_pos = first_object;
2300 while (gc_mark_object_pos != gc_internal_object && gc_ext_weak_refs) {
2301 struct object *o = gc_mark_object_pos;
2302 gc_mark_object_pos = o->next;
2303 if (o->refs)
2304 gc_mark_object_as_referenced(o);
2305 }
2306 gc_mark_discard_queue();
2307 }
(gdb) print o
No symbol "o" in current context.
(gdb) print gc_mark_object_pos
$1 = (struct object *) 0xa490cbc
(gdb) print *gc_mark_object_pos
$2 = {refs = 0, prog = 0x0, next = 0xa49017c, prev = 0xb774c434, storage = 0x0}
(gdb) print *gc_mark_object_pos->next
$3 = {refs = 0, prog = 0x0, next = 0xa490d20, prev = 0xa490cbc, storage = 0x0}
(gdb) print *gc_mark_object_pos->prev
$4 = {refs = 1, prog = 0x942337c, next = 0xa490cbc, prev = 0xb774c420, storage = 0x0}
(gdb) print first_object
$5 = (struct object *) 0xa7449b8
(gdb) print gc_internal_object
$6 = (struct object *) 0xb774be30
A. Can refs=1 and storage=0x0 be the problem B. Is there a way to force gc to run, in order to invetsigate problem further.