Skip Menu |

This queue is for tickets about the Math-BigInt CPAN distribution.

Report information
The Basics
Id: 70743
Status: open
Priority: 0/
Queue: Math-BigInt

People
Owner: Nobody in particular
Requestors: zefram [...] fysh.org
Cc:
AdminCc:

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



Subject: round_mode test fail on 5.6.2
Date: Mon, 5 Sep 2011 19:12:15 +0100
To: bug-Math-BigInt [...] rt.cpan.org
From: Zefram <zefram [...] fysh.org>
The round_mode tests in Math-BigInt are, in 1.997, newly failing on perl 5.6.2 (but not 5.8.1 or later): t/mbimbf.t .......... 1/710 # Failed test at t/mbimbf.t line 38. # 'Not a HASH reference at /home/zefram/usr/perl/perl_install/perl-5.6.2-i32-f52/cpan/build/Math-BigInt-1.997-szzIPv/blib/lib/Math/BigInt.pm line 827, <DATA> line 77. # ' # doesn't match '(?-xism:^Unknown round mode 'huhmbi' at)' # Failed test at t/mbimbf.t line 40. # 'Not a HASH reference at /home/zefram/usr/perl/perl_install/perl-5.6.2-i32-f52/cpan/build/Math-BigInt-1.997-szzIPv/blib/lib/Math/BigFloat.pm line 365, <DATA> line 77. # ' # doesn't match '(?-xism:^Unknown round mode 'huhmbf' at)' # Looks like you failed 2 tests of 710. t/mbimbf.t .......... Dubious, test returned 2 (wstat 512, 0x200) Failed 2/710 subtests -zefram
Thanks for the report. I have not yet been able to build Perl 5.6.2 on Cygwin, so I have not yet been able to reproduce the error. I am working on it. The error puzzles me somewhat, as there have been no changes to the code related to rounding. I'll see what I can do.
Jesus was still walking around when 5.6.2 was released. Please close this ticket.
I've reproduced in in 5.6.2, but at this point I rather agree with BBYRD. Inside round_mode, when we call Carp::croak ("Unknown round mode '$m'"); on 5.6.2 with Carp 1.26 it tries to stringify $self, which then dies because $round_mode is a sort-kinda-not-really-a-BigInt. If we made $round_mode a hash that had a sign as well as a round_mode then that should work. Alternately, upgrade Carp to 1.32 and it no longer tries to stringify $self, and works fine. The mbimf.t test completes successfully. 64-bit 5.6.2 fails on other tests for me for the usual "SvUV turns things into doubles" reason that make me seriously hate 5.6.2, but that is a different issue.