* Alan DeKok <aland@ox.org> [2005-05-27 18:08:09 -0400]:
You should see a backtrace.
Bummer.
I'd suggest using: fprintf(stderr, "%s[%d]\n", __FILE__, __LINE__); in various places, down the call chain, until you don't see the messages. The point right before that is where it's dying. :)
I did that in radiusd.c and I have one right before and after this line next = listener->update(listener, time_now); in radiusd.c and it looks like the 4th time through the for loop is when I get the segfault. I I print out the value of next right before and after this assignment I see it going from 0 to 1 to 65536 and then it dumps core. In gdb I see this (gdb) print time_now $1 = 1117235657 (gdb) print next $2 = {<text variable, no debug info>} 0xfef3a088 <next> I'm not sure how I would debug futher the listener->update(listener, time_now) statement. I'll have to read more code for that, but I'm not sure where to look for that just yet. Have a great weekend. -jason