I'm trying to get medit to work and am running into some pretty serious difficulties. The problem is that when saving a newly created mob (and the mob_index needs to grow), my mud crashes. I've looked through some of the archives and there was a suggestion for someone else to simply comment out one or both free's at the end of medit_save_internally(). As much as I hate that thought, I tried it to no avail. Now, something interesting. In the debugger, if I put a breakpoint at assign_the_shopkeepers(), (which is called from boot_db() within db.c), and "print free(mob_index)" (a gdb command) before the function has run, free is just fine. If i restart, and print the same thing after the subroutine has run completely, that calling of free() (through the gdb print command) causes a SIGSEGV. Now, if instead I force assign_the_shopkeepers() to return immediately, and then execute the next several routines (assign_objects(), assign_rooms(), etc.) free(mob_index) works perfectly. (Again, of course I restart the mud after each forced free() call). However, if I let the mud run till the point that it is ready to accept connections, interrupt it, and force free() to run, I get a SIGSEGV. If you've made it this far, you may be interested in knowing a little about how my mud was built, so... it's: 3.0bp11 oasisolc.tar.gz from the ftp site (a combination of oasis 1.3 i believe (1.2 + a 1.3diff patch) and improved_edit), alias.c.gz (save aliases) autoeq.pl11 (save equiped items when rented) easy-color-v2.2 social_editor tfiles_editor Thanks for reading this far, and thanks even more if you've an idea on how to cure this memory problem. +------------------------------------------------------------+ | 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