*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?


"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