Re: Help (again)

From: Patrick Dughi (dughi@IMAXX.NET)
Date: 04/30/98


> I'm having a strange memory problem. I'm not entirely sure where to look.
>
> Lets say I have an object. Lets take an egg for instance:
>
> AFK 5000/5000h [none] > stat egg
> Name: 'a egg', Aliases: egg
>
> Short description is "a egg" (I know, bad grammar :/).
>
> After the MUD has been up for some time (> 6 hours), things become
> corrupted. This particular object, the short description turned into
> " open gate".
>
> I'm bad when it comes to memory stuff. I'm not sure where to even BEGIN to
> look. Anyone have any ideas?
>

        That isn't just kinda bad, thats really bad.  This sort of memory
thing is pretty difficult to track down and remove.  Obviously, data being
stored in some temporary buffer is overwriting your existing data.  Lucky
for you you're not getting an apparent random write (with garbage
characters and such), but an actual string replacing the previous one.
You have a chance - find all the areas in your code (especially if you
have any sort of online building) where you alter that string. Make sure
that its 'tight' - initilize buffers before you use them, do integrity
checking, etc.  I don't think there's a good tried and true way to
determine the villan of a seemingly random memory overwrite, unless you
want to write a memory manager or something of the sort. If you haven't
gotten it though, Georges buffer code may help you a bit here, since it
does quite a bit of work for you to maintain buffer sanity.

                                                PjD


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