Re: [CODE] CRASH ?????

From: Marc Gale (MARC@BGC.AC.UK)
Date: 08/06/98


<cut MOB file snippet>

> When this MOB is killed and the corpse is
trying to be created,(make_corpse)
> gdb gives the following:
> #0  0x8082d78 in obj_to_obj (obj=0x8c31808, obj_to=0x8c316f8) at handler.c:697
> 697             for (tmp_obj = obj->in_obj; tmp_obj->in_obj; tmp_obj = tmp_obj->in_obj)
>
> It only occurs in this MOB, what is causing it to crash?
> If we remove gold and no equipment...there is no problem and the equipment
> placed on other MOBS doesn't crash it either.
>

I'm sure the problem isn't with the MOB file.  However, do you use
OLC?  If so, load the mob up and make sure it isn't carrying anything
and then write it back to the database.  (I've seen a similar problem
with a mob that was written back whilst fighting, the mob was a mage,
when the mob loaded up, the mage spec proc was called, and bingo, mud
died due to no opponent, but I digress).

Load the mob up and stat it, does your stat show objects carried?
Also, try switching into the mob and typing equip or inventory.

I feel that the problem is an equipment pointer still floating
around.  If you used OLC to write the mob back whilst carrying
something, and it loads up and restores the pointers (doubtful, but
I'm guessing here), when it dies, these pointers are pointing to an
area of memory *not* used by an object, and the mud goes belly up.

Hmm, I'm kinda waffling here, so I'll stop :o)

Marc


     +------------------------------------------------------------+
     | 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