Hello,

recently our radius died again. It's taken from CVS short before 0.5.

A moment before the crash the server has got a -HUP to reload it's config.
Reading the below backtrace, I suspect, there was still a task accessing
the old, already free()ed config.

I suppose, this isn't easy to fix. Since the crash happened only once,
it's not important to me to get a fix soon. 

$ gdb radiusd core
GNU gdb 5.0
Copyright 2000 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "sparc-sun-solaris2.7"...
Core was generated by `/usr/local/sbin/radiusd -f'.
Program terminated with signal 9, Killed.
[...]
#0  0x22274 in dict_valbyattr (attr=5, val=20120) at dict.c:663
663             for (v = dictionary_values; v; v = v->next) {
(gdb) bt
#0  0x22274 in dict_valbyattr (attr=5, val=20120) at dict.c:663
#1  0x225fc in vp_prints_value (out=0xeeb0546b "", outlen=1013, vp=0x1420d8, 
    delimitst=1) at print.c:133
#2  0x22860 in vp_prints (out=0xeeb05460 "NAS-Port = ", outlen=1024, 
    vp=0x1420d8) at print.c:212
#3  0x2288c in vp_print (fp=0x40a00, vp=0x1420d8) at print.c:227
#4  0xeec70cf0 in detail_accounting (instance=0xa74820, request=0x556068)
    at rlm_detail.c:177
#5  0x1e3b4 in call_modsingle (component=12, sp=0x1e9600, request=0x556068, 
    default_result=7) at modcall.c:205
#6  0x1e55c in modcall (component=3, c=0x1e9600, request=0x556068)
    at modcall.c:288
#7  0x1e408 in call_modgroup (component=3, g=0x1e9600, request=0x556068, 
    default_result=0) at modcall.c:227
#8  0x1e50c in modcall (component=3, c=0x530298, request=0x556068)
    at modcall.c:281
#9  0x1dbd0 in indexed_modcall (comp=3, idx=0, request=0x556068)
    at modules.c:456
#10 0x1df98 in module_accounting (request=0x556068) at modules.c:657
#11 0x17b68 in rad_accounting (request=0x556068) at acct.c:65
#12 0x15a40 in rad_respond (request=0x556068, fun=0x17b20 <rad_accounting>)
    at radiusd.c:1536
#13 0x202b8 in request_handler_thread (arg=0x141cc8) at threads.c:169
(gdb) p v
$1 = (DICT_VALUE *) 0x417
(gdb) p *v
Cannot access memory at address 0x417
(gdb) p dictionary_values 
$2 = (DICT_VALUE *) 0x2b6768
(gdb) 


Rainer

-- 
KeyID=759975BD fingerprint=887A 4BE3 6AB7 EE3C 4AE0  B0E1 0556 E25A 7599 75BD

- 
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html

Reply via email to