The system our mud was running on was upgraded to a more recent version of Linux's libc (up to 5.3.12 now) and I've noticed that my medit on new objects has now broken. I thought it was something benign (some bad code I've added) so I sat down and passed the thing thru gdb. What I found, however, baffles me even more. The intial CREATE(mob_index, blah, blah) creates the mob_index without a hitch. Now, when I create a new object, and Oasis goes to free it, boom, it crashes at the free(mob_index) line. A backtrace really gets me messed up. (gdb) backtrace #0 0x4004156d in __libc_free () #1 0x8290dbc in ?? () #2 0x1 in ?? () #3 0x104ec in ?? () Cannot access memory at address 0x81e58955. To the best of my knowledge, I don't even touch mob_index anywhere else (like this) except in medit.c I think I remember someone saying that malloc() and friends was changed a bit, but this is too wierd. What's worse, it appears that oedit and friends DO work...so this really has got me spinning for a loop. Also, why does it appear that my return stack has gone haywire? (which is somewaht disturbing) Does anyone have suggestions/comments? (What I wouldn't do for Purify (or some tool just as good/simple to setup) right about now...) Also, it does manifest itself on libc 5.3.17 (which my RedHat system runs as well). +-----------------------------------------------------------+ | Ensure that you have read the CircleMUD Mailing List FAQ: | | http://cspo.queensu.ca/~fletcher/Circle/list_faq.html | +-----------------------------------------------------------+
This archive was generated by hypermail 2b30 : 12/18/00 PST