GNU bug report logs - #23537
timeout test gets false-positive for duration of -1.189731495357231765e+4932

Previous Next

Package: coreutils;

Reported by: Jim Meyering <jim <at> meyering.net>

Date: Sat, 14 May 2016 17:10:01 UTC

Severity: normal

Done: Jim Meyering <jim <at> meyering.net>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: help-debbugs <at> gnu.org (GNU bug Tracking System)
To: Jim Meyering <jim <at> meyering.net>
Cc: tracker <at> debbugs.gnu.org
Subject: bug#23537: closed (timeout test gets false-positive for duration
 of -1.189731495357231765e+4932)
Date: Sun, 15 May 2016 15:53:01 +0000
[Message part 1 (text/plain, inline)]
Your message dated Sun, 15 May 2016 08:51:58 -0700
with message-id <CA+8g5KEqwBS9HHE4Fg3QyE64WV0Q+Gy6r+iXBie+W7+rXqEM4Q <at> mail.gmail.com>
and subject line Re: bug#23537: timeout test gets false-positive for duration of -1.189731495357231765e+4932
has caused the debbugs.gnu.org bug report #23537,
regarding timeout test gets false-positive for duration of -1.189731495357231765e+4932
to be marked as done.

(If you believe you have received this mail in error, please contact
help-debbugs <at> gnu.org.)


-- 
23537: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=23537
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: Jim Meyering <jim <at> meyering.net>
To: bug-coreutils <at> gnu.org
Subject: timeout test gets false-positive for duration of
 -1.189731495357231765e+4932
Date: Sat, 14 May 2016 10:09:19 -0700
On systems with recent glibc, this abuse of timeout elicits the expected error:

  $ src/timeout -- -1.189731495357231765e+4932 sleep 0
  src/timeout: invalid time interval ‘-1.189731495357231765e+4932’
  Try 'src/timeout --help' for more information.

But with glibc-2.12's strtod, that input maps to a double-precision
value of 0 rather than to -inf, so timeout does this:

  $ src/timeout -- -1.189731495357231765e+4932 sleep 0; echo $?
  0

Similarly, the sleep.sh test fails because even without the leading "-",
that number ($LDBL_MAX) maps to 0:

  $ src/timeout 0.1 sleep 1.189731495357231765e+4932; echo $?
  0

which causes two tests to fail:

  tests/misc/timeout-parameters
  tests/misc/sleep

I see a couple of ways to avoid trouble.
Perhaps the most general is to make gnulib's strtod module detect and
compensate for these errors.
But that's CentOS6-era glibc, so maybe not worth it for such a corner case.


[Message part 3 (message/rfc822, inline)]
From: Jim Meyering <jim <at> meyering.net>
To: Pádraig Brady <P <at> draigbrady.com>
Cc: 23537-done <at> debbugs.gnu.org
Subject: Re: bug#23537: timeout test gets false-positive for duration of
 -1.189731495357231765e+4932
Date: Sun, 15 May 2016 08:51:58 -0700
tags 23537 notabug
stop

On Sun, May 15, 2016 at 8:06 AM, Jim Meyering <jim <at> meyering.net> wrote:
> On Sun, May 15, 2016 at 4:21 AM, Pádraig Brady <P <at> draigbrady.com> wrote:
>> Has up to date centos6 the bug?
>> I didn't see it with glibc-2.12-1.166.el6_7.7.x86_64
>
> Yes. I am surprised that you don't see it and I do:
>
>   $ rpm -q glibc
>   glibc-2.12-1.166.el6_7.7.x86_64
>   $ src/timeout 0.1 sleep 1.189731495357231765e+4932; echo $?
>   0

Pádraig guessed (correctly) that I'd updated coreutils' gnulib to
include a temporarily buggy xstrdod
(811b09243ca01827469827bf0973728a8619d249), but not yet past the fix
from a day or so later.
So this was all a false alert.


This bug report was last modified 9 years and 67 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.