Help getting rid "Info: WARNING: Child is hung for request" message
Hi, I have upgraded recently one of my servers to 2.1.8 (RHEL 5), and am seeing thousands of messages like this in a day. It looks the message was introduced with patch no. 139c45b4c51c945414b53ece36bbeb42edb1b2a7 from November 29. I'm wondering what parameters should I tune to get these messages disappear (and the possible underlying problem fixed, of course). The auth backend is an openldap directory, but I have disregarded any timeout issues by running the server in debug mode. Here are some of the values I guess could be related with the cause of these messages: ------- - radiusd.conf: max_request_time = 30 cleanup_delay = 5 max_requests = 1024 thread pool { start_servers = 5 max_servers = 32 min_spare_servers = 3 max_spare_servers = 10 max_requests_per_server = 0 } - proxy.conf proxy server{ retry_delay = 5 } home_server localhost { type = auth ipaddr = 127.0.0.1 port = 11812 secret = XXXXX response_window = 20 zombie_period = 40 revive_interval = 120 status_check = status-server check_interval = 30 num_answers_to_alive = 3 } ------- I'd appreciate some light on this issue. Except for the message, the server is behaving correctly. thanks in advance, jose manuel.
José Manuel wrote:
I have upgraded recently one of my servers to 2.1.8 (RHEL 5), and am seeing thousands of messages like this in a day. It looks the message was introduced with patch no. 139c45b4c51c945414b53ece36bbeb42edb1b2a7 from November 29.
The message was *changed* in that commit: http://github.com/alandekok/freeradius-server/commit/139c45b4c51c945414b53ec... The message is generated when the child thread takes more than 5 minutes to process a request. This is generally considered bad.
I'm wondering what parameters should I tune to get these messages disappear (and the possible underlying problem fixed, of course).
Find out which module is blocking. Edit the line to say: ... radlog(L_INFO, "WARNING: Child is hung for request %d in component %s module %s.", request->number, request->component, request->module); ... and then re-compile && re-install. Odds are you have a TCP issue between the RADIUS and LDAP servers. FreeRADIUS is calling the LDAP module, which tries to connect to LDAP over TCP. If the TCP connection is down (i.e. blocked by a firewall), then the OS doesn't know, and neither does the LDAP module. Alan DeKok.
Thanks for your response, Alan. On 2/9/10 4:01 AM, Alan DeKok wrote:
The message was *changed* in that commit:
So it was previously there... My upgrade was from version 2.1.6, and don't remember to have seen it before, but I'll check...
The message is generated when the child thread takes more than 5 minutes to process a request. This is generally considered bad.
5 minutes! Yep, for sure it's bad...
Find out which module is blocking. Edit the line to say:
... radlog(L_INFO, "WARNING: Child is hung for request %d in component %s module %s.", request->number, request->component, request->module); ...
and then re-compile && re-install.
I'll do that...
Odds are you have a TCP issue between the RADIUS and LDAP servers. FreeRADIUS is calling the LDAP module, which tries to connect to LDAP over TCP. If the TCP connection is down (i.e. blocked by a firewall), then the OS doesn't know, and neither does the LDAP module.
Perhaps I just saw correct connections when I did the -X, but am seeing this in the logs too: Tue Feb 9 08:42:28 2010 : Error: rlm_ldap: ldap_search() failed: LDAP connection lost. Tue Feb 9 08:42:28 2010 : Info: rlm_ldap: Attempting reconnect So, I think you are right... I'll investigate this. thanks! jose manuel.
participants (2)
-
Alan DeKok -
José Manuel