Red Hat Bugzilla – Bug 199203
00-makewhatis.cron zcat: stdout: Broken pipe
Last modified: 2007-11-30 17:07:26 EST
After upgrading to vixie-cron-4.1-44.EL4 an error occurs
when /etc/cron.weekly/00-makewhatis.cron is run. When the error occurs and an
email is sent to the root user.
The contents of the email are:
zcat: stdout: Broken pipe"
With the "zcat: stdout: Broken pipe" line repeated many times.
This was previously a bug in Fedora, but it was resolved in Fedora quite a few
This appears to be the same issue as in bug 146849 / bug 163484 / 170402 .
It all stems from the RHEL-4 version of rpm setting SIGPIPE to be ignored;
then when crond is restarted during the RPM upgrade, the makewhatis script
also inherits this handler, and its write() calls can get interrupted by
SIGPIPE and restarted (instead of terminating the process as they should).
Simply restarting the crond process from outside rpm should fix the problem:
# service crond restart
This isn't really a crond problem; I think users should be enabled to set
an SIGPIPE handler that is inherited by crond if they so desire; I don't
think crond should explicitly set a SIGPIPE handler, as it can mask other
problems (eg. with nss_ldap authentication, another old hobbyhorse), or
users may have valid reasons for wanting to set a specific SIGPIPE handler
This issue can be simply fixed in the makewhatis script by adding a
'trap PIPE' line. I think it should either be fixed there, or in rpm .
It looks like it was fixed for bug 170402 in man-1.5p, but never got
into the latest man release.
I will consider adding a 'trap PIPE' line to the vixie-cron initscript in
the next release, that could be disabled by a 'NO_TRAP_PIPE' setting in
Meanwhile we should try to fix this in the man package's makewhatis script -
all that is needed there would be a 'trap PIPE' line.
If this problem is not fixed by simply restarting cron, then please append
details of how to reproduce it to this bug and reassign back to vixie-cron
*** This bug has been marked as a duplicate of 170402 ***