id,summary,reporter,owner,description,type,status,priority,milestone,component,resolution,keywords,cc,merged,author,reviewer,upstream,work_issues,branch,commit,dependencies,stopgaps
26958,Inheriting from MPolynomialRing_libsingular crashes sage,Salvatore Stella,,"The following crashes sage with a SIGSEGV:
{{{
sage: from sage.rings.polynomial.multi_polynomial_libsingular import MPolynomialRing_libsingular
sage: class Foo(MPolynomialRing_libsingular):
....: pass
sage: Foo(QQ, 2, ['x','y'], 'degrevlex')
}}}
Strangely enough this bug is triggered only when inheriting; indeed the following works as expected:
{{{
sage: from sage.rings.polynomial.multi_polynomial_libsingular import MPolynomialRing_libsingular
sage: MPolynomialRing_libsingular(QQ, 2, ['x','y'], 'degrevlex')
Multivariate Polynomial Ring in x, y over Rational Field
}}}
As it turns out this bug is due to a spurious call to `__init_extra__` of `Algebras(...).parent_class`. Univariate polynomial rings avoid this call by setting the attribute `_no_generic_basering_coercion = True`; now multivariate polynomial rings do so too.
",defect,closed,major,sage-8.7,algebra,fixed,polynomial rings,,,Salvatore Stella,Jeroen Demeyer,N/A,,57c81821cf0afc9060f2826002a56b9ff3563653,57c81821cf0afc9060f2826002a56b9ff3563653,,