Sage: Ticket #5838: crash in Singular's polynomial gcd
https://trac.sagemath.org/ticket/5838
<p>
Here's what I type to provoke the crash:
</p>
<pre class="wiki">std = os.environ['SAGE_DATA'] + '/extcode/pickle_jar/pickle_jar.tar.bz2'
sage.structure.sage_object.unpickle_all(std)
sage.structure.sage_object.unpickle_all(std)
</pre><p>
(this is the doctest of unpickle_all, plus an extra repetition of the second line)
</p>
<p>
Here's the output:
</p>
<pre class="wiki">sage: std = os.environ['SAGE_DATA'] + '/extcode/pickle_jar/pickle_jar.tar.bz2'
sage: sage.structure.sage_object.unpickle_all(std)
/home/cwitty/sage-3.4.1.rc3/local/lib/python2.5/site-packages/IPython/iplib.py:2073: DeprecationWarning: RQDF is deprecated; use RealField(212) instead.
exec code_obj in self.user_global_ns, self.user_ns
Successfully unpickled 483 objects.
Failed to unpickle 0 objects.
sage: sage.structure.sage_object.unpickle_all(std)
/home/cwitty/sage-3.4.1.rc3/local/bin/sage-sage: line 198: 22270 Aborted sage-ipython "$@" -i
</pre><p>
The first section of the backtrace is:
</p>
<pre class="wiki">#0 0x00007fc7c14c2105 in raise () from /lib/libc.so.6
#1 0x00007fc7c14c3623 in abort () from /lib/libc.so.6
#2 0x00007fc7bcedd6d8 in global_NTL_error_callback ()
from /home/cwitty/sage-3.4.1.rc3/local/lib/libcsage.so
#3 0x00007fc7bc9451ef in NTL::Error (
s=0x7fc7bc97def1 "InvMod: inverse undefined") at tools.c:38
#4 0x00007fc7bc88ebd9 in NTL::InvMod (a=<value optimized out>, n=244)
at ZZ.c:351
#5 0x00007fc7bc90545f in NTL::PlainRem (r=@0x7fffca29e230, a=@0x7fffca29e230,
b=@0x6) at ../include/NTL/lzz_p.h:278
#6 0x00007fc7bc9140bb in NTL::GCD (d=@0x7fffca29e360,
u=<value optimized out>, v=@0x7fffca29e390) at lzz_pX1.c:558
#7 0x00007fc7a963206a in gcd_poly_p (f=@0x7fffca29e9e0, g=@0x7fffca29e9d0)
at /home/cwitty/sage-3.4.1.rc3/local/include/NTL/lzz_pX.h:696
#8 0x00007fc7a9633835 in gcd_poly (f=<value optimized out>, g=@0x7fffca29ee50)
at cf_gcd.cc:538
#9 0x00007fc7a963401e in gcd (f=@0x7fffca29ee60, g=@0x7fffca29ee50)
at cf_gcd.cc:776
#10 0x00007fc7a9634601 in gcd_test_one (f=@0x7fffca29f3b0, g=@0x7fffca29f3c0,
swap=true) at cf_gcd.cc:76
#11 0x00007fc7a9631b70 in gcd_poly_p (f=@0x7fffca29f7b0, g=@0x7fffca29f7a0)
at cf_gcd.cc:353
#12 0x00007fc7a963373d in gcd_poly (f=<value optimized out>, g=@0x7fffca29fbb0)
at cf_gcd.cc:543
#13 0x00007fc7a9635d89 in chinrem_gcd (FF=<value optimized out>,
GG=<value optimized out>) at cf_gcd.cc:1088
#14 0x00007fc7a96337e1 in gcd_poly (f=<value optimized out>, g=@0x7fffca2a0560)
at cf_gcd.cc:601
#15 0x00007fc7a963401e in gcd (f=@0x7fffca2a0550, g=@0x7fffca2a0560)
at cf_gcd.cc:776
#16 0x00007fc7a94a69f8 in singclap_gcd (f=0x7fc7a930b198, g=0x7fc7a930b058)
at clapsing.cc:230
#17 0x00007fc7a992d2f9 in __pyx_pf_4sage_5rings_10polynomial_28multi_polynomial_libsingular_23MPolynomial_libsingular_gcd (__pyx_v_self=0x5e60830,
__pyx_args=<value optimized out>, __pyx_kwds=<value optimized out>)
at sage/rings/polynomial/multi_polynomial_libsingular.cpp:31063
#18 0x00000000004187e3 in PyObject_Call (func=0x58ad, arg=0x58ad, kw=0x6)
at Objects/abstract.c:1861
#19 0x00007fc7b3aaf02f in __pyx_pf_4sage_5rings_22fraction_field_element_20FractionFieldElement_reduce (__pyx_v_self=0x5e5e2d0, unused=<value optimized out>)
at sage/rings/fraction_field_element.c:2288
#20 0x00000000004187e3 in PyObject_Call (func=0x58ad, arg=0x58ad, kw=0x6)
at Objects/abstract.c:1861
#21 0x00007fc7b3aa3b2b in __pyx_pf_4sage_5rings_22fraction_field_element_20FractionFieldElement___init__ (__pyx_v_self=0x5e5e2d0,
__pyx_args=<value optimized out>, __pyx_kwds=<value optimized out>)
at sage/rings/fraction_field_element.c:1905
</pre>en-usSagehttps://trac.sagemath.org/chrome/site/logo_sagemath_trac.png
https://trac.sagemath.org/ticket/5838
Trac 1.1.6BouillaguetSun, 27 Jan 2013 08:07:54 GMTupstream set
https://trac.sagemath.org/ticket/5838#comment:1
https://trac.sagemath.org/ticket/5838#comment:1
<ul>
<li><strong>upstream</strong>
set to <em>N/A</em>
</li>
</ul>
<p>
Looking a bit further into it, the actual pickles that trigger the problem are those in <code>sage.combinat.sf.macdonald</code>. Namely, if these ones are removed from the pickle jar, then the problem disappears...
</p>
TicketjdemeyerTue, 13 Aug 2013 15:34:36 GMTmilestone changed
https://trac.sagemath.org/ticket/5838#comment:2
https://trac.sagemath.org/ticket/5838#comment:2
<ul>
<li><strong>milestone</strong>
changed from <em>sage-5.11</em> to <em>sage-5.12</em>
</li>
</ul>
Ticketvbraun_spamThu, 30 Jan 2014 21:20:52 GMTmilestone changed
https://trac.sagemath.org/ticket/5838#comment:3
https://trac.sagemath.org/ticket/5838#comment:3
<ul>
<li><strong>milestone</strong>
changed from <em>sage-6.1</em> to <em>sage-6.2</em>
</li>
</ul>
TicketrwsMon, 14 Apr 2014 13:52:47 GMT
https://trac.sagemath.org/ticket/5838#comment:4
https://trac.sagemath.org/ticket/5838#comment:4
<p>
As an update, because the system changed since, the commands to trigger this are:
</p>
<pre class="wiki">sage: import os
sage: std = os.environ['SAGE_SHARE'] + '/sage/ext/pickle_jar/pickle_jar.tar.bz2'
sage: sage.structure.sage_object.unpickle_all(std)
sage: sage.structure.sage_object.unpickle_all(std)
</pre>
Ticketvbraun_spamTue, 06 May 2014 15:19:32 GMTmilestone changed
https://trac.sagemath.org/ticket/5838#comment:5
https://trac.sagemath.org/ticket/5838#comment:5
<ul>
<li><strong>milestone</strong>
changed from <em>sage-6.2</em> to <em>sage-6.3</em>
</li>
</ul>
Ticketvbraun_spamSun, 10 Aug 2014 16:51:03 GMTmilestone changed
https://trac.sagemath.org/ticket/5838#comment:6
https://trac.sagemath.org/ticket/5838#comment:6
<ul>
<li><strong>milestone</strong>
changed from <em>sage-6.3</em> to <em>sage-6.4</em>
</li>
</ul>
TicketrwsMon, 11 Aug 2014 06:07:23 GMTstatus, milestone changed
https://trac.sagemath.org/ticket/5838#comment:7
https://trac.sagemath.org/ticket/5838#comment:7
<ul>
<li><strong>status</strong>
changed from <em>new</em> to <em>needs_review</em>
</li>
<li><strong>milestone</strong>
changed from <em>sage-6.4</em> to <em>sage-duplicate/invalid/wontfix</em>
</li>
</ul>
<p>
The output of the code in <a class="ticket" href="https://trac.sagemath.org/ticket/5838#comment:4" title="Comment 4">comment:4</a> is now
</p>
<pre class="wiki">Successfully unpickled 586 objects.
Failed to unpickle 0 objects.
</pre><p>
which I guess is OK.
</p>
TicketpbruinMon, 11 Aug 2014 11:45:38 GMT
https://trac.sagemath.org/ticket/5838#comment:8
https://trac.sagemath.org/ticket/5838#comment:8
<p>
Wouldn't it make sense to add a doctest for this, to make sure that it stays fixed?
</p>
TicketrwsMon, 11 Aug 2014 15:25:08 GMTbranch set
https://trac.sagemath.org/ticket/5838#comment:9
https://trac.sagemath.org/ticket/5838#comment:9
<ul>
<li><strong>branch</strong>
set to <em>u/rws/crash_in_singular_s_polynomial_gcd</em>
</li>
</ul>
TicketrwsMon, 11 Aug 2014 15:26:48 GMTpriority, milestone changed; commit, author set
https://trac.sagemath.org/ticket/5838#comment:10
https://trac.sagemath.org/ticket/5838#comment:10
<ul>
<li><strong>priority</strong>
changed from <em>critical</em> to <em>major</em>
</li>
<li><strong>commit</strong>
set to <em>1b91e8a85a560b02f9feebadea713a79a6b3ebfa</em>
</li>
<li><strong>author</strong>
set to <em>Ralf Stephan</em>
</li>
<li><strong>milestone</strong>
changed from <em>sage-duplicate/invalid/wontfix</em> to <em>sage-6.4</em>
</li>
</ul>
<p>
Replying to <a class="ticket" href="https://trac.sagemath.org/ticket/5838#comment:8" title="Comment 8">pbruin</a>:
</p>
<blockquote class="citation">
<p>
Wouldn't it make sense to add a doctest for this, to make sure that it stays fixed?
</p>
</blockquote>
<p>
Of course, thanks for the hint.
</p>
<hr />
<p>
New commits:
</p>
<table class="wiki">
<tr><td><a class="ext-link" href="http://git.sagemath.org/sage.git/commit/?id=1b91e8a85a560b02f9feebadea713a79a6b3ebfa"><span class="icon"></span>1b91e8a</a></td><td><code>5838: test the issue</code>
</td></tr></table>
TicketjakobkroekerMon, 11 Aug 2014 15:38:12 GMT
https://trac.sagemath.org/ticket/5838#comment:11
https://trac.sagemath.org/ticket/5838#comment:11
<p>
Question:
</p>
<p>
why there was a crash in Singular's polynomial gcd and how it got fixed?
</p>
<p>
It is not obvious for me...( I'm new to sage and do not yet understand everything)
</p>
TicketrwsMon, 11 Aug 2014 15:45:25 GMT
https://trac.sagemath.org/ticket/5838#comment:12
https://trac.sagemath.org/ticket/5838#comment:12
<p>
Replying to <a class="ticket" href="https://trac.sagemath.org/ticket/5838#comment:11" title="Comment 11">jakobkroeker</a>:
</p>
<blockquote class="citation">
<p>
Question:
</p>
<p>
why there was a crash in Singular's polynomial gcd and how it got fixed?
</p>
<p>
It is not obvious for me...( I'm new to sage and do not yet understand everything)
</p>
</blockquote>
<p>
The crash was quite old (5 years ago) and presumably happened because of an old Singular version. This triggered an unpickling crash. Pickling is the Python name for serialization, see <a class="ext-link" href="https://en.wikipedia.org/wiki/Serialization"><span class="icon"></span>https://en.wikipedia.org/wiki/Serialization</a>
</p>
<p>
I admit the doctest tests the unpickling issue, i.e., the symptom not the cause. OTOH it has the potential to catch a lot of other bugs. The bug itself was probably fixed by a newer Singular version.
</p>
TicketjakobkroekerMon, 11 Aug 2014 17:49:52 GMT
https://trac.sagemath.org/ticket/5838#comment:13
https://trac.sagemath.org/ticket/5838#comment:13
<p>
Q: should the tag 'long time' be added to the test?
</p>
TicketjdemeyerMon, 11 Aug 2014 18:48:56 GMT
https://trac.sagemath.org/ticket/5838#comment:14
https://trac.sagemath.org/ticket/5838#comment:14
<p>
You must certainly remove the <code> # not tested</code>, otherwise you are just testing once, not twice...
</p>
TicketjdemeyerMon, 11 Aug 2014 18:49:02 GMTstatus changed
https://trac.sagemath.org/ticket/5838#comment:15
https://trac.sagemath.org/ticket/5838#comment:15
<ul>
<li><strong>status</strong>
changed from <em>needs_review</em> to <em>needs_work</em>
</li>
</ul>
TicketgitTue, 12 Aug 2014 07:18:42 GMTcommit changed
https://trac.sagemath.org/ticket/5838#comment:16
https://trac.sagemath.org/ticket/5838#comment:16
<ul>
<li><strong>commit</strong>
changed from <em>1b91e8a85a560b02f9feebadea713a79a6b3ebfa</em> to <em>f102b9647c15597fafb081e3cff3f4c56822de6c</em>
</li>
</ul>
<p>
Branch pushed to git repo; I updated commit sha1. New commits:
</p>
<table class="wiki">
<tr><td><a class="ext-link" href="http://git.sagemath.org/sage.git/commit/?id=f102b9647c15597fafb081e3cff3f4c56822de6c"><span class="icon"></span>f102b96</a></td><td><code>5838: fix previous doctest</code>
</td></tr></table>
TicketrwsTue, 12 Aug 2014 07:19:27 GMTstatus changed
https://trac.sagemath.org/ticket/5838#comment:17
https://trac.sagemath.org/ticket/5838#comment:17
<ul>
<li><strong>status</strong>
changed from <em>needs_work</em> to <em>needs_review</em>
</li>
</ul>
<p>
Done, thanks.
</p>
TicketpbruinTue, 12 Aug 2014 17:11:14 GMTbranch, commit changed; reviewer set
https://trac.sagemath.org/ticket/5838#comment:18
https://trac.sagemath.org/ticket/5838#comment:18
<ul>
<li><strong>reviewer</strong>
set to <em>Peter Bruin</em>
</li>
<li><strong>branch</strong>
changed from <em>u/rws/crash_in_singular_s_polynomial_gcd</em> to <em>u/pbruin/5838-double_unpickling</em>
</li>
<li><strong>commit</strong>
changed from <em>f102b9647c15597fafb081e3cff3f4c56822de6c</em> to <em>87d608a0d1cb1dc78186e89e46c3c651b6711090</em>
</li>
</ul>
<p>
The new commit moves the new doctest after the existing one testing the plain <code>unpickle_all()</code> command, for clarity and to save one run of <code>unpickle_all()</code>. Setting the location of the pickle jar (<code>std</code>) probably had to be done by hand in earlier versions, but now one can just omit the <code>dir</code> argument. I also made the explanation slightly more explicit. If you agree with the changes, you can set it to positive review; if not, you can just put back your branch.
</p>
TicketrwsWed, 13 Aug 2014 07:01:05 GMTstatus changed
https://trac.sagemath.org/ticket/5838#comment:19
https://trac.sagemath.org/ticket/5838#comment:19
<ul>
<li><strong>status</strong>
changed from <em>needs_review</em> to <em>positive_review</em>
</li>
</ul>
<p>
Yes, much clearer, thanks.
</p>
TicketvbraunWed, 13 Aug 2014 17:06:44 GMTstatus, branch changed; resolution set
https://trac.sagemath.org/ticket/5838#comment:20
https://trac.sagemath.org/ticket/5838#comment:20
<ul>
<li><strong>status</strong>
changed from <em>positive_review</em> to <em>closed</em>
</li>
<li><strong>resolution</strong>
set to <em>fixed</em>
</li>
<li><strong>branch</strong>
changed from <em>u/pbruin/5838-double_unpickling</em> to <em>87d608a0d1cb1dc78186e89e46c3c651b6711090</em>
</li>
</ul>
TicketjakobkroekerThu, 14 Aug 2014 09:17:25 GMTcommit deleted
https://trac.sagemath.org/ticket/5838#comment:21
https://trac.sagemath.org/ticket/5838#comment:21
<ul>
<li><strong>commit</strong>
<em>87d608a0d1cb1dc78186e89e46c3c651b6711090</em> deleted
</li>
</ul>
<blockquote>
<p>
Assuming, I understand everything correctly..
</p>
</blockquote>
<blockquote>
<p>
@pbruin
</p>
</blockquote>
<blockquote>
<p>
The commit
<a class="ext-link" href="http://git.sagemath.org/sage.git/commit/?id=87d608a0d1cb1dc78186e89e46c3c651b6711090"><span class="icon"></span>http://git.sagemath.org/sage.git/commit/?id=87d608a0d1cb1dc78186e89e46c3c651b6711090</a>
</p>
</blockquote>
<blockquote>
<p>
does not what Ralph Stephan intended,
namely unpickle the 'pickle_jar.tar.bz2'
</p>
</blockquote>
<blockquote>
<p>
@rws did you not notice that?
</p>
</blockquote>
TicketrwsThu, 14 Aug 2014 09:25:14 GMT
https://trac.sagemath.org/ticket/5838#comment:22
https://trac.sagemath.org/ticket/5838#comment:22
<p>
Hm, I thought the double unpickling was the issue tested but now I'm not sure anymore...
</p>
TicketjakobkroekerThu, 14 Aug 2014 09:30:58 GMT
https://trac.sagemath.org/ticket/5838#comment:23
https://trac.sagemath.org/ticket/5838#comment:23
<p>
I didn't understand everything correctly.
Unpickling of pickle_jar.tar.bz2 _is_ checked by the doctest
and everyhing is fine.
</p>
TicketjakobkroekerMon, 25 Aug 2014 20:44:35 GMT
https://trac.sagemath.org/ticket/5838#comment:24
https://trac.sagemath.org/ticket/5838#comment:24
<p>
Hello,
</p>
<p>
this test fails on a dated gentoo(?) install
with error
</p>
<pre class="wiki">**********************************************************************
File "src/sage/structure/sage_object.pyx", line 1411, in sage.structure.sage_object.unpickle_all
Failed example:
sage.structure.sage_object.unpickle_all() # (4s on sage.math, 2011)
Expected:
doctest:... DeprecationWarning: This class is replaced by Matrix_modn_dense_float/Matrix_modn_dense_double.
See http://trac.sagemath.org/4260 for details.
Successfully unpickled ... objects.
Failed to unpickle 0 objects.
Got:
*** The old options style (`tar fx ...`) is highly discouraged, please use the modern form (leading dash before options).
*** The standard way (with expanded options; you can still bundle options) for your command would be: tar -f - -x
doctest:1: DeprecationWarning: OrderedAlphabet is deprecated; use Alphabet instead.
See http://trac.sagemath.org/8920 for details.
doctest:843: DeprecationWarning: This class is replaced by Matrix_modn_dense_float/Matrix_modn_dense_double.
See http://trac.sagemath.org/4260 for details.
Successfully unpickled 586 objects.
Failed to unpickle 0 objects.
</pre><p>
any idea how to fix it ?
</p>
TicketleifSun, 31 Jul 2016 21:18:37 GMT
https://trac.sagemath.org/ticket/5838#comment:25
https://trac.sagemath.org/ticket/5838#comment:25
<p>
The second attempt to unpickle all crashes with both GMP 5.1.3, the current version in Sage, and GMP 6.1.1, in exactly the same manner as in the ticket description, with GCC 5.4.0, 6.1.0, and also Sage's GCC 4.9.3 (on Linux x86_64 at least).
</p>
<p>
Sage version 7.3.rc0 (NTL meanwhile at 9.8.1.p1, Singular still 3.1.7p1.p1).
</p>
<p>
(Presumably just incidentally) doesn't happen with Sage's MPIR, currently 2.7.2.
</p>
TicketleifMon, 01 Aug 2016 04:46:50 GMT
https://trac.sagemath.org/ticket/5838#comment:26
https://trac.sagemath.org/ticket/5838#comment:26
<p>
Replying to <a class="ticket" href="https://trac.sagemath.org/ticket/5838#comment:25" title="Comment 25">leif</a>:
</p>
<blockquote class="citation">
<p>
The second attempt to unpickle all crashes with both GMP 5.1.3, the current version in Sage, and GMP 6.1.1, in exactly the same manner as in the ticket description, with GCC 5.4.0, 6.1.0, and also Sage's GCC 4.9.3 (on Linux x86_64 at least).
</p>
<p>
Sage version 7.3.rc0 (NTL meanwhile at 9.8.1.p1, Singular still 3.1.7p1.p1).
</p>
<p>
(Presumably just incidentally) doesn't happen with Sage's MPIR, currently 2.7.2.
</p>
</blockquote>
<p>
<br />
</p>
<p>
And the winners (apparently) are:
</p>
<blockquote>
<p>
<code>_class__sage_combinat_sf_macdonald_MacdonaldPolynomials_*.sobj</code>
</p>
</blockquote>
<p>
(When I skip these six, I can successfully <code>unpickle_all()</code> as often as I want in a row.)
</p>
TicketleifMon, 01 Aug 2016 05:45:05 GMT
https://trac.sagemath.org/ticket/5838#comment:27
https://trac.sagemath.org/ticket/5838#comment:27
<p>
Don't know yet who's to blame (on Sage's side, perhaps Singular's), but I can pretty well imagine what's happening here; the only difference between MPIR and GMP here being that the latter reuses user-freed memory regions earlier than the former does.
</p>
<p>
Will investigate later, haven't looked at the code yet.
</p>
TicketleifMon, 01 Aug 2016 06:18:34 GMT
https://trac.sagemath.org/ticket/5838#comment:28
https://trac.sagemath.org/ticket/5838#comment:28
<p>
Replying to <a class="ticket" href="https://trac.sagemath.org/ticket/5838#comment:26" title="Comment 26">leif</a>:
</p>
<blockquote class="citation">
<p>
And the winners (apparently) are:
</p>
<blockquote>
<p>
<code>_class__sage_combinat_sf_macdonald_MacdonaldPolynomials_*.sobj</code>
</p>
</blockquote>
<p>
(When I skip these six, I can successfully <code>unpickle_all()</code> as often as I want in a row.)
</p>
</blockquote>
<p>
To no surprise, these objects / classes have been added shortly before Carl Witty reported the issue (for Sage 3.4.1.rc3):
</p>
<pre class="wiki">type(obj) = <class 'sage.combinat.sf.macdonald.MacdonaldPolynomials_ht'>
version = 3.4.rc1
obj =
'Macdonald polynomials in the Ht basis over Fraction Field of Multivariate Polynomial Ring in q, t over Rational Field'
type(obj) = <class 'sage.combinat.sf.macdonald.MacdonaldPolynomials_h'>
version = 3.4.rc1
obj =
'Macdonald polynomials in the H basis over Fraction Field of Multivariate Polynomial Ring in q, t over Rational Field'
type(obj) = <class 'sage.combinat.sf.macdonald.MacdonaldPolynomials_j'>
version = 3.4.rc1
obj =
'Macdonald polynomials in the J basis over Fraction Field of Multivariate Polynomial Ring in q, t over Rational Field'
type(obj) = <class 'sage.combinat.sf.macdonald.MacdonaldPolynomials_p'>
version = 3.4.rc1
obj =
'Macdonald polynomials in the P basis over Fraction Field of Multivariate Polynomial Ring in q, t over Rational Field'
type(obj) = <class 'sage.combinat.sf.macdonald.MacdonaldPolynomials_q'>
version = 3.4.rc1
obj =
'Macdonald polynomials in the Q basis over Fraction Field of Multivariate Polynomial Ring in q, t over Rational Field'
type(obj) = <class 'sage.combinat.sf.macdonald.MacdonaldPolynomials_s'>
version = 3.4.rc1
obj =
'Macdonald polynomials in the S basis over Fraction Field of Multivariate Polynomial Ring in q, t over Rational Field'
</pre>
TicketleifTue, 09 Aug 2016 15:37:30 GMT
https://trac.sagemath.org/ticket/5838#comment:29
https://trac.sagemath.org/ticket/5838#comment:29
<p>
Replying to <a class="ticket" href="https://trac.sagemath.org/ticket/5838#comment:25" title="Comment 25">leif</a>:
</p>
<blockquote class="citation">
<p>
The second attempt to unpickle all crashes with both GMP 5.1.3, the current version in Sage, and GMP 6.1.1, in exactly the same manner as in the ticket description, with GCC 5.4.0, 6.1.0, and also Sage's GCC 4.9.3 (on Linux x86_64 at least).
</p>
<p>
Sage version 7.3.rc0 (NTL meanwhile at 9.8.1.p1, Singular still 3.1.7p1.p1).
</p>
<p>
(Presumably just incidentally) doesn't happen with Sage's MPIR, currently 2.7.2.
</p>
</blockquote>
<p>
Indeed, since the above failure incidentally vanishes with <a class="closed ticket" href="https://trac.sagemath.org/ticket/21188" title="defect: Patch to Singular build to not explicitly link to MPIR (closed: fixed)">#21188</a>. (So far only tried with GMP 5.1.3 and GCC 4.9.3 though.)
</p>
<p>
I.e., when building Sage / Singular with GMP, a <code>configure</code> test for FLINT in Singular failed because it used <code>-lmpir</code>, such that Singular and libsingular "silently" got built without using FLINT.
</p>
TicketleifTue, 09 Aug 2016 15:55:55 GMTkeywords set
https://trac.sagemath.org/ticket/5838#comment:30
https://trac.sagemath.org/ticket/5838#comment:30
<ul>
<li><strong>keywords</strong>
<em>sage_object</em> <em>unpickle_all()</em> <em>NTL::InvMod</em> <em>abort</em> <em>inverse</em> <em>undefined</em> added
</li>
</ul>
TicketdimpaseFri, 14 Apr 2017 16:22:52 GMT
https://trac.sagemath.org/ticket/5838#comment:31
https://trac.sagemath.org/ticket/5838#comment:31
<p>
I am seeing this doctest (2nd unpickling) failing on FreeBSD (see <a class="closed ticket" href="https://trac.sagemath.org/ticket/22679" title="task: port Sage to FreeBSD 11 (closed: wontfix)">#22679</a>).
</p>
<p>
This might be due to some toolchain issues I have there ATM (I see mysterious errors in sympow, depending upon unrecognised compiler options passed, or not...).
</p>
<p>
</p>
Ticket