Red Hat Bugzilla – Bug 243908
nanny blocks SIGALRM causing tftp client timeout not to be handled.
Last modified: 2009-04-16 18:55:28 EDT
Description of problem:
Nanny is blocking SIGALRM and some other process signals. I'm trying to monitor
tftp and the tftp client times out with a SIGALRM, thus leaving the tftp
process to hang around forever never going away.
The tftp client never terminates, nanny never gets a bad status and never
removes the server from the cluster.
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1. Configure Piranha to use this nagios check_tftp plugin:
2. Stop xinetd and in.tftpd on the server
3. Watch the tftp process hang forever.
expect = "OK - answer from server"
use_regex = 0
send_program = "/usr/local/bin/check_tftp --connect %h"
Tue Jun 12 13:35:32 EDT 2007
root 13206 ... Ts 12:19 0:00 /usr/sbin/nanny -c -h 10.0.0.4 -p 69 -f 1
-u -e /usr/local/bin/check_tftp --connect %h -x OK - answer from server -q -a 15
-I /sbin/ipvsadm -t 6 -w 1 -V 10.98.200.114 -M g -U none --lvs
root 17482 ... S 12:19 0:00 tftp 10.0.0.4
root 17483 ... S 12:19 0:00 head -n 1
tftp to actually terminate, and the check_tftp script to return an error output
for nanny to parse.
Created attachment 157141 [details]
Fix: unblock all signals + return to default handler after fork
Created attachment 157142 [details]
Patch for rhel5
(replacing old patch which was for rhel4)
Patches in CVS
(Note; this patch depends on the previous patch in cvs)
Tarball is here for interested parties:
This request was evaluated by Red Hat Product Management for inclusion in a Red
Hat Enterprise Linux maintenance release. Product Management has requested
further review of this request by Red Hat Engineering, for potential
inclusion in a Red Hat Enterprise Linux Update release for currently deployed
products. This request is not yet committed for inclusion in an Update
QE ack for RHEL5.2. Reproducer in comment 0.
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on therefore solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.