Front page | perl.perl5.porters |
Postings from August 2019
[perl #133377] lib/File/Copy.t fails mtime test in perl-5.28 builtwith quadmath
From:
James E Keenan via RT
Date:
August 20, 2019 13:56
Subject:
[perl #133377] lib/File/Copy.t fails mtime test in perl-5.28 builtwith quadmath
Message ID:
rt-4.0.24-5000-1566309374-1762.133377-15-0@perl.org
On Thu, 18 Apr 2019 22:11:42 GMT, jkeenan wrote:
> On Thu, 18 Apr 2019 14:57:13 GMT, khw wrote:
> > On Fri, 03 Aug 2018 21:56:47 -0700, public@khwilliamson.com wrote:
> > > On 08/03/2018 09:05 AM, Karl Williamson wrote:
> > > > On 08/03/2018 07:29 AM, Dave Mitchell wrote:
> > > >> On Fri, Aug 03, 2018 at 06:12:31AM -0700, sisyphus@cpan.org via
> > > >> RT
> > > >> wrote:
> > > >>> On Wed, 18 Jul 2018 17:46:19 -0700, jkeenan wrote:
> > > >>> I see plenty of evidence that the problem still persists. Was
> > > >>> this
> > > >>> something that Jarkko was working on prior to the release of
> > > >>> perl-5.28.0, before he ran out of time and/or energy ?
> > > >>
> > > >> I haven't read this thread closely, but is this same issue that
> > > >> I
> > > >> produced
> > > >> a patch for back in April (but didn't apply because we were in
> > > >> code
> > > >> freeze)?
> > > >>
> > > >> commit 3e15af2f6d937772d14e95e9b7443423f157d5cd
> > > >> (origin/smoke-me/davem/time_hires_nsec, time_hires_nsec)
> > > >> Author: David Mitchell <davem@iabyn.com>
> > > >> AuthorDate: Fri Apr 27 12:43:44 2018 +0100
> > > >> Commit: David Mitchell <davem@iabyn.com>
> > > >> CommitDate: Fri Apr 27 14:21:28 2018 +0100
> > > >>
> > > >> time::HiRes: don't truncate nanosec utime
> > > >
> > > > I have pushed this patch to the smoke report currently running.
> > > > The
> > > > status can be viewed at
> > > >
> > > > http://perl.develop-help.com/?b=smoke-me%2Fkhw-locale
> > >
> > > The smokes are coming out much better now. But there are still
> > > some
> > > HiRes failures on some Linuxes, and some apparent unrelated
> > > failures
> > > that I don't think there are tickets for.
> > >
> > > And there's a small problem with Rob's patch,
> > >
> > > proto.h:4332:11: warning: 'S_mulexp10' declared 'static' but never
> > > defined [-Wunused-function]
> > >
> > > There needs to be a #ifdef in embed.fnc to fix this warning
> > >
> > >
> > > >> When passed a floating point atime/mtime value,
> > > >> T::HR::utime()
> > > >> was converting it into two longs: secs and nsec. But the
> > > >> nanosec
> > > >> value
> > > >> was calculated using a final NV to long cast, which
> > > >> truncates
> > > >> any
> > > >> fractional part rather than rounding to nearest. Use a 0.5
> > > >> addition to
> > > >> force rounding.
> > > >> This was manifesting as a test in lib/File/Copy.t failing
> > > >> to
> > > >> preserve
> > > >> the same mtime after a couple of round trips with utime()
> > > >> and
> > > >> stat().
> > > >> In particular, the test was attempting to set an mtime to
> > > >> the
> > > >> literal
> > > >> floating-point value
> > > >> 1000000000.12345
> > > >> This value can't be represented exactly as an NV, so was
> > > >> actually
> > > >> (under -Dquadmath)
> > > >> 1000000000.1234499999999999999999999568211720247320
> > > >> which was (using truncation) being converted into the two
> > > >> sec/nsec
> > > >> longs:
> > > >> 1000000000, 123449999
> > > >> After this commit, it instead correctly gets converted to
> > > >> 1000000000, 123450000
> > > >>
> > > >> M dist/Time-HiRes/HiRes.xs
> > > >> M dist/Time-HiRes/t/utime.t
> > > >>
> > > >>
> > > >>
> > > >
> >
> > Is this ticket closable?
>
> Just now I built blead v5.29.9-151-g43049430d1 on Linux with
> -Dusequadmath. I got no errors in lib/File/Copy.t. So the original
> complaint has been satisfied. (A lot else got discussed in this
> ticket, though. And with quadmath there are known failures in
> t/re/uniprops02.t -- but that's outside the scope of this RT.) So, by
> me at least, it's closable.
>
> Thank you very much.
No one has spoken in favor of keeping this ticket open, so I'm closing it.
In the course of this ticket there was a branch created pertaining to Time::HiRes. However, that module has moved on since that time and the branch will no longer cleanly merge into blead. So any problems with Time::HiRes should go into a new RT.
Thank you very much.
--
James E Keenan (jkeenan@cpan.org)
---
via perlbug: queue: perl5 status: open
https://rt.perl.org/Ticket/Display.html?id=133377
-
[perl #133377] lib/File/Copy.t fails mtime test in perl-5.28 builtwith quadmath
by James E Keenan via RT