[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#21061: coreutils-8.24 - Partially reproducible failures of tests/mis
From: |
Pádraig Brady |
Subject: |
bug#21061: coreutils-8.24 - Partially reproducible failures of tests/misc/timeout-parameters.sh |
Date: |
Sat, 18 Jul 2015 12:10:43 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.6.0 |
On 18/07/15 04:09, Peter Bray wrote:
> On 17/07/15 06:56 PM, Pádraig Brady wrote:
>> while true; do time gtimeout 0.1 sleep inf; test $? != 124 && break; done
>
> Run this code on S10U8/32 for almost 12 hours without it stopping
> itself. An almost 10 hours on S10U11/32 with the same result (not
> stopping itself).
Cool. That suggests it's a kernel issue with large timeout values.
>
> Made the requested change to src/timeout.c
>
> Backup : src/timeout.c.orig
> Editted : src/timeout.c
>
> Command : gdiff
>
> 139c139
> < if (timer_create (CLOCK_REALTIME, NULL, &timerid) == 0)
> ---
> > if (timer_create (CLOCK_MONOTONIC, NULL, &timerid) == 0)
>
> Run as an unprivileged user, gives the following error summary:
>
> % egrep '(FAIL|ERROR) ' tests/test-suite.log | sed -e 's/FAIL /FAIL /'
> FAIL tests/misc/tee.sh (exit status: 1)
> FAIL tests/misc/timeout-blocked.pl (exit status: 1)
> FAIL tests/tail-2/wait.sh (exit status: 1)
> FAIL tests/tail-2/retry.sh (exit status: 1)
> FAIL tests/tail-2/symlink.sh (exit status: 1)
> FAIL tests/ls/infloop.sh (exit status: 1)
> FAIL tests/tail-2/follow-name.sh (exit status: 1)
> FAIL tests/tail-2/follow-stdin.sh (exit status: 1)
That's a strange restriction.
Linux doesn't have that at least.
>
> On Solaris 10 Update 8 with Solaris 10 Update 11 and Solaris 11.2 have
> the additional tmpfs build problems mentioned in BUG-21062
>
> With the following executive summary:
>
> % grep "timer_create: Not owner" ./tests/test-suite.log | sort | uniq -c
> 1 + timeout: warning: timer_create: Not owner
> 7 +timeout: warning: timer_create: Not owner
> 29 timeout: warning: timer_create: Not owner
>
> When run as "root" on Solaris 10 Update 8, the attached
> "test-suite.log-monotonic-root" shows that two tests FAIL:
>
> % egrep '(FAIL|ERROR) ' test-suite.log-*-root | sed -e 's/FAIL /FAIL /'
> FAIL tests/misc/tee.sh (exit status: 1)
> FAIL tests/misc/timeout-parameters.sh (exit status: 1)
>
> With the following section of the attached log, showing a sequence of
> failures (exit status = 124) on the root execution of the checks:
>
> +++ date +%s
> ++ expr 2147483647 - 1437184440 + 100
> + KERNEL_OVERFLOW_LIMIT=710299307
> + timeout 710299307 sleep 0
> + test 0 '!=' 124
> + timeout 4294967296 sleep 0
> + test 124 = 0
> + fail=1
> ++ expr 4294967295 / 86400 + 1
> + timeout 49711d sleep 0
> + test 124 = 0
> + fail=1
> + timeout 999999999999999999999999999999999999999999999999999999999999d
> sleep 0
> + test 124 = 0
> + fail=1
> + timeout 2.34e+5d sleep 0
> + test 124 = 0
> + fail=1
> + timeout 2.34 sleep 0
> + test 0 = 0
> + timeout .999999999 sleep 0
> + timeout --signal=invalid 1 sleep 0
> timeout: invalid: invalid signal
> Try 'timeout --help' for more information.
>
> On Solaris 10 Update 11 as root, attached as
> "test-suite.log-monotonic-root-s10u11" shows a more promising result but
> still failure:
>
> +++ date +%s
> ++ expr 2147483647 - 1437187249 + 100
> + KERNEL_OVERFLOW_LIMIT=710296498
Note we already check for similar 32 bit Linux/HPPA kernel issues
in this test. If we found a maximal value that was problematic
for solaris and ran the gating test in a loop 10 times say.
The non determinism of this is awkward though.
> The requirement for "root" privileges to use MONOTONIC is a non-starter
> in my books as the utility can not lower privileges for the command it
> runs - I hope you would agree. It seems that the tests fail even with
> the CLOCK_MONOTONIC option.
+!
> I hope I am provided the requested / required information this time :-)
Yes thanks for the extensive testing.
Pádraig.