> On Mon, 29 May 2000, The Merciless Lord of Everything wrote: > > >We're currently looking so much at corefiles that we are blue in the face > >(or black/white, you decide.. :), since we're having mysterious crashes > >when people edit new rooms. This is a new crash and as soon as I have some > >more information, I might ask about this... BUT!! > > > >The other day, one of our players type 'get coins from corpse' should be > >pretty much straightforward, *BOOM* Mud crashes, very big ponder about > >this one.. > > You're probably trashing random parts of memory and as such GDB backtraces > are useless since they're showing the symptoms and not the cause. > > Link your MUD with -lefence (Electric Fence) and boot it into mini-mud mode > (unless you have gobs of memory) and then create new rooms and such until > it crashes. If that doesn't do it, try setting the environment variable > EF_PROTECT_BELOW to 1 and then running the MUD with Electric Fence. > > There's also a variable called EF_PROTECT_FREE to enable if you suspect its > using previously freed memory. However, that option will consume even more > memory. Fortunately, most if it can be swapped out without causing harm to > the machine so just make tons of swap. > > -- > George Greer | Sammy's Code - OBuild Another note on thisone is if you are tryingto recreate the crash, run the MUD throught gdb. Go to your mud home directory, fire up gdb abd then type in the following commands: "file bin/circle" "run" Next the MUD crashes GDB will know the exact point. If indeed you are randomly thrashing memory however this might not be the reason the MUD crashes. try a few times, see if it's the same commands crashing it over and over again. It might be that you are overwriting used memory when editing rooms, to prevent this see if you can find a place in the code to allocate memory for a room before filling it in. Take as much memory as a room can possibly use (malloc), or just (realloc) with every addition to the edited obj or room. that should free unused mem, and reserve what's needed. Note however you STILL have to free it after you are done with it (free) use man on the words in () if you don't know them yet that'll explain in detail. Allan Hangaard +------------------------------------------------------------+ | Ensure that you have read the CircleMUD Mailing List FAQ: | | http://qsilver.queensu.ca/~fletchra/Circle/list-faq.html | +------------------------------------------------------------+
This archive was generated by hypermail 2b30 : 04/10/01 PDT