> It'd help to know what line it's crashing on (the first thing it shows you > when you load up gdb). *agree* I thought I did that... Maybe I forgot... Anyway... dgb reported a crash here: 0x807eebd in check_fall () at limits.c:368 368 if (((SECT(IN_ROOM(ch)) == SECT_FLYING)) && (!AFF_FLAGGED(ch, AFF_FLY)) && and that's why i was pondering NULL pointers and everything... BUT! > You can probably findd your problem pretty easily by putting a breakpoint > on check_fall (gdb> break check_fall) and using step to see what's > happening. I've started doing that after I wrote the message... And now I have a proof, that only printing out last things in gdb and hunting for bugs just with looking backtrace info... won't help me much.. The thing is, that mud crashes before that line gdb reports! *cringe* *blink* *confuse* *bonk* *wtf* Heck.. it's true... stepping looked like this... (gdb) 1164 else if (amount <= 10000) (gdb) 1165 strcpy(buf, "a large heap of gold coins"); (gdb) 1181 return buf; (gdb) 1182 } (gdb) Program received signal SIGSEGV, Segmentation fault. 0x807eebd in check_fall () at limits.c:368 368 if (((SECT(IN_ROOM(ch)) == SECT_FLYING)) && (!AFF_FLAGGED(ch, AFF_FLY)) && Which means... The ch was killed... corpse is beaing created... right now the money is being created.... then when the money is created and we should return back into make_corpse() and do a obj_to_obj() we just simply crash... *blink* Hm, Am I here on the right path to the solution? *scratch* At least that's seems to me, like that mud is crashing upon exiting create_money() and then in gdb just skips everything and BANG we et a faulty report from crash.. David! +------------------------------------------------------------+ | 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