cvs current with SIGSEGV; how to track down

Jason Ornstein jason.ornstein at sybase.com
Fri May 27 23:43:47 CEST 2005


I've worked around some of the compile time issues that I'm having 
and now I have something that is a bit more of a problem.  I've
configured the server with --enable-developer and I'm running the
server with gdb (this happens without gdb too) and this is part of
what I see:


        ...
        rlm_pap: User authenticated succesfully
          modcall[authenticate]: module "pap" returns ok for request 0
        modcall: leaving group PAP (returns ok) for request 0
        Sending Access-Accept of id 41 to 10.15.32.71 port 1645
                Service-Type = NAS-Prompt-User
                Login-Service = Telnet
                Login-TCP-Port = Telnet
        Finished request 0
        Going to the next request
        --- Walking the entire request list ---

        Program received signal SIGSEGV, Segmentation fault.
        0x00000000 in ?? ()
        (gdb) where
        #0  0x00000000 in ?? ()
        (gdb) bt
        #0  0x00000000 in ?? ()
        (gdb)

Am I wrong in thinking, that in a normal case I should see some type of 
backtrace?

The debug message, walking..., is from radiusd.c at line 737.  Here is 
the code

                /*
                 *      Loop through the request lists once per
                 *      second, to clean up old requests.
                 */
                if (last_cleaned_lists != time_now) {
                        last_cleaned_lists = time_now;

                        DEBUG2("--- Walking the entire request list ---");
                        sleep_time = SLEEP_FOREVER;
                        for (listener = mainconfig.listen;
                             listener != NULL;
                             listener = listener->next) {
                                int next;

                                next = listener->update(listener, time_now);
                                if (next < sleep_time) {
                                        sleep_time = next;
                                }
                        }
                }

Maybe listener is never NULL?

-jason



More information about the Freeradius-Devel mailing list