Re: Memory library for debugging?

From: George (greerga@CIRCLEMUD.ORG)
Date: 12/03/97


On Wed, 3 Dec 1997, Chris Jacobson wrote:

>non-reproduceable crashes in free().  They can be very rare, and happen
>anywhere from 2 minutes to 2 days after the MUD has been running.
>Usually within a couple hours tho.  backtrace shows nothing beyond free().

It's because you're scribbling over memory, not because you're doing other
nasty things usually.

>Right now I'm simply rewriting a system to track all memory allocated and
>such, to override CREATE and FREE macros that I use, and log the info...
>George, thanks for the buffers patch, its getting a second use here :-)

I'm going to extend it (somehow) to handle malloc/free too.

If you can figure out what is scribbling over memory then you can figure
out what is causing the crash. (I'd recommend picky buffers if you are
using the buffer patch.)  Otherwise, if you find a way to reproduce it, you
can move free() statements around.  mob_proto usually works well.
Unfortunately, the buffer patch won't detect overruns in structures because
it is only used for strings....ah well, maybe in the future. :)
(Actually, it wouldn't be that hard.)

--
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/08/00 PST