Skip Menu |

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

Report information
The Basics
Id: 14786
Status: new
Priority: 0/
Queue: Math-Pari

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

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



Subject: 64-bit t/00_Pari.....FAILED tests 53-54
A "make test" works perfectly fine on my 32 bit systems but fails on 64 bit for some reason. I'm not sure if it's a "pari" bug or something with the perl module. Is this a known issue or just a configuration problem on my end? I can give you more details if you want, but here is a little from my console that exploits the problem: $ cat /etc/redhat-release CentOS release 4.1 (Final) $ perl -v This is perl, v5.8.5 built for x86_64-linux-thread-multi [...] $ uname -a Linux dc1r1x1 2.6.12-xen #1 SMP Sat Sep 17 03:11:25 BST 2005 x86_64 x86_64 x86_64 GNU/Linux $ make test [...] PERL_DL_NONLAZY=1 /usr/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib/lib', 'blib/arch')" t/*.t t/00_Pari.....ok 109/127Binary number > 0b11111111111111111111111111111111 non-portable at (eval 3) line 6. Binary number > 0b11111111111111111111111111111111 non-portable at (eval 3) line 7. Binary number > 0b11111111111111111111111111111111 non-portable at (eval 3) line 11. Hexadecimal number > 0xffffffff non-portable at (eval 3) line 12. Binary number > 0b11111111111111111111111111111111 non-portable at (eval 3) line 13. t/00_Pari.....FAILED tests 53-54 Failed 2/127 tests, 98.43% okay t/analyz......ok I do not have a patch that solves the problem.
Date: Wed, 28 Sep 2005 00:12:40 -0700
From: Ilya Zakharevich <nospam-abuse [...] ilyaz.org>
To: Guest via RT <bug-Math-Pari [...] rt.cpan.org>
CC: undisclosed-recipients: ;
Subject: Re: [cpan #14786] 64-bit t/00_Pari.....FAILED tests 53-54
RT-Send-Cc:
On Wed, Sep 28, 2005 at 12:33:29AM -0400, Guest via RT wrote: Show quoted text
> A "make test" works perfectly fine on my 32 bit systems but fails on
64 bit for some reason. I'm not sure if it's a "pari" bug or something with the perl module. Is this a known issue or just a configuration problem on my end? I can give you more details if you want, but here is a little from my console that exploits the problem: [Please insert newlines time to time in your emails. I reformatted what you wrote...] Show quoted text
> $ cat /etc/redhat-release > CentOS release 4.1 (Final)
README and INSTALL explain how to form bug reports. Show quoted text
> t/00_Pari.....FAILED tests 53-54 > Failed 2/127 tests, 98.43% okay > t/analyz......ok
Is it the only failing test? What happens with perl -Mblib -MMath::Pari -wle "print 11 if PARI(3) lt PARI(4)" perl -Mblib -MMath::Pari -wle "print 11 if PARI(3) lt 4" Thanks, Ilya
From: peter [...] adpm.de
Hi, although I am not the submitter of this bug I am bitten by it as well. My environment is perl 5.8.7 on SLES9 running on a x86_64 (i.e. AMD 64-bit extensions) machine. [nospam-abuse@ilyaz.org - Wed Sep 28 03:13:08 2005]: Show quoted text
> On Wed, Sep 28, 2005 at 12:33:29AM -0400, Guest via RT wrote: > Is it the only failing test? What happens with > perl -Mblib -MMath::Pari -wle "print 11 if PARI(3) lt PARI(4)" > perl -Mblib -MMath::Pari -wle "print 11 if PARI(3) lt 4"
Both of these commands do not print anything. The error occurs in Math::Pari 2.01060300 with pari 2.1.6 as well as in Math::Pari 2.010700 with pari 2.1.7. I was able to make both of these versions pass 'make test' by applying the following command to all .c and .h files in the pari library directory and manually fiddling with the resulting error in basemath/polarit2.c ;-): perl -i-ok -p -e 's/\bint\b/long/g' `find ./ -name \*.c -o -name \*.h` The patch replaces all occurences of 'int' in all pari files by 'long'. Although this patch works for my purposes (Net::SSH::Perl, Net::SFTP) with Math::Pari 2.01.60300 with pari 2.1.6 (haven't tested with newer versions yet) I doubt this hack is the correct patch to fix the issue on x86_64 machines. I guess the problem has something to do with the sizes of the integer types on x86_64. A little test gave me the following results: sizeof(short) = 2 sizeof(int) = 4 sizeof(long) = 8 Don't hesitate to ask if you need more information. CU Peter
Date: Tue, 8 Nov 2005 23:35:44 -0800
From: Ilya Zakharevich <nospam-abuse [...] ilyaz.org>
To: Guest via RT <bug-Math-Pari [...] rt.cpan.org>
CC: undisclosed-recipients: ;
Subject: Re: [cpan #14786] 64-bit t/00_Pari.....FAILED tests 53-54
RT-Send-Cc:
On Wed, Nov 09, 2005 at 01:49:46AM -0500, Guest via RT wrote: Show quoted text
> although I am not the submitter of this bug I am bitten by it as well. > My environment is perl 5.8.7 on SLES9 running on a x86_64 (i.e. AMD > 64-bit extensions) machine. > > [nospam-abuse@ilyaz.org - Wed Sep 28 03:13:08 2005]:
> > On Wed, Sep 28, 2005 at 12:33:29AM -0400, Guest via RT wrote: > > Is it the only failing test? What happens with > > perl -Mblib -MMath::Pari -wle "print 11 if PARI(3) lt PARI(4)" > > perl -Mblib -MMath::Pari -wle "print 11 if PARI(3) lt 4"
> > Both of these commands do not print anything. > > The error occurs in Math::Pari 2.01060300 with pari 2.1.6 as well as > in Math::Pari 2.010700 with pari 2.1.7. > > I was able to make both of these versions pass 'make test' by applying > the following command to all .c and .h files in the pari library > directory and manually fiddling with the resulting error in > basemath/polarit2.c ;-):
Hmm, IIRC, the *only* failure is with lexical-order comparison, right? If so, such a major edit looks a little bit too excessive... Maybe setting breakpoint into lex() can show you how to proceed? Thanks, Ilya
Date: Wed, 9 Nov 2005 00:46:16 -0800
From: Ilya Zakharevich <nospam-abuse [...] ilyaz.org>
To: Guest via RT <bug-Math-Pari [...] rt.cpan.org>
Subject: Re: [cpan #14786] 64-bit t/00_Pari.....FAILED tests 53-54
RT-Send-Cc:
On Tue, Nov 08, 2005 at 11:35:44PM -0800, Ilya Zakharevich wrote: Show quoted text
> > I was able to make both of these versions pass 'make test' by applying > > the following command to all .c and .h files in the pari library > > directory and manually fiddling with the resulting error in > > basemath/polarit2.c ;-):
Show quoted text
> Hmm, IIRC, the *only* failure is with lexical-order comparison, right? > If so, such a major edit looks a little bit too excessive...
Show quoted text
> Maybe setting breakpoint into lex() can show you how to proceed?
a) It should have been lexcmp(); b) I'm sitting on this patch for 3 years already; apparently, GP/PARI team won't apply it; please try: Thanks, Ilya diff -pru pari-word-new2/src/basemath/gen2.c pari-word-new1/src/basemath/gen2.c --- pari-word-new2/src/basemath/gen2.c Sun Nov 10 01:03:50 2002 +++ pari-word-new1/src/basemath/gen2.c Sun Nov 10 00:26:26 2002 @@ -424,6 +424,12 @@ lexcmp_vec_mat(GEN x, GEN y) return lexcmp_scal_vec(x,y); } +long +lexcmp_l(GEN x, GEN y) +{ + return lexcmp(x, y); +} + /* as gcmp for vector/matrices, using lexicographic ordering on components */ int lexcmp(GEN x, GEN y) diff -pru pari-word-new2/src/headers/paridecl.h pari-word-new1/src/headers/paridecl.h --- pari-word-new2/src/headers/paridecl.h Sun Nov 10 01:03:28 2002 +++ pari-word-new1/src/headers/paridecl.h Sun Nov 10 00:26:26 2002 @@ -884,6 +884,7 @@ int gsigne(GEN x); GEN gtolist(GEN x); PARI_word gtolong(GEN x); int lexcmp(GEN x, GEN y); +long lexcmp_l(GEN x, GEN y); GEN listconcat(GEN list1, GEN list2); GEN listcreate(PARI_word n); GEN listinsert(GEN list, GEN object, PARI_word index); diff -pru pari-word-new2/src/language/init.c pari-word-new1/src/language/init.c --- pari-word-new2/src/language/init.c Sun Nov 10 01:03:52 2002 +++ pari-word-new1/src/language/init.c Sun Nov 10 00:26:26 2002 @@ -2165,7 +2171,7 @@ entree functions_basic[]={ {"kronecker",2,(void*)gkronecker,4,"GG"}, {"lcm",99,(void*)glcm0,4,"GDG"}, {"length",10,(void*)glength,2,"lG"}, -{"lex",20,(void*)lexcmp,1,"lGG"}, +{"lex",20,(void*)lexcmp_l,1,"lGG"}, {"lift",99,(void*)lift0,2,"GDn"}, {"lindep",99,(void*)lindep0,8,"GD0,L,p"}, {"listcreate",11,(void*)listcreate,8,"L"},
Hi, Thanks for the super fast response [nospam-abuse@ilyaz.org - Wed Nov 9 03:46:51 2005]: Show quoted text
> On Tue, Nov 08, 2005 at 11:35:44PM -0800, Ilya Zakharevich wrote: > a) It should have been lexcmp(); > b) I'm sitting on this patch for 3 years already; apparently,
GP/PARI Show quoted text
> team won't apply it; please try:
I tried only b) Due to its age the patch did not apply cleanly to 2.1.7, so I applied it manually. Unfortunately it does not help. Tests 53 and 54 still fail. The 2 test statements, you presented in your first response above, still don't print anything. CU PEter
Date: Wed, 9 Nov 2005 14:22:32 -0800
From: Ilya Zakharevich <nospam-abuse [...] ilyaz.org>
To: Guest via RT <bug-Math-Pari [...] rt.cpan.org>
Subject: Re: [cpan #14786] 64-bit t/00_Pari.....FAILED tests 53-54
RT-Send-Cc:
On Wed, Nov 09, 2005 at 09:22:30AM -0500, Guest via RT wrote: Show quoted text
> > b) I'm sitting on this patch for 3 years already; apparently,
> GP/PARI
> > team won't apply it; please try:
> > I tried only b) > Due to its age the patch did not apply cleanly to 2.1.7, so I applied > it manually. > > Unfortunately it does not help. Tests 53 and 54 still fail. > The 2 test statements, you presented in your first response above, > still don't print anything.
I think I found the reason (I hardwired some signatures for overload-via-C APIs; at the time I did it, it was not "known" that signature for "lexcmp" is not kosher). The new version is on PAUSE, it should propagate to CPAN RSN. Thanks for your patience, Ilya
From: peter [...] adpm.de
Hi, [nospam-abuse@ilyaz.org - Wed Nov 9 17:23:09 2005]: Show quoted text
> I think I found the reason (I hardwired some signatures for > overload-via-C APIs; at the time I did it, it was not "known" that > signature for "lexcmp" is not kosher). The new version is on PAUSE, > it should propagate to CPAN RSN.
Unfortunately Math::Pari 2.010701 / pari-2.1.7 reports more failures than Math::Pari 2.010700 / pari-2.1.7. Here are the results of the 'make test' jury: t/00_Pari........ok 59/128Binary number > 0b11111111111111111111111111111111 non-portable at (eval 3) line 6. Binary number > 0b11111111111111111111111111111111 non-portable at (eval 3) line 7. t/00_Pari........ok 60/128Binary number > 0b11111111111111111111111111111111 non-portable at (eval 3) line 11. Hexadecimal number > 0xffffffff non-portable at (eval 3) line 12. Binary number > 0b11111111111111111111111111111111 non-portable at (eval 3) line 13. t/00_Pari........ok t/55_analyz......ok t/55_elliptic....FAILED tests 3, 25, 32, 38-40 Failed 6/46 tests, 86.96% okay t/55_graph.......# Can't locate Term/Gnuplot.pm in @INC, ignoring plotting t/55_graph.......ok 1/28 skipped: plot() - can't test it yet t/55_linear......FAILED tests 37, 65-66 Failed 3/105 tests, 97.14% okay t/55_nfields.....ok 23/161PARI: *** Warning: insufficient precision for fundamental units, not given. t/55_nfields.....ok 156/161PARI: *** Warning: not a fundamental discriminant in quadclassunit. t/55_nfields.....FAILED tests 7, 12, 14-15, 21, 25-26, 159 Failed 8/161 tests, 95.03% okay (less 83 skipped tests: 70 okay, 43.48%) t/55_number......FAILED tests 29-30 Failed 2/83 tests, 97.59% okay t/55_objets......ok 1/62 skipped: test producing error unsupported yet (impossible inverse modulo: Mod(131, 49649).) t/55_ploth.......# Can't locate Term/Gnuplot.pm in @INC, ignoring plotting t/55_ploth.......ok 10/34 skipped: various reasons t/55_polyser.....FAILED test 34 Failed 1/51 tests, 98.04% okay t/55_program.....ok 13/37 skipped: various reasons t/55_sumiter.....FAILED tests 10-11 Failed 2/21 tests, 90.48% okay t/55_trans.......FAILED tests 10, 39, 51 Failed 3/62 tests, 95.16% okay t/PlotRect.......# Can't locate Term/Gnuplot.pm in @INC, ignoring the test skipped all skipped: Can't locate Term/Gnuplot.pm in @INC t/zz_leak........ok Failed Test Stat Wstat Total Fail Failed List of Failed ------------------------------------------------------------------------------- t/55_elliptic.t 46 6 13.04% 3 25 32 38-40 t/55_linear.t 105 3 2.86% 37 65-66 t/55_nfields.t 161 8 4.97% 7 12 14-15 21 25-26 159 t/55_number.t 83 2 2.41% 29-30 t/55_polyser.t 51 1 1.96% 34 t/55_sumiter.t 21 2 9.52% 10-11 t/55_trans.t 62 3 4.84% 10 39 51 1 test and 108 subtests skipped. Failed 7/15 test scripts, 53.33% okay. 25/827 subtests failed, 96.98% okay. Show quoted text
> Thanks for your patience,
Why patience ? I never found such fast responses to problems. Thanks a ton Peter
From: peter [...] adpm.de
Hi, [nospam-abuse@ilyaz.org - Wed Nov 9 17:23:09 2005]: Show quoted text
> I think I found the reason (I hardwired some signatures for > overload-via-C APIs; at the time I did it, it was not "known" that > signature for "lexcmp" is not kosher). The new version is on PAUSE, > it should propagate to CPAN RSN.
Unfortunately Math::Pari 2.010701 / pari-2.1.7 reports more failures than Math::Pari 2.010700 / pari-2.1.7. Here are the results of the 'make test' jury: t/00_Pari........ok 59/128Binary number > 0b11111111111111111111111111111111 non-portable at (eval 3) line 6. Binary number > 0b11111111111111111111111111111111 non-portable at (eval 3) line 7. t/00_Pari........ok 60/128Binary number > 0b11111111111111111111111111111111 non-portable at (eval 3) line 11. Hexadecimal number > 0xffffffff non-portable at (eval 3) line 12. Binary number > 0b11111111111111111111111111111111 non-portable at (eval 3) line 13. t/00_Pari........ok t/55_analyz......ok t/55_elliptic....FAILED tests 3, 25, 32, 38-40 Failed 6/46 tests, 86.96% okay t/55_graph.......# Can't locate Term/Gnuplot.pm in @INC, ignoring plotting t/55_graph.......ok 1/28 skipped: plot() - can't test it yet t/55_linear......FAILED tests 37, 65-66 Failed 3/105 tests, 97.14% okay t/55_nfields.....ok 23/161PARI: *** Warning: insufficient precision for fundamental units, not given. t/55_nfields.....ok 156/161PARI: *** Warning: not a fundamental discriminant in quadclassunit. t/55_nfields.....FAILED tests 7, 12, 14-15, 21, 25-26, 159 Failed 8/161 tests, 95.03% okay (less 83 skipped tests: 70 okay, 43.48%) t/55_number......FAILED tests 29-30 Failed 2/83 tests, 97.59% okay t/55_objets......ok 1/62 skipped: test producing error unsupported yet (impossible inverse modulo: Mod(131, 49649).) t/55_ploth.......# Can't locate Term/Gnuplot.pm in @INC, ignoring plotting t/55_ploth.......ok 10/34 skipped: various reasons t/55_polyser.....FAILED test 34 Failed 1/51 tests, 98.04% okay t/55_program.....ok 13/37 skipped: various reasons t/55_sumiter.....FAILED tests 10-11 Failed 2/21 tests, 90.48% okay t/55_trans.......FAILED tests 10, 39, 51 Failed 3/62 tests, 95.16% okay t/PlotRect.......# Can't locate Term/Gnuplot.pm in @INC, ignoring the test skipped all skipped: Can't locate Term/Gnuplot.pm in @INC t/zz_leak........ok Failed Test Stat Wstat Total Fail Failed List of Failed ------------------------------------------------------------------------------- t/55_elliptic.t 46 6 13.04% 3 25 32 38-40 t/55_linear.t 105 3 2.86% 37 65-66 t/55_nfields.t 161 8 4.97% 7 12 14-15 21 25-26 159 t/55_number.t 83 2 2.41% 29-30 t/55_polyser.t 51 1 1.96% 34 t/55_sumiter.t 21 2 9.52% 10-11 t/55_trans.t 62 3 4.84% 10 39 51 1 test and 108 subtests skipped. Failed 7/15 test scripts, 53.33% okay. 25/827 subtests failed, 96.98% okay. Show quoted text
> Thanks for your patience,
Why patience ? I never found such fast responses to problems. Thanks a ton Peter
Date: Thu, 10 Nov 2005 15:06:31 -0800
From: Ilya Zakharevich <nospam-abuse [...] ilyaz.org>
To: Guest via RT <bug-Math-Pari [...] rt.cpan.org>
CC: undisclosed-recipients: ;
Subject: Re: [cpan #14786] 64-bit t/00_Pari.....FAILED tests 53-54
RT-Send-Cc:
On Thu, Nov 10, 2005 at 11:51:50AM -0500, Guest via RT wrote: Show quoted text
> > I think I found the reason (I hardwired some signatures for > > overload-via-C APIs; at the time I did it, it was not "known" that > > signature for "lexcmp" is not kosher). The new version is on PAUSE, > > it should propagate to CPAN RSN.
Show quoted text
> Unfortunately Math::Pari 2.010701 / pari-2.1.7 reports more failures > than Math::Pari 2.010700 / pari-2.1.7.
Well, the t/00_Pari.t failure is gone, right? ;-) Actually, this thread never contained the full list of failing tests; was it ONLY t/00_Pari.t? Thanks, Ilya
From: peter [...] adpm.de
[nospam-abuse@ilyaz.org - Thu Nov 10 18:07:04 2005]: Show quoted text
> Well, the t/00_Pari.t failure is gone, right? ;-)
That's right. Show quoted text
> Actually, this thread never contained the full list of failing
tests; Show quoted text
> was it ONLY t/00_Pari.t?
Yes, only the errors 53-54 (together with the warnings/errors about non-portable large binary/hex numbers). CU Peter
Date: Fri, 11 Nov 2005 00:15:10 -0800
From: Ilya Zakharevich <nospam-abuse [...] ilyaz.org>
To: Guest via RT <bug-Math-Pari [...] rt.cpan.org>
CC: undisclosed-recipients: ;
Subject: Re: [cpan #14786] 64-bit t/00_Pari.....FAILED tests 53-54
RT-Send-Cc:
On Fri, Nov 11, 2005 at 02:23:58AM -0500, Guest via RT wrote: Show quoted text
> > This message about Math-Pari was sent to you by guest <> via rt.cpan.org > > Full context and any attached attachments can be found at: > <URL: https://rt.cpan.org/Ticket/Display.html?id=14786 > > > [nospam-abuse@ilyaz.org - Thu Nov 10 18:07:04 2005]:
> > Well, the t/00_Pari.t failure is gone, right? ;-)
> > That's right. >
> > Actually, this thread never contained the full list of failing
> tests;
> > was it ONLY t/00_Pari.t?
> > Yes, only the errors 53-54 (together with the warnings/errors about > non-portable large binary/hex numbers).
As the minimum, I need a formal bug report (see README and INSTALL). Thanks, Ilya
Date: Fri, 11 Nov 2005 03:35:53 -0800
From: Ilya Zakharevich <nospam-abuse [...] ilyaz.org>
To: Guest via RT <bug-Math-Pari [...] rt.cpan.org>
Subject: Re: [cpan #14786] 64-bit t/00_Pari.....FAILED tests 53-54
RT-Send-Cc:
On Fri, Nov 11, 2005 at 02:23:58AM -0500, Guest via RT wrote: Show quoted text
> > Actually, this thread never contained the full list of failing
> tests;
> > was it ONLY t/00_Pari.t?
Show quoted text
> Yes, only the errors 53-54 (together with the warnings/errors about > non-portable large binary/hex numbers).
I do not know how this would be possible. There was a misprint in the test suite... Please recheck with 2.010702 (should propagate to CPAN in a few hours). Thanks, Ilya
From: peter [...] adpm.de
Hi, [nospam-abuse@ilyaz.org - Fri Nov 11 06:36:38 2005]: Show quoted text
> Please recheck with 2.010702 (should propagate to CPAN in a few > hours).
sorry it took me so long to answer. I upgraded to 2.010702 and it compiles & works without problems on i386 and x86_64. Thanks for Math::Pari and your very quick responses !! Peter