Strange crash..

From: The Merciless lord of Everything (serces@MUD.DK)
Date: 02/03/98


Hi all..

Now I've been fiddeling with this long enough, I can't seem to figure
out what goes wrong. this is what GDB tells me :

Core was generated by `bin/circle -q 4000'.
Program terminated with signal 11, Segmentation fault.
Reading  symbols from /lib/libc.so.5.3.12...done.
Reading symbols from /lib/ld-linux.so.1...done.
#0  point_update () at limits.c:487
487       next_thing = j->next; /* Next in the object list */
(gdb) bt
#0 point_update () at limits.c:487
#1  0x804a4f3 in heartbeat (pulse=279000) at comm.c:760
#2  0x804a3c2 in game_loop (mother_desc=5) at comm.c:711
#3  0x8049964 in init_game (port=4000) at comm.c:301
#4  0x80498ea in main (argc=3, argv=0xbffffdb4) at comm.c:271
#5  0x80493eb in ___crt_dummy__ ()
 In limits.c this is what is going on :

 /* objects */
for (j = object_list; j; j = next_thing) {
/* This is the line crashing the mud */
 next_thing = j->next; /* Next in the object list /*
 if (j->in_room == NOWHERE)  continue;
if ((GET_OBJ_TYPE(j) != ITEM_CONTAINER) ||
 (!j->obj_flags.value[3]))
 continue;
 if (j->obj_flags.timer > 0)
  if (!(--j->obj_flags.timer))
     crumble_obj(0, j);
}

Could it be that next_thing is Zero? And the for line should be
for (j=object_list;j:j=j->next) {

If I try printing j->next I get that it cannot access the memory.

Hope someone has an Idea to this one, it seems it's the major thing
crashing the mud nowadays. *sniff*

S. P. Skou
serces@mud.dk - Implementor at the Realm of Chaos - Chaos.mud.dk 4000


     +------------------------------------------------------------+
     | Ensure that you have read the CircleMUD Mailing List FAQ:  |
     | http://democracy.queensu.ca/~fletcher/Circle/list-faq.html |
     +------------------------------------------------------------+



This archive was generated by hypermail 2b30 : 12/15/00 PST