Re: extract_obj crash

From: George (greerga@CIRCLEMUD.ORG)
Date: 04/12/98


On Sat, 11 Apr 1998, John Evans wrote:

>#0  0x807df90 in extract_obj (obj=0x81fc4c0) at handler.c:879
>879       REMOVE_FROM_LIST(obj, object_list, next);

>When extracting the second object that is to be extracted since the game
>booted, the game crashes. I've compared my extract_obj() and
>REMOVE_FROM_LIST against stock code and they are identical, so the cause
>of the crash has to be from somewhere outside these sections of code.

Start out with a 'p *object_list', then 'p *object_list->next', then '*p
object_list->next->next', eventually you will find the problem.

Take a note of what the value of the next pointer is, and see if it would
make a valid ASCII character string.  Sometimes it will, other times it
may have been overwritten by simple numbers.

>Oh jeez... I hope this makes sense to someone out there because I am
>totally missing the cause.

There's probably something trashing your list.  I once had a problem where
the real number of an object (nr, the first field) would be overwritten by
a memory access.  The result would be a real number in the 10,000 range.
So whenever the MUD went into the point_update(), it would crash because
the real number was obviously invalid.  Perhaps there is something similiar
trashing your structures or their values.

--
George Greer  -  Me@Null.net   | Genius may have its limitations, but stupidity
http://www.van.ml.org/~greerga | is not thus handicapped. -- Elbert Hubbard


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