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