Skip Menu |

This queue is for tickets about the Acme-MyPeek CPAN distribution.

Report information
The Basics
Id: 112733
Status: open
Priority: 0/
Queue: Acme-MyPeek

People
Owner: KEICHNER [...] cpan.org
Requestors: SREZIC [...] cpan.org
Cc:
AdminCc:

Bug Information
Severity: (no value)
Broken in: 0.06
Fixed in: (no value)



Subject: Tests fail with -Duselongdouble
Test output: PERL_DL_NONLAZY=1 "/bbbike/perl-5.20.1D/bin/perl" "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(0, 'blib/lib', 'blib/arch')" t/*.t # Config{'use64bitall'} = 'define' # Config{'use64bitint'} = 'define' # Config{'usecrosscompile'} = undef # Config{'uselongdouble'} = 'define' # Config{'usemorebits'} = undef # hi = <18446744073709551615>, lv = <18446744073709551615> # hd = <-2>, lv = <1.84467440737095516e+19> # Failed test 'hd() > 100' # at t/0010_test.t line 25. # Looks like you failed 1 test of 8. t/0010_test.t ........... Dubious, test returned 1 (wstat 256, 0x100) Failed 1/8 subtests
Le Dim 06 Mar 2016 06:06:34, SREZIC a écrit : Show quoted text
> Test output: > # hi = <18446744073709551615>, lv = <18446744073709551615> > # hd = <-2>, lv = <1.84467440737095516e+19> > > # Failed test 'hd() > 100' > # at t/0010_test.t line 25.
Thanks for your bug report. I suspect something funky is going on when representing large integers as strings. I've made changes in the new version 0.07, can you re-run the test ? (which will still fail), the new version 0.07 will report additional debug information (d1, d2, d3) to narrow down the problem.
On 2016-03-06 11:52:14, KEICHNER wrote: Show quoted text
> Le Dim 06 Mar 2016 06:06:34, SREZIC a écrit :
> > Test output: > > # hi = <18446744073709551615>, lv = <18446744073709551615> > > # hd = <-2>, lv = <1.84467440737095516e+19> > > > > # Failed test 'hd() > 100' > > # at t/0010_test.t line 25.
> > Thanks for your bug report. > > I suspect something funky is going on when representing large integers > as strings. > > I've made changes in the new version 0.07, can you re-run the test ? > (which will still fail), the new version 0.07 will report additional > debug information (d1, d2, d3) to narrow down the problem.
With 0.07: PERL_DL_NONLAZY=1 "/bbbike/perl-5.20.1D/bin/perl" "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(0, 'blib/lib', 'blib/arch')" t/*.t # Config{'use64bitall'} = 'define' # Config{'use64bitint'} = 'define' # Config{'usecrosscompile'} = undef # Config{'uselongdouble'} = 'define' # Config{'usemorebits'} = undef # hi = <18446744073709551615>, lv = <18446744073709551615>, d1 = <1.84467440737095516e+19>, d2 = <1.84467440737095516e+19>, d3 = <18446744073709551615> # hd = <-2>, lv = <1.84467440737095516e+19>, d1 = <1.84467440737095516e+19>, d2 = <18446744073709551616>, d3 = <18446744073709551615> # Failed test 'hd() > 100' # at t/0010_test.t line 27. # Looks like you failed 1 test of 8. t/0010_test.t .......... Dubious, test returned 1 (wstat 256, 0x100) Failed 1/8 subtests
On 2016-03-06 12:21:22, SREZIC wrote: Show quoted text
> On 2016-03-06 11:52:14, KEICHNER wrote:
> > Le Dim 06 Mar 2016 06:06:34, SREZIC a écrit :
> > > Test output: > > > # hi = <18446744073709551615>, lv = <18446744073709551615> > > > # hd = <-2>, lv = <1.84467440737095516e+19> > > > > > > # Failed test 'hd() > 100' > > > # at t/0010_test.t line 25.
> > > > Thanks for your bug report. > > > > I suspect something funky is going on when representing large > > integers > > as strings. > > > > I've made changes in the new version 0.07, can you re-run the test ? > > (which will still fail), the new version 0.07 will report additional > > debug information (d1, d2, d3) to narrow down the problem.
> > With 0.07: > > PERL_DL_NONLAZY=1 "/bbbike/perl-5.20.1D/bin/perl" "- > MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef > *Test::Harness::Switches; test_harness(0, 'blib/lib', 'blib/arch')" > t/*.t > # Config{'use64bitall'} = 'define' > # Config{'use64bitint'} = 'define' > # Config{'usecrosscompile'} = undef > # Config{'uselongdouble'} = 'define' > # Config{'usemorebits'} = undef > # hi = <18446744073709551615>, lv = <18446744073709551615>, d1 = > <1.84467440737095516e+19>, d2 = <1.84467440737095516e+19>, d3 = > <18446744073709551615> > # hd = <-2>, lv = <1.84467440737095516e+19>, d1 = > <1.84467440737095516e+19>, d2 = <18446744073709551616>, d3 = > <18446744073709551615> > > # Failed test 'hd() > 100' > # at t/0010_test.t line 27. > # Looks like you failed 1 test of 8. > t/0010_test.t .......... > Dubious, test returned 1 (wstat 256, 0x100) > Failed 1/8 subtests
It also fails on 32bit systems. The output here: PERL_DL_NONLAZY=1 /opt/perl-5.12.1/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib/lib', 'blib/arch')" t/*.t # Config{'use64bitall'} = undef # Config{'use64bitint'} = undef # Config{'usecrosscompile'} = undef # Config{'uselongdouble'} = undef # Config{'usemorebits'} = undef # hi = <4294967295>, lv = <4294967295>, d1 = <4294967296>, d2 = <4294967296>, d3 = <4294967295> # hd = <-2>, lv = <9.00719925474099e+15>, d1 = <9.00719925474099e+15>, d2 = <9007199254740992>, d3 = <9007199254740991> # Failed test 'hd() > 100' # at t/0010_test.t line 27. # Looks like you failed 1 test of 8. t/0010_test.t .......... Dubious, test returned 1 (wstat 256, 0x100) Failed 1/8 subtests
Show quoted text
> It also fails on 32bit systems. The output here: > > PERL_DL_NONLAZY=1 /opt/perl-5.12.1/bin/perl "-MExtUtils::Command::MM" > "-e" "test_harness(0, 'blib/lib', 'blib/arch')" t/*.t > # Config{'use64bitall'} = undef > # Config{'use64bitint'} = undef > # Config{'usecrosscompile'} = undef > # Config{'uselongdouble'} = undef > # Config{'usemorebits'} = undef > # hi = <4294967295>, lv = <4294967295>, d1 = <4294967296>, d2 = > <4294967296>, d3 = <4294967295> > # hd = <-2>, lv = <9.00719925474099e+15>, d1 = <9.00719925474099e+15>, > d2 = <9007199254740992>, d3 = <9007199254740991> > > # Failed test 'hd() > 100' > # at t/0010_test.t line 27. > # Looks like you failed 1 test of 8. > t/0010_test.t .......... > Dubious, test returned 1 (wstat 256, 0x100) > Failed 1/8 subtests
Strange indeed... Would it be possible to run a small perl program (see attached "test01.pl") on your system? (which will produce about 1000 detailed lines of output). I might have a better idea if I see the detailed output.
Subject: test01.pl
use strict; use warnings; use Config; showd('use64bitall'); showd('use64bitint'); showd('usecrosscompile'); showd('uselongdouble'); showd('usemorebits'); print "\n"; sub showd { my ($key) = @_; printf "Config%-20s = %s\n", "{'$key'}", (defined($Config{$key}) ? "'$Config{$key}'" : 'undef'); } my $h = hd(); print "h = '$h'\n"; sub hd { highval( sub{ my $d2 = sprintf('%.f', $_[0]); my $d3 = sprintf('%.f', $_[0] - 1); $d2 ne $d3; }); } sub highval { my ($ok) = @_; my $x = 1; my $f = 1; for (1..100) { my $y = $x * 10; print "Part 1: C=$_, X='$x', Y='$y'\n"; unless ($ok->($y)) { $f = 0; print "Part 1: last\n\n"; last; } $x = $y; } return -1 if $f; my $r = $x; for (1..1000) { my $y = $x + $r; print "Part 2: C=$_, R='$r', X='$x', Y='$y'\n"; unless ($ok->($y)) { if ($r <= 1) { $r = 0; print "Part 2: last\n\n"; last; } $r /= 10; print "Part 2: C=$_, R='$r' (decreased R)\n"; next; } $x += $r; } return -2 if $r; return $x; } 1;
On 2016-03-06 13:50:46, KEICHNER wrote: Show quoted text
> > It also fails on 32bit systems. The output here: > > > > PERL_DL_NONLAZY=1 /opt/perl-5.12.1/bin/perl "-MExtUtils::Command::MM" > > "-e" "test_harness(0, 'blib/lib', 'blib/arch')" t/*.t > > # Config{'use64bitall'} = undef > > # Config{'use64bitint'} = undef > > # Config{'usecrosscompile'} = undef > > # Config{'uselongdouble'} = undef > > # Config{'usemorebits'} = undef > > # hi = <4294967295>, lv = <4294967295>, d1 = <4294967296>, d2 = > > <4294967296>, d3 = <4294967295> > > # hd = <-2>, lv = <9.00719925474099e+15>, d1 = > > <9.00719925474099e+15>, > > d2 = <9007199254740992>, d3 = <9007199254740991> > > > > # Failed test 'hd() > 100' > > # at t/0010_test.t line 27. > > # Looks like you failed 1 test of 8. > > t/0010_test.t .......... > > Dubious, test returned 1 (wstat 256, 0x100) > > Failed 1/8 subtests
> > Strange indeed... > > Would it be possible to run a small perl program (see attached > "test01.pl") on your system? (which will produce about 1000 detailed > lines of output). I might have a better idea if I see the detailed > output.
Attached (generated on the debian/wheezy system with perl 5.20.1 + -Duselongdouble).
Subject: test01.pl.out
Download test01.pl.out
application/octet-stream 79.2k

Message body not shown because it is not plain text.