Seg-fault with proxy and fail-overs

Chris Moules chris at gms.lu
Tue Mar 3 22:56:06 CET 2009


Alan DeKok wrote:
> Chris Moules wrote:
>> The system seems to run fine for some time. Then I get a Seg-Fault. I
>> was quickly able to isolate one clear cause for a
>> seg-fault, which was my 'copy-acct-to-home-server' setup. Disabling the
>> virtual server made the system run, apparently, fine.
>> Setting up this virtual server independently by duplicating and suitably
>> modifying the configuration and running with the '-d'
>> option I was able to watch this system run. It was happily reading from
>> the log file and sending the data to the home-server.
>> After a number of records, (I noted 50-300 on various runs), the
>> freeradius process would segfault. This happend, as far as I
>> could see, always after the home-server failed to respond within the
>> timeout (response_window) and so failed.
> 
>   Ugh.
> 
>   There are ways to track this down, but it involves re-building the
> server with debugging symbols.

The debian build system creates the -dbg package too, I will install this.

> 
>> I have been trying to get a core file from the system without success
>> (very embarrassing):
>> ulimit -c -> unlimited
>> allow_core_dumps = yes
>> cat /proc/sys/kernel/core_pattern -> core
>> The freeradius user has write access to the location where I execute the
>> program.
> 
>   Run it in a "screen" output, under "gdb".  See doc/bugs for instructions.
> 

OK, I have screen on the server. I will need to install gdb and read the
doc/bugs document.

>> Doing an strace of the process was not very insightful:
> 
>   That won't tell you much,
> 
>> Doing a 'kill -TERM' to the process when _not_ processing data produced
>> this:
> ...
>> *** glibc detected *** freeradius: corrupted double-linked list:
>> 0x000000000083b1f0 ***
> ...
>> /usr/lib/freeradius/libfreeradius-radius-2.1.4.so(fr_hash_table_free+0x93)[0x7fbe1c69db63]
>> /usr/lib/freeradius/libfreeradius-radius-2.1.4.so(dict_free+0x7a)[0x7fbe1c69c1da]
> 
>   Hmm... that's not good.  It's not serious, but it's not good.
> 
>   The problem is I don't see that on my test systems.
> 
>   Some more output from "gdb" after a crash would be *enormously* helpful.
> 
>   Alan DeKok.
> -

OK, I will try to get more info. My dev/test setup is i686 and this
server is amd64 (if that is at all related). I built the software in a
chroot on a separate disk attached to the system. I have another amd64
system that I will use for more testing.

Thanks again Alan!

Regards

Chris




More information about the Freeradius-Devel mailing list