Re: Help (again)

From: Chris Jacobson (fear@ATHENET.NET)
Date: 04/30/98

On 4/30/98 6:12 PM, Ghost Shaidan (ghost@AO.NET) stated:

> > After the MUD has been up for some time (> 6 hours), things become
> > corrupted. This particular object, the short description turned into
> > " open gate".
> >
>         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.

Actually, I believe the problem is related to recent modifications you
have made to oedit or medit or wahtever editor edits the item being

I had this EXACT same problem once...
It deals with editing and saving a new object, and/or the same thing
happening while someone else is in the objected editor editing a new
object.  (to be exact: someone editing a new object while someone else is
doing the same).  Or SOMETHING like that, maybe completely off track (its
been a long time), but try this: look at the item getting fuxed - its
vnum.  Find the next lower or higher items, vnum wise... so that you find
item with rnum 1000 is messed, find the item with rnum 999 and 1001 -
generally around the same vnum also, since both are mapped directly.
Look at the descriptions for the items, or at least, what they SHOULD
have been - everything is getting bumped up an rnum.

The fix has to take place in oedit_save_internally   and since I don't
remember the problem I don't remember the fix... but if you have patched
in Oasis, I assume your competent enough to fix the problem (I hope I'm
not expecting too much).  Its quite an easy one, too, if you read through
all the code in the function, and can figure out what is taking place,
and do that a couple of times and you'll see the loophole.

- Chris Jacobson

     | Ensure that you have read the CircleMUD Mailing List FAQ:  |
     | |

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