*arg* debugging..

From: The Merciless Lord of Everything (serces@mud.dk)
Date: 02/07/00


Hi all..

using the GDB debugger is a very nice way of finding bugs, no doubt about
that, in 9 out of 10 cases the error lies just in front of you, and a
simple "bt" will tell you more than much other things. *BUT* every now and
then, gdb cannot tell you why something crashed and comes up with:

#0  0x0 in ?? ()

And a backtrack (bt) tells:
#0  0x0 in ?? ()
#1  0x80b97c2 in process_events () at dg/dg_event.c:81
#2  0x804a5d8 in heartbeat (pulse=187415) at comm.c:759
#3  0x804a590 in game_loop (mother_desc=4) at comm.c:742
#4  0x8049a15 in init_game (port=4000) at comm.c:296
#5  0x80499a2 in main (argc=3, argv=0xbffffc84) at comm.c:263
#6  0x4005bcb3 in __libc_start_main (main=0x8049774 <main>, argc=3,
    argv=0xbffffc84, init=0x8048fb8 <_init>, fini=0x80c978c <_fini>,
    rtld_fini=0x4000a350 <_dl_fini>, stack_end=0xbffffc7c)
    at ../sysdeps/generic/libc-start.c:78

Uhm.. the syslog tells me that an error ocurred with mpurge, but nothing
serious (only Invalid Argument). So I expect error in frame 1
#1  0x80b97c2 in process_events () at dg/dg_event.c:81
81            e->func(e->info);

print *e gives the following:
$6 = {time_remaining = 0, func = 0, info = 0x856e208, next = 0x0}

Perhaps the most interessting parts must be in "info", or as someone
suggested, this is simply an error in either of the libraries I include,
in this case I simply add -lcrypt and nothing else, I had -lefence on
untill recently, but it has been removed prior to this error.

Anyone with some idea as to where to look for an error?

/S

"The Law of Self Sacrifice"
When you starve with a tiger, the tiger starves last.


     +------------------------------------------------------------+
     | Ensure that you have read the CircleMUD Mailing List FAQ:  |
     |  http://qsilver.queensu.ca/~fletchra/Circle/list-faq.html  |
     +------------------------------------------------------------+



This archive was generated by hypermail 2b30 : 04/10/01 PDT