cvs current with SIGSEGV; how to track down
Jason Ornstein
jason.ornstein at sybase.com
Sat May 28 01:24:51 CEST 2005
* Alan DeKok <aland at 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
More information about the Freeradius-Devel
mailing list