CODE: Olc 1.5 medit crashing

From: Mark A. Heilpern (heilpern@MINDSPRING.COM)
Date: 10/28/97

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:
        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)

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

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