leif wrote: > leif wrote: >> Currently retrying with GMP 6.1.1 (and GCC 5.4), too; I'll presumably >> open a ticket to upgrade Sage's GMP package. >> >> >>> The failing doctests are >>> [...] >>> sage -t --long >> /usr/lib64/python2.7/site-packages/sage/rings/integer.pyx # 1 doctest >> failed >>> sage -t --long /usr/lib64/python2.7/site-packages/sage/ext/memory.pyx >> # 1 doctest failed >>> gmp and mpir report errors differently. There is not much we can do >> for these two but they >>> are not about mathematical output. >> >> Hmmm, I *think* we can mark them '# optional -- mpir' (and add modified >> copies with '# optional -- gmp'). > > This is what I get with GMP 6.1.1 (Sage 7.3.rc0, GCC 5.4.0): > > ---------------------------------------------------------------------- > sage -t --long --warn-long 68.2 src/sage/structure/sage_object.pyx # > Killed due to abort > sage -t --long --warn-long 68.2 src/sage/rings/integer.pyx # 1 doctest > failed > sage -t --long --warn-long 68.2 src/sage/homology/simplicial_complex.py > # 1 doctest failed > sage -t --long --warn-long 68.2 src/doc/en/developer/coding_in_other.rst > # 1 doctest failed > sage -t --long --warn-long 68.2 > src/doc/en/constructions/algebraic_geometry.rst # 1 doctest failed > sage -t --long --warn-long 68.2 src/sage/matrix/matrix_double_dense.pyx > # 1 doctest failed > sage -t --long --warn-long 68.2 src/sage/libs/libecm.pyx # 1 doctest failed > sage -t --long --warn-long 68.2 src/sage/ext/memory.pyx # 1 doctest failed > ---------------------------------------------------------------------- > > (Haven't tried to change any doctests yet. Again, the failure in > src/sage/matrix/matrix_double_dense.pyx is just the usual numeric noise, > cf. #21119.) > > > The backtraces for src/sage/structure/sage_object.pyx are horribly long, > but in the stack backtrace there is: > > > #6 0x00007f7861f7c390 in abort () from /lib/libc.so.6 > No symbol table info available. > #7 0x00007f7854dfa84b in NTL::TerminalError (s=s@entry=0x7f7854e24a1f > "InvMod: inverse undefined") at tools.c:25 > No locals. > #8 0x00007f7854d106a6 in InvModError (msg=0x7f7854e24a1f "InvMod: > inverse undefined") at ../include/NTL/tools.h:558 > No locals. > #9 NTL::InvMod (a=<optimized out>, n=244) at ZZ.c:353
I've now also added diff --git a/src/sage/structure/sage_object.pyx b/src/sage/structure/sage_object.pyx index 5b79052..e187b03 100644 --- a/src/sage/structure/sage_object.pyx +++ b/src/sage/structure/sage_object.pyx @@ -1498,9 +1498,11 @@ def unpickle_all(dir = None, debug=False, run_test_suite=False): Check that unpickling a second time works (see :trac:`5838`):: - sage: sage.structure.sage_object.unpickle_all() + sage: sage.structure.sage_object.unpickle_all() # optional -- mpir Successfully unpickled ... objects. Failed to unpickle 0 objects. + sage: sage.structure.sage_object.unpickle_all() # optional -- gmp # known bug + ... When it is not possible to unpickle a pickle in the pickle_jar then :meth:`unpickle_all` prints the following error message which warns against removing because this is an old bug (happened in the past with MPIR as well) which never got fixed nor really tracked down, just the now failing doctest (unpickling all a second time) got added in #5838; I've also commented there [1]. -leif [1] https://trac.sagemath.org/ticket/5838#comment:25 > and we have: > > > Cython backtrace > ---------------- > #0 0x00007f7862967430 in waitpid() > #1 0x00007f785dec5eb0 in print_enhanced_backtrace()at > /tmp/sage-build-tmp/cysignals-1.1.1/src/build/src/cysignals/implementation.c:401 > #2 0x00007f785dec6680 in sigdie()at > /tmp/sage-build-tmp/cysignals-1.1.1/src/build/src/cysignals/implementation.c:420 > #3 0x00007f785dec8f70 in cysigs_signal_handler()at > /tmp/sage-build-tmp/cysignals-1.1.1/src/build/src/cysignals/implementation.c:204 > #4 0x00007f78629678f0 in __restore_rt() > #5 0x00007f7862967790 in raise() > #6 0x00007f7861f7c210 in abort() > #7 0x00007f7854dfa820 in NTL::TerminalError()at > /tmp/sage-build-tmp/ntl-9.8.1.p1/src/ntl/src/tools.c:25 > #8 0x00007f7854d1069a in InvModError()at > /tmp/sage-build-tmp/ntl-9.8.1.p1/src/ntl/src/../include/NTL/tools.h:558 > #9 0x00007f7854da1870 in NTL::InvMod()at > /tmp/sage-build-tmp/ntl-9.8.1.p1/src/ntl/src/ZZ.c:353 > #10 0x00007f7854da3136 in inv()at > /tmp/sage-build-tmp/ntl-9.8.1.p1/src/ntl/src/../include/NTL/lzz_p.h:357 > #11 0x00007f7854da30d0 in NTL::PlainRem()at > /tmp/sage-build-tmp/ntl-9.8.1.p1/src/ntl/src/lzz_pX.c:1061 > #12 0x00007f7854da6530 in NTL::rem()at > /tmp/sage-build-tmp/ntl-9.8.1.p1/src/ntl/src/lzz_pX.c:3236 > #13 0x00007f7854db1990 in NTL::GCD()at > /tmp/sage-build-tmp/ntl-9.8.1.p1/src/ntl/src/lzz_pX1.c:561 > #14 0x00007f72791f27c7 in GCD()at > /data/Sage/release/devel/sage-7.3.rc0-gcc-5.4-gmp-6.1.1/local/include/NTL/lzz_pX.h:743 > 738 > 739 void GCD(zz_pX& x, const zz_pX& a, const zz_pX& b); > 740 // x = GCD(a, b), x is always monic (or zero if a==b==0). > 741 > 742 inline zz_pX GCD(const zz_pX& a, const zz_pX& b) >> 743 { zz_pX x; GCD(x, a, b); NTL_OPT_RETURN(zz_pX, x); } > 744 > 745 > 746 void XGCD(zz_pX& d, zz_pX& s, zz_pX& t, const zz_pX& a, const > zz_pX& b); > 747 // d = gcd(a,b), a s + b t = d > #15 0x00007f72791f2737 in gcd_univar_ntlp()at > /tmp/sage-build-tmp/singular-3.1.7p1.p1/src/latest/factory/cf_gcd.cc:1131 > #16 0x00007f72791f1cb0 in gcd_poly_p()at > /tmp/sage-build-tmp/singular-3.1.7p1.p1/src/latest/factory/cf_gcd.cc:674 > #17 0x00007f72791f1a70 in gcd_poly()at > /tmp/sage-build-tmp/singular-3.1.7p1.p1/src/latest/factory/cf_gcd.cc:869 > #18 0x00007f72791f3340 in gcd()at > /tmp/sage-build-tmp/singular-3.1.7p1.p1/src/latest/factory/cf_gcd.cc:1065 > #19 0x00007f72791f56f0 in cf_content()at > /tmp/sage-build-tmp/singular-3.1.7p1.p1/src/latest/factory/cf_gcd.cc:911 > #20 0x00007f785d9a7a10 in content()at > /tmp/sage-build-tmp/singular-3.1.7p1.p1/src/latest/factory/cf_gcd.cc:964 > #21 0x00007f785d9a7a10 in content()at > /tmp/sage-build-tmp/singular-3.1.7p1.p1/src/latest/factory/cf_gcd.cc:968 > #22 0x00007f727921f170 in EZGCD_P()at > /tmp/sage-build-tmp/singular-3.1.7p1.p1/src/latest/factory/cf_gcd_smallp.cc:4261 > #23 0x00007f72791f1a70 in gcd_poly()at > /tmp/sage-build-tmp/singular-3.1.7p1.p1/src/latest/factory/cf_gcd.cc:855 > #24 0x00007f72791f5bf0 in chinrem_gcd()at > /tmp/sage-build-tmp/singular-3.1.7p1.p1/src/latest/factory/cf_gcd.cc:1334 > #25 0x00007f72791f1a70 in gcd_poly()at > /tmp/sage-build-tmp/singular-3.1.7p1.p1/src/latest/factory/cf_gcd.cc:876 > #26 0x00007f72791f3340 in gcd()at > /tmp/sage-build-tmp/singular-3.1.7p1.p1/src/latest/factory/cf_gcd.cc:1065 > #27 0x00007f727906e6e0 in singclap_gcd_r()at > /tmp/sage-build-tmp/singular-3.1.7p1.p1/src/latest/kernel/clapsing.cc:53 > #28 0x00007f727906eab0 in singclap_gcd()at > /tmp/sage-build-tmp/singular-3.1.7p1.p1/src/latest/kernel/clapsing.cc:106 > #29 0x00007f727865e2c0 in > __pyx_pf_4sage_5rings_10polynomial_28multi_polynomial_libsingular_23MPolynomial_libsingular_106gcd()at > /data/Sage/release/devel/sage-7.3.rc0-gcc-5.4-gmp-6.1.1/src/build/cythonized/sage/rings/polynomial/multi_polynomial_libsingular.cpp:36959 > 36954 * if _ring!=currRing: rChangeCurrRing(_ring) # > singclap_gcd > 36955 * _res = singclap_gcd(p_Copy(self._poly, _ring), > p_Copy(_right._poly, _ring)) # <<<<<<<<<<<<<< > 36956 * if count >= 20: > 36957 * sig_off() > 36958 */ >> 36959 __pyx_v__res = singclap_gcd(p_Copy(__pyx_v_self->_poly, > __pyx_v__ring), p_Copy(__pyx_v__right->_poly, __pyx_v__ring)); > 36960 > 36961 /* > "sage/rings/polynomial/multi_polynomial_libsingular.pyx":4600 > 36962 * if _ring!=currRing: rChangeCurrRing(_ring) # > singclap_gcd > 36963 * _res = singclap_gcd(p_Copy(self._poly, _ring), > p_Copy(_right._poly, _ring)) > .... > > > so libsingular calls NTL with some crap... > > > -leif -- You received this message because you are subscribed to the Google Groups "sage-devel" group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To post to this group, send email to sage-devel@googlegroups.com. Visit this group at https://groups.google.com/group/sage-devel. For more options, visit https://groups.google.com/d/optout.