--- Begin Message ---
Subject: |
Race condition in "colors" test |
Date: |
Sun, 8 Jan 2017 23:35:08 +0100 (CET) |
User-agent: |
Alpine 2.20 (DEB 67 2015-01-07) |
Hello.
The test suite for diffutils 3.5 has a tendency to fail in our ppc64el
architecture:
https://buildd.debian.org/status/logs.php?pkg=diffutils&ver=1%3A3.5-2&arch=ppc64el
According to Christoph Biedl (Cc:ed), there is a race condition here:
| mkfifo fifo
| printf '%*s-a' 1000000 > a
| head -c 10 < fifo > /dev/null &
+ diff --color=always ---presume-output-tty a b > fifo
| test $? = 141 || fail=1
Quoting Christoph:
> There is a race condition involved, it fails in about three of
> four attempts - but not at all if the test is run under strace.
> A "sleep 0.1" before the diff made the test pass in ten of ten
> attempts. So the reason might indeed be the head command hasn't opened
> fifo yet by the time diff tries to write to it.
For the Debian package, I am going to add a "sleep 1"
(slightly more portable), but Christoph points out that this
should not really be architecture specific.
Thanks.
--- End Message ---
--- Begin Message ---
Subject: |
Re: [bug-diffutils] bug#36488: diffutils 3.7 make check failure ppc64le opensuse on colors test |
Date: |
Sun, 29 Aug 2021 00:22:27 -0700 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.11.0 |
On 8/28/21 8:40 AM, Thiago Jung Bauermann via bug-diffutils via All
diffutils discussion. wrote:
I believe this is the same problem reported in bug 34519.
The Debian build also fails with "diff: standard output: Broken pipe".
Thanks for tracking that down. Frédéric's analysis in
<https://bugs.debian.org/922552#19> was helpful.
I found some time to look into this bug, and installed into
Savannah.gnu.org diffutils the attached patch, which I hope fixes the
bug although I don't have the relevant platform to test it. Please give
it a try.
Once this patch is part of a release, Debian shouldn't need any patches
for diffutils.
For now I am closing the diffutils bug report
<https://bugs.gnu.org/36488>; if I was too optimistic and the patch
doesn't fix things we can always reopen it.
0001-diff-cleanup-signal-handling-just-before-exit.patch
Description: Text Data
--- End Message ---