Hi Alan, (moved to -devel) thanks for the gdb refresher - I keep forgetting those args :-) I'm not sure I'm overly helpful here, but I think I _might_ have something. I set up an instance of 1.1.1 on my workstation, ran gdb radiusd set args -X run and then sent a HUP from another console. In gdb, continue Program received signal SIGHUP, Hangup. [Switching to Thread 16384 (LWP 29536)] 0xb7e0f5d2 in select () from /lib/libc.so.6 (gdb) cont Continuing. --- Walking the entire request list --- Nothing to do. Sleeping until we see a request. Reloading configuration files. reread_config: reading radiusd.conf Config: including file: /etc/raddb/proxy.conf Config: including file: /etc/raddb/clients.conf Config: including file: /etc/raddb/snmp.conf Config: including file: /etc/raddb/eap.conf Config: including file: /etc/raddb/sql.conf main: prefix = "/usr" main: localstatedir = "/var" main: logdir = "/var/log/radius" main: libdir = "/usr/lib" main: radacctdir = "/var/log/radius/radacct" main: hostname_lookups = no main: max_request_time = 30 main: cleanup_delay = 5 main: max_requests = 1024 main: delete_blocked_requests = 0 main: port = 0 main: allow_core_dumps = no main: log_stripped_names = no main: log_file = "/var/log/radius/radius.log" main: log_auth = no main: log_auth_badpass = no main: log_auth_goodpass = no main: pidfile = "/var/run/radiusd/radiusd.pid" main: user = "radiusd" main: group = "radiusd" main: usercollide = no main: lower_user = "no" main: lower_pass = "no" main: nospace_user = "no" main: nospace_pass = "no" main: checkrad = "/usr/sbin/checkrad" main: proxy_requests = yes proxy: retry_delay = 5 proxy: retry_count = 3 proxy: synchronous = no proxy: default_fallback = yes proxy: dead_time = 120 proxy: post_proxy_authorize = yes proxy: wake_all_if_all_dead = no security: max_attributes = 200 security: reject_delay = 1 security: status_server = no main: debug_level = 0 read_config_files: reading dictionary read_config_files: reading naslist Using deprecated naslist file. Support for this will go away soon. read_config_files: reading clients read_config_files: reading realms Program received signal SIGINT, Interrupt. and then I experienced that during the re-reading of config files, the process just froze, but no segfault (sending garbage with nc, which should make radiusd complain, but doesn't... no trace of anything being processed). After Ctrl-C and bt, I got: (gdb) bt #0 0xb7e0f5d2 in select () from /lib/libc.so.6 #1 0xbff68d50 in ?? () #2 0x0806d310 in ?? () #3 0x0806d068 in ?? () #4 0x0805743e in main (argc=2, argv=0xbff69e34) at radiusd.c:1276 (gdb) info threads * 1 Thread 16384 (LWP 29536) 0xb7e0f5d2 in select () from /lib/libc.so.6 So for some reason it got stuck during select() - I watched this being stuck for several seconds before I killed the process. So there appears to be a deadlock in there. Not sure if it has anything to do with the TLS hang; it's just that the symptoms seem similar. The select() waiting forever would explain that the process is still there, bound to its ports, but does nothing. Greetings, Stefan Winter -- Stefan WINTER RESTENA Foundation - Réseau Téléinformatique de l'Education Nationale et de la Recherche R&D Engineer 6, rue Richard Coudenhove-Kalergi L-1359 Luxembourg email: stefan.winter@restena.lu Tel.: +352 424409-1 http://www.restena.lu Fax: +352 422473