>ok...Everytime we use Medit it crashes :)
>It crashes after we answer YES to saving the object internally...
>Now, no one (to my knowledge) has messed with the olc code...so I
>figured it was a mob file..(a bad one)..so I took all the ***.mob out of
>the index except 0.mob, assuming I could narrow down the bad mob file.
>It crashed. So I removed 0.mob and put in 30.mob, still crashed.
>Anyone know why? Does index.mini have to be in correlation with it, in
>some way that I am not familiar with?
>Any other reason why this could be happening, the only olc code to be
>eddited was olc.h, and all that was changes was a
>#define NUM_ITEM_EXTRA_FLAGS (or something like that)
>from 17 to 22....
>Anyone wanna help clear this up?
Hmm... the problem comes from a bad free in medit.c L237 :
/*. Replace tables .*/
free(mob_index);
-> free(mob_proto); /* this one... */
mob_index = new_index;
mob_proto = new_proto;
top_of_mobt++;
it seems to free the wrong pointer as gdb says:
Program received signal SIGBUS, Bus error.
0x73cb4 in free_unlocked ()
when it crashes and the backtrace is:
#0 0x73cb4 in free_unlocked ()
#1 0x73ae0 in free ()
#2 0x6ed44 in medit_save_internally (d=0x299660) at medit.c:238
#3 0x6faf0 in medit_parse (d=0x299660, arg=0xeffff428 "y") at medit.c:563
#4 0x5168c in nanny (d=0x299660, arg=0xeffff428 "y") at interpreter.c:1370
#5 0x1cad8 in game_loop (mother_desc=7) at comm.c:609
#6 0x1c174 in init_game (port=4000) at comm.c:243
#7 0x1c0f8 in main (argc=1, argv=0xeffffaac) at comm.c:213
...
I don't have much time right now so I just removed the free
(*grin*)...
waiting for a better solution...
This archive was generated by hypermail 2b30 : 12/18/00 PST