bug-gzip
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

gzip zgrep-signal failure on Fedora 15 in an Emacs shell window


From: Paul Eggert
Subject: gzip zgrep-signal failure on Fedora 15 in an Emacs shell window
Date: Wed, 02 Nov 2011 13:42:42 -0700
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:7.0) Gecko/20110927 Thunderbird/7.0

I ran "make check" on gzip after today's changes
on my x86-64 host (recently upgraded to Fedora 15), and
one test fails if I invoke "make check" from inside
an Emacs shell window.  (It works if I invoke "make check"
from an ordinary terminal window.)  That is, if I run Emacs,
and type "M-x shell RET", and inside the resulting shell I
type "make check", then the zgrep-signal test fails.

This appears to be an issue where a 'write'
fails with errno == EPIPE even though the SIGPIPE signal
is not being caught or ignored.

I do not observe this problem on a different x86-64 host
that is running RHEL 5.7.

I expect this is the same problem that you found back in 2007 with dbus
<http://lists.gnu.org/archive/html/bug-coreutils/2007-11/msg00154.html>.
What ever became of that?

For now, I've installed the following patch, so that others who run
into this problem don't incorrectly think that it's gzip's fault.
While I was at it, I made sure PIPE was SIG_DFL, removing an
unwarranted assumption in the current test.

* tests/zgrep-signal: Test for Fedora 15 signal bug.
Also, don't assume that SIGPIPE is SIG_DFL on entry.
diff --git a/tests/zgrep-signal b/tests/zgrep-signal
index fc09a9e..3c5b696 100644
--- a/tests/zgrep-signal
+++ b/tests/zgrep-signal
@@ -22,6 +22,14 @@

 echo a | gzip -c > f.gz || framework_failure_

+if (trap - PIPE) >/dev/null 2>&1; then
+  trap - PIPE
+else
+  trap 13
+fi
+st=$(exec 3>&1; (cat f.gz f.gz; echo $? >&3) | :)
+test "$st" = 141 || framework_failure_ 'signal handling busted on this host'
+
 fail=0

 st=$(exec 3>&1; (zgrep a f.gz f.gz; echo $? >&3) | :) || framework_failure_



reply via email to

[Prev in Thread] Current Thread [Next in Thread]