Skip Menu |

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

Report information
The Basics
Id: 33959
Status: open
Priority: 0/
Queue: Math-Pari

People
Owner: Nobody in particular
Requestors: frank.wiegand [...] gmail.com
Cc:
AdminCc:

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



Subject: make test fails on 5.10
I am using the patch provided at http://perlmonks.org/?node_id=672924 to get Math::Pari running on 5.10. On 5.10 (and blead, patchlevel 33445) Math::Pari fails its test suite strangely: $ /opt/perl-5.10.0/bin/perl5.10.0 Makefile.PL ... $ make ... $ make test cd libPARI && make LIBPERL_A="libperl.a" LINKTYPE="dynamic" OPTIMIZE="-O2" PREFIX="/opt/perl-5.10.0" PASTHRU_DEFINE="" PASTHRU_INC="" make[1]: Entering directory `/home/fw/.cpan/build/Math-Pari-2.010709-ahtbDo/libPARI' make[1]: Leaving directory `/home/fw/.cpan/build/Math-Pari-2.010709-ahtbDo/libPARI' make[1]: Entering directory `/home/fw/.cpan/build/Math-Pari-2.010709-ahtbDo/libPARI' make[1]: Nothing to be done for `all'. make[1]: Leaving directory `/home/fw/.cpan/build/Math-Pari-2.010709-ahtbDo/libPARI' PERL_DL_NONLAZY=1 /opt/perl-5.10.0/bin/perl5.10.0 "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib/lib', 'blib/arch')" t/*.t t/00_Pari..........ok t/55_analyz........ok t/55_elliptic......ok t/55_graph.........# Can't locate Term/Gnuplot.pm in @INC, ignoring plotting t/55_graph.........ok t/55_linear........ok t/55_nfields.......1/161 PARI: *** Warning: insufficient precision for fundamental units, not given. t/55_nfields.......122/161 PARI: *** Warning: not a fundamental discriminant in quadclassunit. t/55_nfields.......ok t/55_number........ok t/55_objets........ All 62 subtests passed t/55_ploth.........# Can't locate Term/Gnuplot.pm in @INC, ignoring plotting t/55_ploth.........ok t/55_polyser.......ok t/55_program.......ok t/55_sumiter.......ok t/55_trans.........ok t/PlotRect.........# Can't locate Term/Gnuplot.pm in @INC, ignoring the test t/PlotRect.........skipped: Can't locate Term/Gnuplot.pm in @INC t/zz_leak..........ok Test Summary Report ------------------- Files=15, Tests=1245, 7 wallclock secs ( 0.26 usr 0.02 sys + 7.01 cusr 0.09 csys = 7.38 CPU) Result: FAIL Failed 1/15 test programs. 0/1245 subtests failed. make: *** [test_dynamic] Error 255 Please note that there are no failing subtests. I reduced the problem down to t/55_objets.t with the following pari-2.1.7/src/test/32/objets: realprecision = 38 significant digits echo = 1 (on) ? truncate(1.7,&e) 1 ? \p57 realprecision = 57 significant digits ? length(divisors(1000)) 16 ? \q Now we run the test by hand: $ PERL_DL_NONLAZY=1 /opt/perl-5.10.0/bin/perl5.10.0 "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib/lib', 'blib/arch')" t/55_objets.t t/55_objets...... All 3 subtests passed Test Summary Report ------------------- Files=1, Tests=3, 0 wallclock secs ( 0.01 usr 0.00 sys + 0.05 cusr 0.00 csys = 0.06 CPU) Result: FAIL Failed 1/1 test programs. 0/3 subtests failed. I got the same behaviour using bleadperl (33445). Maybe it's not even a bug in Math::Pari. Some versions: Test::Harness (3.10) ExtUtils::MakeMaker (6.44) $ /opt/perl-5.10.0/bin/perl5.10.0 -V Summary of my perl5 (revision 5 version 10 subversion 0) configuration: Platform: osname=linux, osvers=2.6.22-14-generic, archname=i686-linux uname='linux hal 2.6.22-14-generic #1 smp tue feb 12 07:42:25 utc 2008 i686 gnulinux ' config_args='-de -Dusedevel -Dprefix=/opt/perl-5.10.0/ -Dmad' hint=recommended, useposix=true, d_sigaction=define useithreads=undef, usemultiplicity=undef useperlio=define, d_sfio=undef, uselargefiles=define, usesocks=undef use64bitint=undef, use64bitall=undef, uselongdouble=undef usemymalloc=n, bincompat5005=undef Compiler: cc='cc', ccflags ='-fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64', optimize='-O2', cppflags='-fno-strict-aliasing -pipe -I/usr/local/include' ccversion='', gccversion='4.1.3 20070929 (prerelease) (Ubuntu 4.1.2-16ubuntu2)', gccosandvers='' intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=1234 d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=12 ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8 alignbytes=4, prototype=define Linker and Libraries: ld='cc', ldflags =' -L/usr/local/lib' libpth=/usr/local/lib /lib /usr/lib libs=-lnsl -lgdbm -ldb -ldl -lm -lcrypt -lutil -lc perllibs=-lnsl -ldl -lm -lcrypt -lutil -lc libc=/lib/libc-2.6.1.so, so=so, useshrplib=false, libperl=libperl.a gnulibc_version='2.6.1' Dynamic Linking: dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,-E' cccdlflags='-fPIC', lddlflags='-shared -O2 -L/usr/local/lib' Characteristics of this binary (from libperl): Compile-time options: PERL_DONT_CREATE_GVSV PERL_MAD PERL_MALLOC_WRAP USE_LARGE_FILES USE_PERLIO Built under linux Compiled at Mar 9 2008 09:08:23 @INC: /opt/perl-5.10.0/lib/5.10.0/i686-linux /opt/perl-5.10.0/lib/5.10.0 /opt/perl-5.10.0/lib/site_perl/5.10.0/i686-linux /opt/perl-5.10.0/lib/site_perl/5.10.0
CC: undisclosed-recipients: ;
Subject: Re: [rt.cpan.org #33959] make test fails on 5.10
Date: Mon, 10 Mar 2008 13:04:54 -0700
To: Frank Wiegand via RT <bug-Math-Pari [...] rt.cpan.org>
From: Ilya Zakharevich <nospam-abuse [...] ilyaz.org>
On Mon, Mar 10, 2008 at 10:39:45AM -0400, Frank Wiegand via RT wrote: Show quoted text
> I am using the patch provided at http://perlmonks.org/?node_id=672924 to > get Math::Pari running on 5.10.
Well, nobody let me know... Show quoted text
> t/55_number........ok > t/55_objets........ All 62 subtests passed > t/55_ploth.........# Can't locate Term/Gnuplot.pm in @INC, ignoring plotting
Show quoted text
> Please note that there are no failing subtests. I reduced the problem > down to t/55_objets.t with the following pari-2.1.7/src/test/32/objets: > > realprecision = 38 significant digits > echo = 1 (on) > ? truncate(1.7,&e) > 1 > ? \p57 > realprecision = 57 significant digits > ? length(divisors(1000)) > 16 > ? \q > > > Now we run the test by hand: > > $ PERL_DL_NONLAZY=1 /opt/perl-5.10.0/bin/perl5.10.0 > "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib/lib', > 'blib/arch')" t/55_objets.t > t/55_objets...... All 3 subtests passed > > Test Summary Report > ------------------- > Files=1, Tests=3, 0 wallclock secs ( 0.01 usr 0.00 sys + 0.05 cusr > 0.00 csys = 0.06 CPU) > Result: FAIL > Failed 1/1 test programs. 0/3 subtests failed.
You need to run perl -Mblib t/55_objets.t and cut&paste the results. Thanks, Ilya
Subject: Re: [rt.cpan.org #33959] make test fails on 5.10
Date: Tue, 11 Mar 2008 10:29:53 +0100
To: bug-Math-Pari [...] rt.cpan.org
From: "Frank Wiegand" <frank.wiegand [...] gmail.com>
Hi, 2008/3/10, Ilya Zakharevich via RT <bug-Math-Pari@rt.cpan.org>: Show quoted text
> <URL: http://rt.cpan.org/Ticket/Display.html?id=33959 >
> > I am using the patch provided at http://perlmonks.org/?node_id=672924 to > > get Math::Pari running on 5.10.
> Well, nobody let me know... > You need to run > perl -Mblib t/55_objets.t
$ /opt/perl-5.10.0-debug/bin/perl5.10.0 -Mblib t/55_objets.t 1..62 # Setting precision to 38 digits. # eval: + PARI(3) ok 1 # eval: - PARI(5) ok 2 # eval: PARI(5) + PARI(3) ok 3 # eval: PARI(5) - PARI(3) ok 4 # eval: PARI(5) / PARI(3) ok 5 # eval: gdivent(5,3) ok 6 # eval: gdivround(5,3) ok 7 # eval: PARI(5) % PARI(3) ok 8 # eval: PARI(5) ** PARI(3) ok 9 # eval: binary(65537) ok 10 # eval: bittest( PARI(10) **100,100) ok 11 # eval: ceil(-2.5) ok 12 # eval: centerlift(Mod(456,555)) ok 13 # eval: component(1+ PARI('O(7^4)') ,3) ok 14 # eval: conj(1+ I) ok 15 # eval: conjvec(Mod($x**2+$x+1,$x**3-$x-1)) ok 16 # eval: truncate(1.7,$e) ok 17 # eval: $e ok 18 # eval: denominator( PARI(12345)/PARI(54321) ) ok 19 # eval: divrem(345,123) ok 20 # eval: divrem($x**7-1,$x**5+1) ok 21 # eval: floor(- PARI(1)/PARI(2) ) ok 22 # eval: floor(-2.5) ok 23 # eval: frac(-2.7) ok 24 # eval: I** PARI(2) ok 25 # eval: imag(2+3* I) ok 26 # eval: lex([1,3],[1,3,5]) ok 27 # eval: max(2,3) ok 28 # eval: min(2,3) ok 29 # eval: Mod(-12,7) ok 30 # eval: Mod(-12,7,1) ok 31 # `Mod(10873,49649)^-1' ok 32 # Skipping: test producing error unsupported yet (impossible inverse modulo: Mod(131, 49649).) # eval: norm(1+ I) ok 33 # eval: norm(Mod($x+5,$x**3+$x+1)) ok 34 # eval: numerator(($x+1)/($x-1)) ok 35 # eval: 1/(1+$x)+ PARI('O(x^20)') ok 36 # eval: numtoperm(7,1035) ok 37 # eval: permtonum([4,7,1,6,3,5,2]) ok 38 # eval: PARI(37.) ok 39 # eval: real(5-7* I) ok 40 # eval: $arat=($x**3+$x+1)/$x**3;type($arat,14) ok 41 # eval: &shift(1,50) ok 42 # eval: &shift([3,4,-11,-12],-2) ok 43 # eval: shiftmul([3,4,-11,-12],-2) ok 44 # eval: sign(-1) ok 45 # eval: sign(0) ok 46 # eval: sign(0.) ok 47 # eval: simplify((($x+ I+1)**2-$x**2-2*$x*( I+1))**2) ok 48 # eval: sizedigit([1.3* PARI(10) **5,2* I* Pi*exp(4* Pi)]) ok 49 # eval: truncate(-2.7) ok 50 # eval: truncate(sin($x**2)) ok 51 # eval: type(Mod($x,$x**2+1)) ok 52 # eval: valuation( PARI(6) **10000-1,5) ok 53 # eval-noans: setprecision(57) ok 54 # eval: Pi ok 55 # eval-noans: setprecision(38) ok 56 # eval: PARI('O(x^12)') ok 57 # eval: $padicno=( PARI(5)/PARI(3) )*127+ PARI('O(127^5)') ok 58 # eval: padicprec($padicno,127) ok 59 # eval: length(divisors(1000)) ok 60 # `getheap' ok 61 # Silently skipping: meaningless for Math::Pari # `print("Total time spent: ",gettime);' ok 62 # Silently skipping: meaningless for Math::Pari Segmentation fault (core dumped) $ gdb /opt/perl-5.10.0-debug/bin/perl5.10.0 core GNU gdb 6.6-debian Copyright (C) 2006 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "i486-linux-gnu"... Using host libthread_db library "/lib/tls/i686/cmov/libthread_db.so.1". warning: Can't read pathname for load map: Input/output error. Reading symbols from /lib/tls/i686/cmov/libnsl.so.1...done. Loaded symbols for /lib/tls/i686/cmov/libnsl.so.1 Reading symbols from /lib/tls/i686/cmov/libdl.so.2...done. Loaded symbols for /lib/tls/i686/cmov/libdl.so.2 Reading symbols from /lib/tls/i686/cmov/libm.so.6...done. Loaded symbols for /lib/tls/i686/cmov/libm.so.6 Reading symbols from /lib/tls/i686/cmov/libcrypt.so.1...done. Loaded symbols for /lib/tls/i686/cmov/libcrypt.so.1 Reading symbols from /lib/tls/i686/cmov/libutil.so.1...done. Loaded symbols for /lib/tls/i686/cmov/libutil.so.1 Reading symbols from /lib/tls/i686/cmov/libc.so.6...done. Loaded symbols for /lib/tls/i686/cmov/libc.so.6 Reading symbols from /lib/ld-linux.so.2...done. Loaded symbols for /lib/ld-linux.so.2 Reading symbols from /opt/perl-5.10.0-debug/lib/5.10.0/i686-linux/auto/Cwd/Cwd.so...done. Loaded symbols for /opt/perl-5.10.0-debug/lib/5.10.0/i686-linux/auto/Cwd/Cwd.so Reading symbols from /home/fw/Download/pari/Math-Pari-2.010709-b/blib/arch/auto/Math/Pari/Pari.so...done. Loaded symbols for /home/fw/Download/pari/Math-Pari-2.010709-b/blib/arch/auto/Math/Pari/Pari.so Core was generated by `/opt/perl-5.10.0-debug/bin/perl5.10.0 -Mblib t/55_objets.t'. Program terminated with signal 11, Segmentation fault. #0 0xb7b09860 in brutcopy (x=0xb7a25898, y=0xb4dbe014) at ../pari-2.1.7/src/basemath/gen2.c:310 310 for (i=0; i<lontyp[tx]; i++) y[i] = x[i]; (gdb) bt #0 0xb7b09860 in brutcopy (x=0xb7a25898, y=0xb4dbe014) at ../pari-2.1.7/src/basemath/gen2.c:310 #1 0xb7b09e56 in gclone (x=0xb7a25898) at ../pari-2.1.7/src/basemath/gen2.c:323 #2 0xb7a4f331 in moveoffstack_newer_than (sv=0x8405a90) at Pari.xs:1240 #3 0xb7a5108e in XS_Math__Pari_DESTROY (cv=0x830c610) at Pari.xs:3832 #4 0x080ce14a in Perl_pp_entersub () at pp_hot.c:2847 #5 0x080c51e2 in Perl_call_sv (sv=0x830c610, flags=150) at perl.c:2646 #6 0x080ecb3a in Perl_sv_clear (sv=0x8405a90) at sv.c:5120 #7 0x080ed6fb in Perl_sv_free2 (sv=0x8405a90) at sv.c:5366 #8 0x080dae5b in S_visit (f=0x80eee90 <do_clean_objs>, flags=2048, mask=2048) at sv.c:387 #9 0x080daec1 in Perl_sv_clean_objs () at sv.c:495 #10 0x080cab0b in perl_destruct (my_perl=0x8250008) at perl.c:799 #11 0x080624bc in main (argc=3, argv=0xbfd81d04, env=0xbfd81d14) at perlmain.c:115 Since there was a core dump, I recompiled my perl with -DDEBUGGING set. $ /opt/perl-5.10.0-debug/bin/perl5.10.0 -V Summary of my perl5 (revision 5 version 10 subversion 0) configuration: Platform: osname=linux, osvers=2.6.22-14-generic, archname=i686-linux uname='linux hal 2.6.22-14-generic #1 smp tue feb 12 07:42:25 utc 2008 i686 gnulinux ' config_args='-de -DEBUGGING=both -Dprefix=/opt/perl-5.10.0-debug' hint=recommended, useposix=true, d_sigaction=define useithreads=undef, usemultiplicity=undef useperlio=define, d_sfio=undef, uselargefiles=define, usesocks=undef use64bitint=undef, use64bitall=undef, uselongdouble=undef usemymalloc=n, bincompat5005=undef Compiler: cc='cc', ccflags ='-DDEBUGGING -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64', optimize='-O2 -g', cppflags='-DDEBUGGING -fno-strict-aliasing -pipe -I/usr/local/include' ccversion='', gccversion='4.1.3 20070929 (prerelease) (Ubuntu 4.1.2-16ubuntu2)', gccosandvers='' intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=1234 d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=12 ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8 alignbytes=4, prototype=define Linker and Libraries: ld='cc', ldflags =' -L/usr/local/lib' libpth=/usr/local/lib /lib /usr/lib libs=-lnsl -lgdbm -ldb -ldl -lm -lcrypt -lutil -lc perllibs=-lnsl -ldl -lm -lcrypt -lutil -lc libc=/lib/libc-2.6.1.so, so=so, useshrplib=false, libperl=libperl.a gnulibc_version='2.6.1' Dynamic Linking: dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,-E' cccdlflags='-fPIC', lddlflags='-shared -O2 -g -L/usr/local/lib' Characteristics of this binary (from libperl): Compile-time options: DEBUGGING PERL_DONT_CREATE_GVSV PERL_MALLOC_WRAP USE_LARGE_FILES USE_PERLIO Built under linux Compiled at Mar 11 2008 08:11:27 @INC: /opt/perl-5.10.0-debug/lib/5.10.0/i686-linux /opt/perl-5.10.0-debug/lib/5.10.0 /opt/perl-5.10.0-debug/lib/site_perl/5.10.0/i686-linux /opt/perl-5.10.0-debug/lib/site_perl/5.10.0 Bye, Frank
Subject: Re: [rt.cpan.org #33959] make test fails on 5.10
Date: Tue, 11 Mar 2008 20:40:07 -0700
To: Frank Wiegand via RT <bug-Math-Pari [...] rt.cpan.org>
From: Ilya Zakharevich <nospam-abuse [...] ilyaz.org>
On Tue, Mar 11, 2008 at 05:30:24AM -0400, Frank Wiegand via RT wrote: Show quoted text
> ok 62 # Silently skipping: meaningless for Math::Pari > Segmentation fault (core dumped)
Aha, you better report it as a bug in the test suite. It used to report segmentation faults (and other abnormal exits) very explicitly before... Show quoted text
> Program terminated with signal 11, Segmentation fault. > #0 0xb7b09860 in brutcopy (x=0xb7a25898, y=0xb4dbe014) at > ../pari-2.1.7/src/basemath/gen2.c:310 > 310 for (i=0; i<lontyp[tx]; i++) y[i] = x[i]; > (gdb) bt > #0 0xb7b09860 in brutcopy (x=0xb7a25898, y=0xb4dbe014) at > ../pari-2.1.7/src/basemath/gen2.c:310 > #1 0xb7b09e56 in gclone (x=0xb7a25898) at ../pari-2.1.7/src/basemath/gen2.c:323 > #2 0xb7a4f331 in moveoffstack_newer_than (sv=0x8405a90) at Pari.xs:1240 > #3 0xb7a5108e in XS_Math__Pari_DESTROY (cv=0x830c610) at Pari.xs:3832 > #4 0x080ce14a in Perl_pp_entersub () at pp_hot.c:2847 > #5 0x080c51e2 in Perl_call_sv (sv=0x830c610, flags=150) at perl.c:2646 > #6 0x080ecb3a in Perl_sv_clear (sv=0x8405a90) at sv.c:5120 > #7 0x080ed6fb in Perl_sv_free2 (sv=0x8405a90) at sv.c:5366 > #8 0x080dae5b in S_visit (f=0x80eee90 <do_clean_objs>, flags=2048, > mask=2048) at sv.c:387 > #9 0x080daec1 in Perl_sv_clean_objs () at sv.c:495 > #10 0x080cab0b in perl_destruct (my_perl=0x8250008) at perl.c:799 > #11 0x080624bc in main (argc=3, argv=0xbfd81d04, env=0xbfd81d14) at > perlmain.c:115
That's really tricky. Garbage collection happening at the program exit; practically no means to debug... I will think about it, many thanks, Ilya