Skip Menu |

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

Report information
The Basics
Id: 80182
Status: resolved
Priority: 0/
Queue: Math-BigInt

People
Owner: Nobody in particular
Requestors: dwheeler [...] cpan.org
Cc:
AdminCc:

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



CC: jdb [...] cpan.org
Subject: "overload arg '..' is invalid" Warning
Date: Sun, 14 Oct 2012 15:26:30 -0700
To: bug-Math-BigInt [...] rt.cpan.org
From: "David E. Wheeler" <dwheeler [...] cpan.org>
The CPAN release of Math::BigInt can emit overloading warnings in some situations when loaded by File::Spec::Win32. Example failures: http://ppm4.activestate.com/MSWin32-x86/5.16/1600/D/DW/DWHEELER/App-Sqitch-0.938.d/log-20121013T031855.txt Sample stack trace: # overload arg '..' is invalid at C:\cpanfly-5.16\var\megalib/Math/BigInt.pm line 153. # at C:/Perl-5.16/lib/overload.pm line 41. # overload::OVERLOAD('Math::BigInt', '=', 'CODE(0x24cc674)', '+=', 'CODE(0x24cc734)', '-=', 'CODE(0x24cc7f4)', '*=', 'CODE(0x24cc9c4)', ...) called at C:/Perl-5.16/lib/overload.pm line 59 # overload::import('overload', '=', 'CODE(0x24cc674)', '+=', 'CODE(0x24cc734)', '-=', 'CODE(0x24cc7f4)', '*=', 'CODE(0x24cc9c4)', ...) called at C:\cpanfly-5.16\var\megalib/Math/BigInt.pm line 153 # Math::BigInt::BEGIN() called at C:\cpanfly-5.16\var\megalib/Math/BigInt.pm line 153 # eval {...} called at C:\cpanfly-5.16\var\megalib/Math/BigInt.pm line 153 # require Math/BigInt.pm called at C:\cpanfly-5.16\var\megalib/Win32API/File.pm line 23 # Win32API::File::BEGIN() called at C:\cpanfly-5.16\var\megalib/Math/BigInt.pm line 153 # eval {...} called at C:\cpanfly-5.16\var\megalib/Math/BigInt.pm line 153 # require Win32API/File.pm called at C:\cpanfly-5.16\var\megalib/File/Spec/Win32.pm line 92 # eval {...} called at C:\cpanfly-5.16\var\megalib/File/Spec/Win32.pm line 92 # File::Spec::Win32::case_tolerant('File::Spec') called at C:\cpanfly-5.16\var\megalib/Pod/Find.pm line 481 # Pod::Find::pod_where('HASH(0x24a9eec)', 'sqitchcommands') called at C:\cpanfly-5.16\var\cpan\build\App-Sqitch-0.938-PNTiYK\blib\lib/App/Sqitch/Command/help.pm line 25 # App::Sqitch::Command::help::find_and_show('App::Sqitch::Command::help=HASH(0x249f7f4)', 'sqitchcommands') called at C:\cpanfly-5.16\var\cpan\build\App-Sqitch-0.938-PNTiYK\blib\lib/App/Sqitch/Command/help.pm line 19 # App::Sqitch::Command::help::execute('App::Sqitch::Command::help=HASH(0x249f7f4)') called at t/help.t line 30 When I inquired with the PPM folks Jan Dubois replied: Show quoted text
> So the issue seems to be triggered only by the code in the App::Sqitch > test. > > Math::BigInt is used by Win32API::File on 32-bit Windows to deal with > 64-bit file offsets, so this issue will only be triggered on Windows. > I don't understand why this isn't a problem with 5.14 though, as it > also has the latest Math::BigInt installed. The problem is also not > triggered by simply loading Win32API::File. So it probably won't > show up in many cpantesters results.
So I guess something is different in the CPAN release? Thanks, David
RT-Send-CC: perl5-porters [...] perl.org
On Sun Oct 14 18:26:43 2012, DWHEELER wrote: Show quoted text
> The CPAN release of Math::BigInt can emit overloading warnings in some > situations when loaded by File::Spec::Win32. Example failures: > > http://ppm4.activestate.com/MSWin32-x86/5.16/1600/D/DW/DWHEELER/App- > Sqitch-0.938.d/log-20121013T031855.txt > > Sample stack trace: > > # overload arg '..' is invalid at C:\cpanfly- > 5.16\var\megalib/Math/BigInt.pm line 153. > # at C:/Perl-5.16/lib/overload.pm line 41. > # overload::OVERLOAD('Math::BigInt', '=', 'CODE(0x24cc674)', '+=', > 'CODE(0x24cc734)', '-=', 'CODE(0x24cc7f4)', '*=', > 'CODE(0x24cc9c4)', ...) called at C:/Perl-5.16/lib/overload.pm line > 59 > # overload::import('overload', '=', 'CODE(0x24cc674)', '+=', > 'CODE(0x24cc734)', '-=', 'CODE(0x24cc7f4)', '*=', > 'CODE(0x24cc9c4)', ...) called at C:\cpanfly- > 5.16\var\megalib/Math/BigInt.pm line 153 > # Math::BigInt::BEGIN() called at C:\cpanfly- > 5.16\var\megalib/Math/BigInt.pm line 153 > # eval {...} called at C:\cpanfly-5.16\var\megalib/Math/BigInt.pm > line 153 > # require Math/BigInt.pm called at C:\cpanfly- > 5.16\var\megalib/Win32API/File.pm line 23 > # Win32API::File::BEGIN() called at C:\cpanfly- > 5.16\var\megalib/Math/BigInt.pm line 153 > # eval {...} called at C:\cpanfly-5.16\var\megalib/Math/BigInt.pm > line 153 > # require Win32API/File.pm called at C:\cpanfly- > 5.16\var\megalib/File/Spec/Win32.pm line 92 > # eval {...} called at C:\cpanfly-5.16\var\megalib/File/Spec/Win32.pm > line 92 > # File::Spec::Win32::case_tolerant('File::Spec') called at > C:\cpanfly-5.16\var\megalib/Pod/Find.pm line 481 > # Pod::Find::pod_where('HASH(0x24a9eec)', 'sqitchcommands') called at > C:\cpanfly-5.16\var\cpan\build\App-Sqitch-0.938- > PNTiYK\blib\lib/App/Sqitch/Command/help.pm line 25 > # >
App::Sqitch::Command::help::find_and_show('App::Sqitch::Command::help=HASH(0x249f7f4)' , Show quoted text
> 'sqitchcommands') called at C:\cpanfly-5.16\var\cpan\build\App- > Sqitch-0.938-PNTiYK\blib\lib/App/Sqitch/Command/help.pm line 19 > # > App::Sqitch::Command::help::execute('App::Sqitch::Command::help=HASH(0x249f7f4)') > called at t/help.t line 30 > > > When I inquired with the PPM folks Jan Dubois replied: >
> > So the issue seems to be triggered only by the code in the
> App::Sqitch
> > test. > > > > Math::BigInt is used by Win32API::File on 32-bit Windows to deal
> with
> > 64-bit file offsets, so this issue will only be triggered on
> Windows.
> > I don't understand why this isn't a problem with 5.14 though, as it > > also has the latest Math::BigInt installed. The problem is also not > > triggered by simply loading Win32API::File. So it probably won't > > show up in many cpantesters results.
> > So I guess something is different in the CPAN release?
The latest CPAN release is still 1.997. Perl 5.15.7 and higher include 1.998, whose only difference from 1.997 is the suppression of this warning (perl commit 5e0688b6067a) and the version number. So it looks as though we need a new CPAN release. (The same applies to bignum, BTW, as I recently fixed a serious bug in its global overrides.)
On 2012-10-15 01:28:48, SPROUT wrote: Show quoted text
> So it looks as though we need a new CPAN release. (The same applies > to bignum, BTW, as I > recently fixed a serious bug in its global overrides.)
Great. Whom can I nag to do so? Thanks, David
RT-Send-CC: rafl [...] debian.org, pjacklam [...] online.no, perl5-porters [...] perl.org
On Tue Oct 16 12:06:53 2012, DWHEELER wrote: Show quoted text
> On 2012-10-15 01:28:48, SPROUT wrote: >
> > So it looks as though we need a new CPAN release. (The same applies > > to bignum, BTW, as I > > recently fixed a serious bug in its global overrides.)
> > Great. Whom can I nag to do so?
I’m not sure. Porting/Maintainers.pl in the Perl repository says that rafl (Florian Ragwitz) is the maintainer, but the last release was made by Peter J. Acklam. So I am cc’ing both.
From: Mark.Martinec [...] ijs.si
As soon as a module Net::DNS::SEC is installed, the "overload arg '..'" warning pops up all over the place (like in half the self-tests of SpamAssassin). Here is a one-liner which demonstrates it (using perl 5.16.0 and Math::BigInt 1.997): $ perl -MNet::DNS -lwe ' $r=Net::DNS::Resolver->new; $r->udppacketsize(2048)' overload arg '..' is invalid at /usr/local/lib/perl5/site_perl/5.16.0/ Math/BigInt.pm line 153.
From: lidl [...] pix.net
On Mon Oct 15 01:28:48 2012, SPROUT wrote: Show quoted text
> The latest CPAN release is still 1.997. Perl 5.15.7 and higher > include 1.998, whose only > difference from 1.997 is the suppression of this warning (perl commit > 5e0688b6067a) and > the version number. > > So it looks as though we need a new CPAN release. (The same applies > to bignum, BTW, as I > recently fixed a serious bug in its global overrides.)
I just ran into this problem this morning on a freshly installed version of perl 5.16.2 (which includes 1.998 of Math-BigInt) and a dependency that loaded the latest Math-BigInt from CPAN (which is still 1.997). So, this problem still exists.
On Mon Feb 04 09:00:41 2013, kurtlidl wrote: Show quoted text
> On Mon Oct 15 01:28:48 2012, SPROUT wrote:
> > The latest CPAN release is still 1.997. Perl 5.15.7 and higher > > include 1.998, whose only > > difference from 1.997 is the suppression of this warning (perl commit > > 5e0688b6067a) and > > the version number. > > > > So it looks as though we need a new CPAN release. (The same applies > > to bignum, BTW, as I > > recently fixed a serious bug in its global overrides.)
> > > I just ran into this problem this morning on a freshly installed > version of perl 5.16.2 (which includes 1.998 of Math-BigInt) and > a dependency that loaded the latest Math-BigInt from CPAN (which is > still 1.997). > > So, this problem still exists. >
This bug hit me when i upgraded to Fedora 18. Proposed patch is attached.
Subject: Math_BigInt_pointpoint.patch
diff -Naur old/lib/Math/BigInt.pm new/lib/Math/BigInt.pm --- old/lib/Math/BigInt.pm 2011-09-03 16:26:41.000000000 +1000 +++ new/lib/Math/BigInt.pm 2013-04-15 14:39:17.890447159 +1000 @@ -60,8 +60,6 @@ '>>=' => sub { $_[0]->brsft($_[1]); }, # not supported by Perl yet -'..' => \&_pointpoint, - '<=>' => sub { my $rc = $_[2] ? ref($_[0])->bcmp($_[1],$_[0]) : $_[0]->bcmp($_[1]);
Fixed.