Opened 20 months ago

Last modified 3 months ago

#29528 new defect

Singular: segmentation fault in plural.pyx

Reported by: gh-mwageringel Owned by:
Priority: major Milestone: sage-9.5
Component: interfaces Keywords: singular, libsingular
Cc: Merged in:
Authors: Reviewers:
Report Upstream: N/A Work issues:
Branch: Commit:
Dependencies: #13447 Stopgaps:

Status badges

Description

This ticket tracks a random segmentation fault in plural.pyx that occasionally appears with Singular ≥ 4.1.1p3. The corresponding doctest is disabled in #25993.

File "src/sage/rings/polynomial/plural.pyx", line 400, in sage.rings.polynomial.plural.NCPolynomialRing_plural.__dealloc__
Failed example:
    R2 = A2.g_algebra({y*x:x*y-z, z*x:x*z+2*x, z*y:y*z-2*y}, order=TermOrder('degrevlex', 2))
Exception raised:
    Traceback (most recent call last):
      File "/amd/compute/mwagerin/git/sage_compute/python3/local/lib/python3.7/site-packages/sage/doctest/forker.py", line 681, in _run
        self.compile_and_execute(example, compiler, test.globs)
      File "/amd/compute/mwagerin/git/sage_compute/python3/local/lib/python3.7/site-packages/sage/doctest/forker.py", line 1123, in compile_and_execute
        exec(compiled, globs)
      File "<doctest sage.rings.polynomial.plural.NCPolynomialRing_plural.__dealloc__[6]>", line 1, in <module>
        R2 = A2.g_algebra({y*x:x*y-z, z*x:x*z+Integer(2)*x, z*y:y*z-Integer(2)*y}, order=TermOrder('degrevlex', Integer(2)))
      File "/amd/compute/mwagerin/git/sage_compute/python3/local/lib/python3.7/site-packages/sage/algebras/free_algebra.py", line 887, in g_algebra
        order=order, check=check)
      File "sage/structure/factory.pyx", line 369, in sage.structure.factory.UniqueFactory.__call__ (build/cythonized/sage/structure/factory.c:2240)
        return self.get_object(version, key, kwds)
      File "sage/structure/factory.pyx", line 412, in sage.structure.factory.UniqueFactory.get_object (build/cythonized/sage/structure/factory.c:2631)
        obj = self.create_object(version, key, **extra_args)
      File "sage/rings/polynomial/plural.pyx", line 175, in sage.rings.polynomial.plural.G_AlgFactory.create_object (build/cythonized/sage/rings/polynomial/plural.cpp:5432)
        return NCPolynomialRing_plural(base_ring, names, c, d, order,
      File "sage/rings/polynomial/plural.pyx", line 355, in sage.rings.polynomial.plural.NCPolynomialRing_plural.__init__ (build/cythonized/sage/rings/polynomial/plural.cpp:6707)
        test = ff.nctools__lib.ndcond(ring = self)
      File "sage/libs/singular/function.pyx", line 1334, in sage.libs.singular.function.SingularFunction.__call__ (build/cythonized/sage/libs/singular/function.cpp:14977)
        return call_function(self, args, ring, interruptible, attributes)
      File "sage/libs/singular/function.pyx", line 1516, in sage.libs.singular.function.call_function (build/cythonized/sage/libs/singular/function.cpp:16809)
        with opt_ctx: # we are preserving the global options state here
      File "sage/libs/singular/function.pyx", line 1518, in sage.libs.singular.function.call_function (build/cythonized/sage/libs/singular/function.cpp:16721)
        sig_on()
    cysignals.signals.SignalError: Segmentation fault

If this error occurs when running the tests, it is usually persistent and reproducible, but isolating the problem is difficult, as the corresponding doctest does not fail when run standalone.

See #25993 for more details.

Change History (7)

comment:1 Changed 18 months ago by gh-mwageringel

  • Dependencies set to #13447

#13447 might solve this.

comment:3 Changed 18 months ago by gh-mwageringel

Thanks for the report. This confirms that this problem also occurs with Singular 4.1.1p2 – the version currently in Sage.

comment:4 Changed 14 months ago by mkoeppe

  • Milestone changed from sage-9.2 to sage-9.3

comment:5 Changed 13 months ago by dimpase

see also #30745 where this raises again, with Flint 2.6.3.

But interestingly with #25993 (with these tests reinstated) everything works.

comment:6 Changed 7 months ago by mkoeppe

  • Milestone changed from sage-9.3 to sage-9.4

Moving to 9.4, as 9.3 has been released.

comment:7 Changed 3 months ago by mkoeppe

  • Milestone changed from sage-9.4 to sage-9.5
Note: See TracTickets for help on using tickets.