Opened 4 years ago
Closed 4 years ago
#21865 closed defect (fixed)
Upgrade Singular to version 410p1
Reported by:  jhpalmieri  Owned by:  

Priority:  blocker  Milestone:  sage7.5 
Component:  packages: standard  Keywords:  
Cc:  Merged in:  
Authors:  JeanPierre Flori  Reviewers:  François Bissey 
Report Upstream:  N/A  Work issues:  
Branch:  efc51ca (Commits, GitHub, GitLab)  Commit:  efc51cab4ebdeda909653c8a27f4f5a0f7abdcc2 
Dependencies:  Stopgaps: 
Description (last modified by )
On the last update, the interrupt handling patch was wrongly removed, causing failures on OS X. It is now included upstream, so let's update to 410p1. This new version also allows us to simplify packaging.
New tarball: http://www.mathematik.unikl.de/ftp/pub/Math/Singular/SOURCES/410/singular4.1.0p1.tar.gz
Change History (55)
comment:1 Changed 4 years ago by
 Description modified (diff)
comment:2 Changed 4 years ago by
comment:3 Changed 4 years ago by
First somebody needs to doublecheck that all patches which were removed in #21631 were actually upstreamed.
comment:4 Changed 4 years ago by
Good call, Jeroen. It looks to me as though several of the patches were not applied or only partially applied. In particular, after applying the old interrupt.patch
, that file passes tests. I'm rebuilding from scratch to check this.
By the way, from the other patches: from xallocomconfig.patch
: the changes to xalloc/configure.ac
were not upstreamed. From xalloc.pc.patch
, the changes to xalloc/Makefile.am
were not upstreamed. (I didn't check that carefully, to be honest, since interrupt.patch
seemed like the likely culprit.)
comment:5 Changed 4 years ago by
interrupt.patch
is not in current upstream at all. Do we have a PR for it?
comment:6 Changed 4 years ago by
Just reinstating interrupt.patch
yields one doctest error:
sage t long warnlong 69.2 src/sage/tests/cmdline.py ********************************************************************** File "src/sage/tests/cmdline.py", line 558, in sage.tests.cmdline.test_executable Failed example: err Expected: '' Got: 'fgets() failed' ********************************************************************** 1 item had failures: 1 of 239 in sage.tests.cmdline.test_executable [238 tests, 1 failure, 48.69 s]  sage t long warnlong 69.2 src/sage/tests/cmdline.py # 1 doctest failed 
comment:7 Changed 4 years ago by
Sorry, I was too fast on the update it seemed to me that Hans integrated the interrupt stuff...
As far as xalloc is concerned IIRC what is upstream should be mostly sufficient: the "omconfig" part was realy about bugs and should be fixed. I'm not sure anymore about the pkgconfig part, nor that I reported it upstream!
comment:8 followup: ↓ 9 Changed 4 years ago by
The pkgconfig part is upstream as well:
comment:9 in reply to: ↑ 8 Changed 4 years ago by
Replying to jpflori:
The pkgconfig part is upstream as well:
Was going to say that. And definitely in 4.0.3p5 at least.
comment:10 followup: ↓ 13 Changed 4 years ago by
About interrupts there was this upstream tichet:
 www.singular.unikl.de:8002/trac/ticket/729
I cannot check things on this port from where I am :) IIRC there was also another ticket there.
We should ping Hans about this one. And also about the remaining stuff I mention here in debug mode:
comment:11 followup: ↓ 14 Changed 4 years ago by
So, we should just wait for 4.0.3p5
?
comment:12 Changed 4 years ago by
Interrupts in Singular are indeed still (slightly) broken.
It is possible to do it really robustly, but not in a very portable way. If you're willing to assume POSIX (which is what Sage does), I can fix it but I don't know whether upstream will accept that.
comment:13 in reply to: ↑ 10 Changed 4 years ago by
Replying to jpflori:
About interrupts there was this upstream tichet:
And this one: http://www.singular.unikl.de:8002/trac/ticket/727 (it is possible that these two tickets are duplicates)
comment:14 in reply to: ↑ 11 Changed 4 years ago by
Replying to jdemeyer:
So, we should just wait for
4.0.3p5
?
4.0.3p6. 4.0.3p5 is already out (I have been using it in sageongentoo for a few days already).
comment:15 Changed 4 years ago by
Or 4.1.0 as it seems upstream is preparing for it.
comment:16 Changed 4 years ago by
comment:17 Changed 4 years ago by
comment:18 Changed 4 years ago by
There isn't a matching "share" tarball, is this expected?
comment:19 Changed 4 years ago by
Must still be coming otherwise we are without singular.hlp
unless we can build it without trouble.
comment:20 Changed 4 years ago by
Found it, hiding in the doc
folder there is a doc.tbz2
file which seems to have all the useful content of share tarball, including singular.hlp
.
comment:21 Changed 4 years ago by
OK we need to stop the madness about singular.hlp
anyway. In 4.0+ it is naturally installed in $prefix/share/info
as part of the building process (this is a info file with a funny extension). And singular.idx
is installed in $prefix/share/singular
without it having to be done by spkginstall
as well.
So that part of spkginstall
should disappear anyway and we should amend the location of singular.hlp
in sage/interfaces/singular.py
.
comment:22 Changed 4 years ago by
Great! and no need to repackage the upstream tarball!!!
comment:23 Changed 4 years ago by
I think we will be able to just use vanilla upstream  no more spkgsrc
yeah! I doing some building and testing on sageongentoo to see if we have any new breakages. I'll probably report in a couple of hours.
comment:24 Changed 4 years ago by
The content of the doc.tbz2
has the wrong permissions, not an issue for sage (unless installed as root) but it is becoming one for me (files are 640 and folders 651 instead of 644 and 655).
comment:25 Changed 4 years ago by
Got a lot of failures going to 4.1.0. Some will be easy, other will need work again.
File "/usr/lib64/python2.7/sitepackages/sage/interfaces/singular.py", line 103, in sage.interfaces.singular Failed example: g = f.sage(); g Exception raised: Traceback (most recent call last): File "/usr/lib64/python2.7/sitepackages/sage/doctest/forker.py", line 501, in _run self.compile_and_execute(example, compiler, test.globs) File "/usr/lib64/python2.7/sitepackages/sage/doctest/forker.py", line 864, in compile_and_execute exec(compiled, globs) File "<doctest sage.interfaces.singular[8]>", line 1, in <module> g = f.sage(); g File "/usr/lib64/python2.7/sitepackages/sage/interfaces/interface.py", line 1020, in sage return self._sage_(*args, **kwds) File "/usr/lib64/python2.7/sitepackages/sage/interfaces/singular.py", line 1940, in _sage_ return self.sage_poly(R) File "/usr/lib64/python2.7/sitepackages/sage/interfaces/singular.py", line 1707, in sage_poly R = self.sage_global_ring() File "/usr/lib64/python2.7/sitepackages/sage/interfaces/singular.py", line 1586, in sage_global_ring q = ZZ(charstr[0]) File "sage/structure/parent.pyx", line 953, in sage.structure.parent.Parent.__call__ (/scratch2/portage/scimathematics/sage9999/work/sage9999/srcpython2_7/build/cythonized/sage/structure/parent.c:9841) return mor._call_(x) File "sage/structure/coerce_maps.pyx", line 110, in sage.structure.coerce_maps.DefaultConvertMap_unique._call_ (/scratch2/portage/scimathematics/sage9999/work/sage9999/srcpython2_7/build/cythonized/sage/structure/coerce_maps.c:4874) raise File "sage/structure/coerce_maps.pyx", line 105, in sage.structure.coerce_maps.DefaultConvertMap_unique._call_ (/scratch2/portage/scimathematics/sage9999/work/sage9999/srcpython2_7/build/cythonized/sage/structure/coerce_maps.c:4735) return C._element_constructor(x) File "sage/rings/integer.pyx", line 680, in sage.rings.integer.Integer.__init__ (/scratch2/portage/scimathematics/sage9999/work/sage9999/srcpython2_7/build/cythonized/sage/rings/integer.c:5991) mpz_set_str_python(self.value, x, base) File "sage/rings/integer.pyx", line 6697, in sage.rings.integer.mpz_set_str_python (/scratch2/portage/scimathematics/sage9999/work/sage9999/srcpython2_7/build/cythonized/sage/rings/integer.c:42335) raise TypeError("unable to convert %r to an integer" % s) TypeError: unable to convert 'QQ' to an integer
File "/usr/lib64/python2.7/sitepackages/sage/interfaces/singular.py", line 1158, in sage.interfaces.singular.Singular._tab_completion Failed example: singular._tab_completion() Expected: ['exteriorPower', ... 'stdfglm'] Got: ['exteriorPower', 'symmetricPower', ... ... 'stdfglm', 'flintZ']
File "/usr/lib64/python2.7/sitepackages/sage/interfaces/singular.py", line 1896, in sage.interfaces.singular.SingularElement._sage_ Failed example: singular('ringlist(basering)').sage() Exception raised: Traceback (most recent call last): File "/usr/lib64/python2.7/sitepackages/sage/doctest/forker.py", line 501, in _run self.compile_and_execute(example, compiler, test.globs) File "/usr/lib64/python2.7/sitepackages/sage/doctest/forker.py", line 864, in compile_and_execute exec(compiled, globs) File "<doctest sage.interfaces.singular.SingularElement._sage_[9]>", line 1, in <module> singular('ringlist(basering)').sage() File "/usr/lib64/python2.7/sitepackages/sage/interfaces/interface.py", line 1020, in sage return self._sage_(*args, **kwds) File "/usr/lib64/python2.7/sitepackages/sage/interfaces/singular.py", line 1948, in _sage_ return [ f._sage_(R) for f in self ] File "/usr/lib64/python2.7/sitepackages/sage/interfaces/singular.py", line 1963, in _sage_ R = R or self.sage_global_ring() File "/usr/lib64/python2.7/sitepackages/sage/interfaces/singular.py", line 1586, in sage_global_ring q = ZZ(charstr[0]) File "sage/structure/parent.pyx", line 953, in sage.structure.parent.Parent.__call__ (/scratch2/portage/scimathematics/sage9999/work/sage9999/srcpython2_7/build/cythonized/sage/structure/parent.c:9841) return mor._call_(x) File "sage/structure/coerce_maps.pyx", line 110, in sage.structure.coerce_maps.DefaultConvertMap_unique._call_ (/scratch2/portage/scimathematics/sage9999/work/sage9999/srcpython2_7/build/cythonized/sage/structure/coerce_maps.c:4874) raise File "sage/structure/coerce_maps.pyx", line 105, in sage.structure.coerce_maps.DefaultConvertMap_unique._call_ (/scratch2/portage/scimathematics/sage9999/work/sage9999/srcpython2_7/build/cythonized/sage/structure/coerce_maps.c:4735) return C._element_constructor(x) File "sage/rings/integer.pyx", line 680, in sage.rings.integer.Integer.__init__ (/scratch2/portage/scimathematics/sage9999/work/sage9999/srcpython2_7/build/cythonized/sage/rings/integer.c:5991) mpz_set_str_python(self.value, x, base) File "sage/rings/integer.pyx", line 6697, in sage.rings.integer.mpz_set_str_python (/scratch2/portage/scimathematics/sage9999/work/sage9999/srcpython2_7/build/cythonized/sage/rings/integer.c:42335) raise TypeError("unable to convert %r to an integer" % s) TypeError: unable to convert 'ZZ' to an integer ********************************************************************** File "/usr/lib64/python2.7/sitepackages/sage/interfaces/singular.py", line 1910, in sage.interfaces.singular.SingularElement._sage_ Failed example: singular('basering') Expected: polynomial ring, over a domain, global ordering // coeff. ring is : integer // number of vars : 3 // block 1 : ordering lp // : names x y z // block 2 : ordering C Got: polynomial ring, over a domain, global ordering // coeff. ring is : ZZ // number of vars : 3 // block 1 : ordering lp // : names x y z // block 2 : ordering C
File "/usr/lib64/python2.7/sitepackages/sage/schemes/generic/algebraic_scheme.py", line 2776, in sage.schemes.generic.algebraic_scheme.AlgebraicScheme_subscheme_projective._forward_image Failed example: f(X) Exception raised: Traceback (most recent call last): File "/usr/lib64/python2.7/sitepackages/sage/doctest/forker.py", line 501, in _run self.compile_and_execute(example, compiler, test.globs) File "/usr/lib64/python2.7/sitepackages/sage/doctest/forker.py", line 864, in compile_and_execute exec(compiled, globs) File "<doctest sage.schemes.generic.algebraic_scheme.AlgebraicScheme_subscheme_projective._forward_image[10]>", line 1, in <module> f(X) File "/usr/lib64/python2.7/sitepackages/sage/schemes/projective/projective_morphism.py", line 341, in __call__ return x._forward_image(self) #call subscheme eval File "/usr/lib64/python2.7/sitepackages/sage/schemes/generic/algebraic_scheme.py", line 2917, in _forward_image G = L.groebner_basis() #eliminate File "sage/misc/cachefunc.pyx", line 2038, in sage.misc.cachefunc.CachedMethodCaller.__call__ (/scratch2/portage/scimathematics/sage9999/work/sage9999/srcpython2_7/build/cythonized/sage/misc/cachefunc.c:10783) w = self._instance_call(*args, **kwds) File "sage/misc/cachefunc.pyx", line 1914, in sage.misc.cachefunc.CachedMethodCaller._instance_call (/scratch2/portage/scimathematics/sage9999/work/sage9999/srcpython2_7/build/cythonized/sage/misc/cachefunc.c:10229) return self.f(self._instance, *args, **kwds) File "/usr/lib64/python2.7/sitepackages/sage/rings/polynomial/multi_polynomial_ideal.py", line 3729, in groebner_basis gb = self._groebner_basis_libsingular("groebner", deg_bound=deg_bound, mult_bound=mult_bound, *args, **kwds) File "/usr/lib64/python2.7/sitepackages/sage/libs/singular/standard_options.py", line 140, in wrapper return func(*args, **kwds) File "/usr/lib64/python2.7/sitepackages/sage/rings/polynomial/multi_polynomial_ideal.py", line 541, in _groebner_basis_libsingular S = groebner(self) File "sage/libs/singular/function.pyx", line 1323, in sage.libs.singular.function.SingularFunction.__call__ (/scratch2/portage/scimathematics/sage9999/work/sage9999/srcpython2_7/build/cythonized/sage/libs/singular/function.cpp:15144) return call_function(self, args, ring, interruptible, attributes) File "sage/libs/singular/function.pyx", line 1516, in sage.libs.singular.function.call_function (/scratch2/portage/scimathematics/sage9999/work/sage9999/srcpython2_7/build/cythonized/sage/libs/singular/function.cpp:17184) raise RuntimeError("error in Singular function call %r:\n%s"% RuntimeError: error in Singular function call 'groebner': not implemented for rings with rings as coeffients error occurred in or before standard.lib::stdhilb line 350: ` i = std(i, hi);` leaving standard.lib::stdhilb leaving standard.lib::groebner
And that last one is timing out.
comment:26 Changed 4 years ago by
I'm working on an update branch.
comment:27 Changed 4 years ago by
 Description modified (diff)
 Summary changed from Singular error with 7.5.beta1 + #21631 to Upgrade Singular to version 4.1
comment:28 Changed 4 years ago by
Over the week end it was found there was an issue in root installs of cysignals
(https://github.com/sagemath/cysignals/issues/44), once corrected I get the following interesting debug from algebraic_scheme.py
sage t long /usr/lib64/python2.7/sitepackages/sage/schemes/generic/algebraic_scheme.py too many failed tests, not using stored timings Running doctests with ID 20161121131957b0eca2ab. Using optional=optional,sage Doctesting 1 file. *** Error in `python2.7': corrupted doublelinked list: 0x0000000005aa2960 *** ======= Backtrace: ========= /lib64/libc.so.6(+0x721b3)[0x7fdd1811f1b3] /lib64/libc.so.6(+0x77aa6)[0x7fdd18124aa6] /lib64/libc.so.6(+0x77d71)[0x7fdd18124d71] /lib64/libc.so.6(+0x78978)[0x7fdd18125978] /usr/lib64/libomalloc0.9.6.so(omFreeSizeToSystem+0xc)[0x7fdb40f029cc] /usr/lib64/libSingular4.1.0.so(_Z16yy_delete_bufferP15yy_buffer_state+0x12d)[0x7fdb40a8e27d] /usr/lib64/libSingular4.1.0.so(_Z12myyoldbufferPv+0x10)[0x7fdb40a91d70] /usr/lib64/libSingular4.1.0.so(_Z9exitVoicev+0x26)[0x7fdb40a10206] /usr/lib64/libSingular4.1.0.so(_Z10exitBuffer13feBufferTypes+0x60)[0x7fdb40a10610] /usr/lib64/libSingular4.1.0.so(_Z7yyparsev+0x4bff)[0x7fdb40a19cff] /usr/lib64/libSingular4.1.0.so(_Z10iiAllStartP8procinfoPc13feBufferTypesi+0xa6)[0x7fdb40a54b66] /usr/lib64/libSingular4.1.0.so(_Z8iiPStartP5idrecP6sleftv+0x14a)[0x7fdb40a54eda] /usr/lib64/libSingular4.1.0.so(_Z11iiMake_procP5idrecP11sip_packageP6sleftv+0x2b2)[0x7fdb40a55382]
comment:29 Changed 4 years ago by
FYI, I've been working on this one. I'm currently chasing a segfault. For some reason, some coeffs defining an ideal are invalidly free'ed, or rather surely never malloc'ed... I have a working but still buggy branch that I'll push at some near point.
We should also deal with #21624.
comment:30 Changed 4 years ago by
Segfault when computing gröbner bases over the integers reported here:
comment:31 Changed 4 years ago by
 Branch set to public/singular410
 Commit set to ff218f5e6800594f4ffef728977397d052f3769a
Not ready yet but looking like something more usable.
New commits:
65b2cd3  Update Singular to 4.0.3p5.

c42bc7a  Merge remotetracking branch 'trac/develop' into singular4

06dd84c  Update to version 4.0.1p1

d4fc6c6  Merge remotetracking branch 'trac/develop' into singular4

b7d6d3e  Merge remotetracking branch 'local/singular4' into develop

93ecf54  Stronger C typing for Singular ring order.

5c3720b  Mark some params as unused in xalloc.

1db6303  Let new Singular act as old one for GB computations over ZZ.

df0b168  Backport Singular 420 patch. Not needed now but we'll have to deal with this.

ff218f5  Backport new functions for ring name printing. Otherwise debug mode cries.

comment:32 Changed 4 years ago by
Worrying errors:
 sage/rings/cfinite_sequence.py : abort through the new pynac stuff using singular (and flint) from #21963
 debug stuff already reported here: https://groups.google.com/d/msg/libsingulardevel/TPZNlvZXei0/eboy6HIAwAJ (minpoly changes and stuff not in stuff during GB computations), postponed to #21624
comment:33 Changed 4 years ago by
 src/sage/interfaces/singular.py : coeff printing function for complex numbers, only in debug mode.
 src/sage/matrix/matrix_modn_dense_template.pxi : to be investigated
comment:34 Changed 4 years ago by
 Commit changed from ff218f5e6800594f4ffef728977397d052f3769a to a295b793b8c801453ce4f7c7dab85c1401ae2ca8
Branch pushed to git repo; I updated commit sha1. New commits:
a295b79  New name for QQ in singular.

comment:35 Changed 4 years ago by
 Description modified (diff)
 Status changed from new to needs_review
 Summary changed from Upgrade Singular to version 4.1 to Upgrade Singular to version 410p1
The last failure seem to be a debug mode only one...
comment:36 Changed 4 years ago by
And the cfinite_sequence one as well...
comment:37 Changed 4 years ago by
That's some big patches...
comment:38 Changed 4 years ago by
Which ones? Maybe:
But that's just an upstream backport (ok not really needed by us... but I was playing with singular git and made the corresponding changes to the sage library, so it was easier to backport the patch, i.e. take the pristine upstream commit as a patch, and keep the changes to the sage lib rather than playing with git to revert the changes I mage to the sage library.)
comment:39 Changed 4 years ago by
Yes that one. Anyway I am running doctests right now.
comment:40 followup: ↓ 41 Changed 4 years ago by
 Status changed from needs_review to needs_work
I have doctests failures here:
sage t long src/sage/tests/cmdline.py # 1 doctest failed sage t long src/sage/rings/polynomial/multi_polynomial_ideal.py # 2 doctests failed sage t long src/sage/tests/french_book/mpoly.py # 5 doctests failed
In order
sage t long src/sage/tests/cmdline.py ********************************************************************** File "src/sage/tests/cmdline.py", line 558, in sage.tests.cmdline.test_executable Failed example: err Expected: '' Got: 'fgets() failed with errno 9\n' **********************************************************************
not sure that one is singular. It reminds me of something I have seen before but I don't remember where.
sage t long src/sage/rings/polynomial/multi_polynomial_ideal.py ********************************************************************** File "src/sage/rings/polynomial/multi_polynomial_ideal.py", line 1926, in sage.rings.polynomial.multi_polynomial_ideal.?.transformed_basis Failed example: I.transformed_basis('gwalk') Exception raised: Traceback (most recent call last): File "/home/fbissey/sandbox/gitfork/sage/local/lib/python2.7/sitepackages/sage/doctest/forker.py", line 498, in _run self.compile_and_execute(example, compiler, test.globs) File "/home/fbissey/sandbox/gitfork/sage/local/lib/python2.7/sitepackages/sage/doctest/forker.py", line 861, in compile_and_execute exec(compiled, globs) File "<doctest sage.rings.polynomial.multi_polynomial_ideal.?.transformed_basis[8]>", line 1, in <module> I.transformed_basis('gwalk') File "/home/fbissey/sandbox/gitfork/sage/local/lib/python2.7/sitepackages/sage/rings/polynomial/multi_polynomial_ideal.py", line 295, in __call__ return self.f(self._instance, *args, **kwds) File "/home/fbissey/sandbox/gitfork/sage/local/lib/python2.7/sitepackages/sage/interfaces/singular.py", line 2724, in wrapper return func(*args, **kwds) File "/home/fbissey/sandbox/gitfork/sage/local/lib/python2.7/sitepackages/sage/libs/singular/standard_options.py", line 140, in wrapper return func(*args, **kwds) File "/home/fbissey/sandbox/gitfork/sage/local/lib/python2.7/sitepackages/sage/rings/polynomial/multi_polynomial_ideal.py", line 1952, in transformed_basis gb = singular_function(algorithm)(I) File "sage/libs/singular/function.pyx", line 1323, in sage.libs.singular.function.SingularFunction.__call__ (/home/fbissey/sandbox/gitfork/sage/src/build/cythonized/sage/libs/singular/function.cpp:15163) return call_function(self, args, ring, interruptible, attributes) File "sage/libs/singular/function.pyx", line 1505, in sage.libs.singular.function.call_function (/home/fbissey/sandbox/gitfork/sage/src/build/cythonized/sage/libs/singular/function.cpp:17121) with opt_ctx: # we are preserving the global options state here File "sage/libs/singular/function.pyx", line 1507, in sage.libs.singular.function.call_function (/home/fbissey/sandbox/gitfork/sage/src/build/cythonized/sage/libs/singular/function.cpp:17032) sig_on() File "src/cysignals/signals.pyx", line 109, in cysignals.signals.sig_raise_exception (build/src/cysignals/signals.c:1695) SignalError: Segmentation fault ********************************************************************** File "src/sage/rings/polynomial/multi_polynomial_ideal.py", line 1986, in sage.rings.polynomial.multi_polynomial_ideal.?.elimination_ideal Failed example: I.elimination_ideal([t,s]) Exception raised: Traceback (most recent call last): File "/home/fbissey/sandbox/gitfork/sage/local/lib/python2.7/sitepackages/sage/doctest/forker.py", line 498, in _run self.compile_and_execute(example, compiler, test.globs) File "/home/fbissey/sandbox/gitfork/sage/local/lib/python2.7/sitepackages/sage/doctest/forker.py", line 861, in compile_and_execute exec(compiled, globs) File "<doctest sage.rings.polynomial.multi_polynomial_ideal.?.elimination_ideal[2]>", line 1, in <module> I.elimination_ideal([t,s]) File "/home/fbissey/sandbox/gitfork/sage/local/lib/python2.7/sitepackages/sage/libs/singular/standard_options.py", line 140, in wrapper return func(*args, **kwds) File "/home/fbissey/sandbox/gitfork/sage/local/lib/python2.7/sitepackages/sage/rings/polynomial/multi_polynomial_ideal.py", line 2006, in elimination_ideal Is = MPolynomialIdeal(R,self.groebner_basis()) File "sage/misc/cachefunc.pyx", line 2038, in sage.misc.cachefunc.CachedMethodCaller.__call__ (/home/fbissey/sandbox/gitfork/sage/src/build/cythonized/sage/misc/cachefunc.c:10792) w = self._instance_call(*args, **kwds) File "sage/misc/cachefunc.pyx", line 1914, in sage.misc.cachefunc.CachedMethodCaller._instance_call (/home/fbissey/sandbox/gitfork/sage/src/build/cythonized/sage/misc/cachefunc.c:10238) return self.f(self._instance, *args, **kwds) File "/home/fbissey/sandbox/gitfork/sage/local/lib/python2.7/sitepackages/sage/rings/polynomial/multi_polynomial_ideal.py", line 3729, in groebner_basis gb = self._groebner_basis_libsingular("groebner", deg_bound=deg_bound, mult_bound=mult_bound, *args, **kwds) File "/home/fbissey/sandbox/gitfork/sage/local/lib/python2.7/sitepackages/sage/libs/singular/standard_options.py", line 140, in wrapper return func(*args, **kwds) File "/home/fbissey/sandbox/gitfork/sage/local/lib/python2.7/sitepackages/sage/rings/polynomial/multi_polynomial_ideal.py", line 541, in _groebner_basis_libsingular S = groebner(self) File "sage/libs/singular/function.pyx", line 1323, in sage.libs.singular.function.SingularFunction.__call__ (/home/fbissey/sandbox/gitfork/sage/src/build/cythonized/sage/libs/singular/function.cpp:15163) return call_function(self, args, ring, interruptible, attributes) File "sage/libs/singular/function.pyx", line 1521, in sage.libs.singular.function.call_function (/home/fbissey/sandbox/gitfork/sage/src/build/cythonized/sage/libs/singular/function.cpp:17280) raise RuntimeError("error in Singular function call %r:\n%s"% RuntimeError: error in Singular function call 'groebner': no ring active **********************************************************************
and
sage t long src/sage/tests/french_book/mpoly.py ********************************************************************** File "src/sage/tests/french_book/mpoly.py", line 165, in sage.tests.french_book.mpoly Failed example: J.transformed_basis() Exception raised: Traceback (most recent call last): File "/home/fbissey/sandbox/gitfork/sage/local/lib/python2.7/sitepackages/sage/doctest/forker.py", line 498, in _run self.compile_and_execute(example, compiler, test.globs) File "/home/fbissey/sandbox/gitfork/sage/local/lib/python2.7/sitepackages/sage/doctest/forker.py", line 861, in compile_and_execute exec(compiled, globs) File "<doctest sage.tests.french_book.mpoly[41]>", line 1, in <module> J.transformed_basis() File "/home/fbissey/sandbox/gitfork/sage/local/lib/python2.7/sitepackages/sage/rings/polynomial/multi_polynomial_ideal.py", line 295, in __call__ return self.f(self._instance, *args, **kwds) File "/home/fbissey/sandbox/gitfork/sage/local/lib/python2.7/sitepackages/sage/interfaces/singular.py", line 2724, in wrapper return func(*args, **kwds) File "/home/fbissey/sandbox/gitfork/sage/local/lib/python2.7/sitepackages/sage/libs/singular/standard_options.py", line 140, in wrapper return func(*args, **kwds) File "/home/fbissey/sandbox/gitfork/sage/local/lib/python2.7/sitepackages/sage/rings/polynomial/multi_polynomial_ideal.py", line 1952, in transformed_basis gb = singular_function(algorithm)(I) File "sage/libs/singular/function.pyx", line 1323, in sage.libs.singular.function.SingularFunction.__call__ (/home/fbissey/sandbox/gitfork/sage/src/build/cythonized/sage/libs/singular/function.cpp:15163) return call_function(self, args, ring, interruptible, attributes) File "sage/libs/singular/function.pyx", line 1505, in sage.libs.singular.function.call_function (/home/fbissey/sandbox/gitfork/sage/src/build/cythonized/sage/libs/singular/function.cpp:17121) with opt_ctx: # we are preserving the global options state here File "sage/libs/singular/function.pyx", line 1507, in sage.libs.singular.function.call_function (/home/fbissey/sandbox/gitfork/sage/src/build/cythonized/sage/libs/singular/function.cpp:17032) sig_on() File "src/cysignals/signals.pyx", line 109, in cysignals.signals.sig_raise_exception (build/src/cysignals/signals.c:1695) SignalError: Segmentation fault ********************************************************************** File "src/sage/tests/french_book/mpoly.py", line 175, in sage.tests.french_book.mpoly Failed example: ybar2 = R.quo(J)(y^2) Exception raised: Traceback (most recent call last): File "/home/fbissey/sandbox/gitfork/sage/local/lib/python2.7/sitepackages/sage/doctest/forker.py", line 498, in _run self.compile_and_execute(example, compiler, test.globs) File "/home/fbissey/sandbox/gitfork/sage/local/lib/python2.7/sitepackages/sage/doctest/forker.py", line 861, in compile_and_execute exec(compiled, globs) File "<doctest sage.tests.french_book.mpoly[44]>", line 1, in <module> ybar2 = R.quo(J)(y**Integer(2)) File "sage/structure/parent.pyx", line 955, in sage.structure.parent.Parent.__call__ (/home/fbissey/sandbox/gitfork/sage/src/build/cythonized/sage/structure/parent.c:9852) return mor._call_(x) File "sage/structure/coerce_maps.pyx", line 110, in sage.structure.coerce_maps.DefaultConvertMap_unique._call_ (/home/fbissey/sandbox/gitfork/sage/src/build/cythonized/sage/structure/coerce_maps.c:4883) raise File "sage/structure/coerce_maps.pyx", line 105, in sage.structure.coerce_maps.DefaultConvertMap_unique._call_ (/home/fbissey/sandbox/gitfork/sage/src/build/cythonized/sage/structure/coerce_maps.c:4750) return C._element_constructor(x) File "/home/fbissey/sandbox/gitfork/sage/local/lib/python2.7/sitepackages/sage/rings/quotient_ring.py", line 994, in _element_constructor_ return self.element_class(self, x) File "/home/fbissey/sandbox/gitfork/sage/local/lib/python2.7/sitepackages/sage/rings/quotient_ring_element.py", line 92, in __init__ self._reduce_() File "/home/fbissey/sandbox/gitfork/sage/local/lib/python2.7/sitepackages/sage/rings/quotient_ring_element.py", line 111, in _reduce_ self.__rep = I.reduce(self.__rep) File "/home/fbissey/sandbox/gitfork/sage/local/lib/python2.7/sitepackages/sage/rings/polynomial/multi_polynomial_ideal.py", line 3941, in reduce strat = self._groebner_strategy() File "sage/misc/cachefunc.pyx", line 2401, in sage.misc.cachefunc.CachedMethodCallerNoArgs.__call__ (/home/fbissey/sandbox/gitfork/sage/src/build/cythonized/sage/misc/cachefunc.c:13453) self.cache = f(self._instance) File "/home/fbissey/sandbox/gitfork/sage/local/lib/python2.7/sitepackages/sage/rings/polynomial/multi_polynomial_ideal.py", line 613, in _groebner_strategy return GroebnerStrategy(MPolynomialIdeal(self.ring(), self.groebner_basis())) File "sage/misc/cachefunc.pyx", line 2038, in sage.misc.cachefunc.CachedMethodCaller.__call__ (/home/fbissey/sandbox/gitfork/sage/src/build/cythonized/sage/misc/cachefunc.c:10792) w = self._instance_call(*args, **kwds) File "sage/misc/cachefunc.pyx", line 1914, in sage.misc.cachefunc.CachedMethodCaller._instance_call (/home/fbissey/sandbox/gitfork/sage/src/build/cythonized/sage/misc/cachefunc.c:10238) return self.f(self._instance, *args, **kwds) File "/home/fbissey/sandbox/gitfork/sage/local/lib/python2.7/sitepackages/sage/rings/polynomial/multi_polynomial_ideal.py", line 3729, in groebner_basis gb = self._groebner_basis_libsingular("groebner", deg_bound=deg_bound, mult_bound=mult_bound, *args, **kwds) File "/home/fbissey/sandbox/gitfork/sage/local/lib/python2.7/sitepackages/sage/libs/singular/standard_options.py", line 140, in wrapper return func(*args, **kwds) File "/home/fbissey/sandbox/gitfork/sage/local/lib/python2.7/sitepackages/sage/rings/polynomial/multi_polynomial_ideal.py", line 541, in _groebner_basis_libsingular S = groebner(self) File "sage/libs/singular/function.pyx", line 1323, in sage.libs.singular.function.SingularFunction.__call__ (/home/fbissey/sandbox/gitfork/sage/src/build/cythonized/sage/libs/singular/function.cpp:15163) return call_function(self, args, ring, interruptible, attributes) File "sage/libs/singular/function.pyx", line 1521, in sage.libs.singular.function.call_function (/home/fbissey/sandbox/gitfork/sage/src/build/cythonized/sage/libs/singular/function.cpp:17280) raise RuntimeError("error in Singular function call %r:\n%s"% RuntimeError: error in Singular function call 'groebner': no ring active ********************************************************************** File "src/sage/tests/french_book/mpoly.py", line 176, in sage.tests.french_book.mpoly Failed example: [ybar2^i for i in range(3)] Exception raised: Traceback (most recent call last): File "/home/fbissey/sandbox/gitfork/sage/local/lib/python2.7/sitepackages/sage/doctest/forker.py", line 498, in _run self.compile_and_execute(example, compiler, test.globs) File "/home/fbissey/sandbox/gitfork/sage/local/lib/python2.7/sitepackages/sage/doctest/forker.py", line 861, in compile_and_execute exec(compiled, globs) File "<doctest sage.tests.french_book.mpoly[45]>", line 1, in <module> [ybar2**i for i in range(Integer(3))] NameError: name 'ybar2' is not defined ********************************************************************** File "src/sage/tests/french_book/mpoly.py", line 178, in sage.tests.french_book.mpoly Failed example: ((ybar2 + 1)^2).lift() Exception raised: Traceback (most recent call last): File "/home/fbissey/sandbox/gitfork/sage/local/lib/python2.7/sitepackages/sage/doctest/forker.py", line 498, in _run self.compile_and_execute(example, compiler, test.globs) File "/home/fbissey/sandbox/gitfork/sage/local/lib/python2.7/sitepackages/sage/doctest/forker.py", line 861, in compile_and_execute exec(compiled, globs) File "<doctest sage.tests.french_book.mpoly[46]>", line 1, in <module> ((ybar2 + Integer(1))**Integer(2)).lift() NameError: name 'ybar2' is not defined ********************************************************************** File "src/sage/tests/french_book/mpoly.py", line 190, in sage.tests.french_book.mpoly Failed example: (y^4).mod(J) Expected: y^2  1/16 Got: // ** redefining i (ideal i=i_par; ) // ** redefining Qideal ( ideal Qideal = ideal(P); //defining the quotient ideal if P is a qring) // ** redefining BRlist ( list BRlist = ringlist(P); //ringlist of basering) y^2  1/16 **********************************************************************
which is mostly related to the previous one.
comment:41 in reply to: ↑ 40 Changed 4 years ago by
Yes indeed, these files where outside my first test runs, except for the second one. I can reproduce them. Replying to fbissey:
I have doctests failures here:
sage t long src/sage/tests/cmdline.py # 1 doctest failed
That must be the new singular fgets handling.
sage t long src/sage/rings/polynomial/multi_polynomial_ideal.py # 2 doctests failed
Not sure how I missed that one.
sage t long src/sage/tests/french_book/mpoly.py # 5 doctests failed
Hopefully that will be the same one as the previous one.
comment:42 Changed 4 years ago by
 Commit changed from a295b793b8c801453ce4f7c7dab85c1401ae2ca8 to b52c9a6bd876d4ff965e86fb80e3beb3e13ddcf6
Branch pushed to git repo; I updated commit sha1. New commits:
b52c9a6  Upstream patch for GB over rings.

comment:43 Changed 4 years ago by
 Commit changed from b52c9a6bd876d4ff965e86fb80e3beb3e13ddcf6 to 37e926f8aec3cd8f64d2739cba81aecb163292f7
Branch pushed to git repo; I updated commit sha1. New commits:
37e926f  Gracefully handle closing of stdin in Singular.

comment:44 Changed 4 years ago by
 Status changed from needs_work to needs_review
The GB errors were due to my patch for GB computation over rings being incomplete. Now upstream patch is used.
The cmdline error happened because Singular does not like its stdin to be closed. Added a patch for that.
comment:45 Changed 4 years ago by
I pulled the changes in the branch but the groebner patch had zero impact on multi_polynomial_ideal.py
and the other doctest in the documentation. Still failing in the same way. Did you forget a bit?
comment:46 Changed 4 years ago by
 Status changed from needs_review to needs_work
Hum yeah, I can now rereproduce it... Not sure of what happened yesterday.
comment:47 Changed 4 years ago by
I think I got what happened yesterday: if I build Singular in debug mode I get no segfault :)
comment:48 Changed 4 years ago by
Back to gdb then...
comment:49 Changed 4 years ago by
 Commit changed from 37e926f8aec3cd8f64d2739cba81aecb163292f7 to efc51cab4ebdeda909653c8a27f4f5a0f7abdcc2
comment:50 Changed 4 years ago by
Should be ok now.
I reverted the backported patch for ringorder_t
and the corresponding SAge changes as they are not necessary yet.
And we would need https://github.com/Singular/Sources/commit/1ae67730fa57673e19cd4e827e43af59b10709c1 which does not apply as is to get rid the segfault introduced by the ringorder_t
part.
comment:51 Changed 4 years ago by
 Status changed from needs_work to needs_review
I running the whole test suite right now but feel free to do it as well.
comment:52 Changed 4 years ago by
Works for me on OS X 10.12.
comment:53 Changed 4 years ago by
The previously failing doctests are now passing. I am just doing a full run to be sure.
comment:54 Changed 4 years ago by
 Priority changed from major to blocker
 Reviewers set to François Bissey
 Status changed from needs_review to positive_review
Onward to the bots. Putting this as blocker as well.
comment:55 Changed 4 years ago by
 Branch changed from public/singular410 to efc51cab4ebdeda909653c8a27f4f5a0f7abdcc2
 Resolution set to fixed
 Status changed from positive_review to closed
This is the
pexpect
interface playing up again, isn't it? It was also on OS X last time.