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