Hello, I have recently install freeradius 2.1.1 on our old RHEL (Red Hat Enterprise Linux ES release 4 (Nahant Update 2), libc-2.3.4) server which already runs multiple radiator instances. The last time I started freeradius was Friday. Since then there are 66 freeradius processes, among them 65 are locked: # strace -p 7833 Process 7833 attached - interrupt to quit futex(0x263ecc, FUTEX_WAIT, 2, NULL I have googled the issue and investigated the gdb backtrace, however the only idea I have right now is to upgrade a system to more recent one (I know, running outdated system is stupid idea, however why we still run it is a long story). As it's not an easy task, I'd like to be sure that the reason is old libraries or stuff like that. I have attached a gdb backtrace, ldd output, freeradius configuration. I am ready to debug a system further and provide more information, if this isn't enough. Any help is appreciated. Thanks in advace George Chelidze # /usr/local/freeradius/etc/raddb/sites-enabled/default preacct { fillrealm acct_unique } accounting { sql billing detail } # /usr/local/freeradius/etc/raddb/modules/acct_unique acct_unique { key = "Calling-Station-Id, Acct-Session-Id, 3GPP2-Correlation-Id" } # /usr/local/freeradius/etc/raddb/modules/detail detail { detailfile = ${radacctdir}/%{Client-IP-Address}/detail-%Y%m%d detailperm = 0600 } # /usr/local/freeradius/etc/raddb/modules/exec exec billing { wait = no program = "/usr/local/freeradius/scripts/billing.pl" input_pairs = request } # /usr/local/freeradius/etc/raddb/modules/realm realm fillrealm { format = suffix delimiter = "@" } # /usr/local/freeradius/etc/raddb/radiusd.conf ... thread pool { start_servers = 5 max_servers = 32 min_spare_servers = 3 max_spare_servers = 10 max_requests_per_server = 0 } modules { $INCLUDE ${confdir}/modules/ $INCLUDE sql.conf } $INCLUDE sites-enabled/ # /usr/local/freeradius/scripts/billing.pl #!/usr/bin/perl use strict; use POSIX ':sys_wait_h'; require '/usr/local/freeradius/scripts/inc/common.pm'; require '/usr/local/freeradius/scripts/inc/mysql.pm'; require '/usr/local/freeradius/scripts/inc/tibrv.pm'; my $pid = fork(); unless (defined $pid) { common::log("Error: top level fork() failed: $!"); exit(1); } # exit in parent, become child of init exit(0) if ($pid); # 2nd level fork in child $pid = fork(); unless (defined $pid) { common::log("Error: 2nd level fork() failed: $!"); exit(1); } if ($pid > 0) { # wait for child exit code waitpid($pid, 0); exit(0); } # do the main job in 2nd level child ... #0 0x0087a7a2 in _dl_sysinfo_int80 () from /lib/ld-linux.so.2 #1 0x002103ce in __lll_mutex_lock_wait () from /lib/tls/libc.so.6 #2 0x001b89c9 in _L_mutex_lock_1945 () from /lib/tls/libc.so.6 #3 0xb75f4c32 in ?? () #4 0xb75f4718 in ?? () #5 0x009017e9 in fr_hash_table_finddata (ht=0xfffffffc, data=0x261ff4) at hash.c:491 #6 0x001b69dd in localtime_r () from /lib/tls/libc.so.6 #7 0x00904647 in vp_prints_value (out=0xb75f4c30 "", outlen=1008, vp=0x2103ce, delimitst=1) at print.c:267 #8 0x08053a28 in radius_exec_program (cmd=0x8dcae28 "/usr/local/freeradius/scripts/billing.pl", request=0xb4c00768, exec_wait=0, user_msg=0x0, msg_len=0, input_pairs=0xb4a03220, output_pairs=0x0, shell_escape=1) at exec.c:330 #9 0x003dae26 in exec_dispatch (instance=0x8dcae00, request=0xb4c00768) at rlm_exec.c:315 #10 0x0805bb8c in modcall (component=3, c=0xfffffffc, request=0xb4c00768) at modcall.c:285 #11 0x0805a91b in indexed_modcall (comp=3, idx=0, request=0xb4c00768) at modules.c:541 #12 0x0805b6b0 in module_accounting (acct_type=0, request=0xb4c00768) at modules.c:1221 #13 0x0804dda7 in rad_accounting (request=0xb4c00768) at acct.c:93 #14 0x08065f1f in radius_handle_request (request=0xb4c00768, fun=0x804dd0c <rad_accounting>) at event.c:3027 #15 0x0805fc3a in request_handler_thread (arg=0x8dd9060) at threads.c:490 #16 0x00a01341 in start_thread () from /lib/tls/libpthread.so.0 #17 0x002036fe in clone () from /lib/tls/libc.so.6 # ldd /usr/local/freeradius/sbin/radiusd libfreeradius-radius-2.1.1.so => /usr/local/freeradius/lib/libfreeradius-radius-2.1.1.so (0x00ae6000) libnsl.so.1 => /lib/libnsl.so.1 (0x00845000) libresolv.so.2 => /lib/libresolv.so.2 (0x00709000) libpthread.so.0 => /lib/tls/libpthread.so.0 (0x009fc000) libreadline.so.4 => /usr/lib/libreadline.so.4 (0x00111000) libtermcap.so.2 => /lib/libtermcap.so.2 (0x009ea000) libcrypt.so.1 => /lib/libcrypt.so.1 (0x00c19000) libltdl.so.3 => /usr/lib/libltdl.so.3 (0x00a10000) libdl.so.2 => /lib/libdl.so.2 (0x009bf000) libssl.so.4 => /lib/libssl.so.4 (0x005d2000) libcrypto.so.4 => /lib/libcrypto.so.4 (0x0061e000) libc.so.6 => /lib/tls/libc.so.6 (0x00893000) /lib/ld-linux.so.2 (0x0087a000) libgssapi_krb5.so.2 => /usr/lib/libgssapi_krb5.so.2 (0x00608000) libkrb5.so.3 => /usr/lib/libkrb5.so.3 (0x00730000) libcom_err.so.2 => /lib/libcom_err.so.2 (0x00dea000) libk5crypto.so.3 => /usr/lib/libk5crypto.so.3 (0x05eca000) libz.so.1 => /usr/lib/libz.so.1 (0x0071e000)