#14388: Fix plural polynomials overflow error
-------------------------------------------------+--------------------------
Reporter: kcrisman | Owner: tbd
Type: defect | Status:
positive_review
Priority: major | Milestone: sage-5.9
Component: porting | Resolution:
Keywords: 32-bit | Work issues:
Report Upstream: N/A | Reviewers: Jean-Pierre
Flori, Karl-Dieter Crisman
Authors: Nils Bruin, Jean-Pierre Flori | Merged in:
Dependencies: | Stopgaps:
-------------------------------------------------+--------------------------
Changes (by jdemeyer):
* keywords: Cygwin => 32-bit
* component: porting: Cygwin => porting
Old description:
> On Cygwin we see that now most failures are of the following nature.
> {{{
> sage -t devel/sage-main/sage/algebras/free_algebra.py
> Exception KeyError: (The ring pointer -0x1f5282c,) in
> 'sage.libs.singular.ring.singular_ring_delete' ignored
> Exception KeyError: (The ring pointer -0x1f52768,) in
> 'sage.libs.singular.ring.singular_ring_delete' ignored
> Exception KeyError: (The ring pointer -0x1f526a4,) in
> 'sage.libs.singular.ring.singular_ring_delete' ignored
> **********************************************************************
> File "/home/sagetest/sage-5.8.beta4/devel/sage-
> main/sage/algebras/free_algebra.py", line 820:
> sage: G=A.g_algebra({y*x:-x*y})
> Exception raised:
> Traceback (most recent call last):
> File "/home/sagetest/sage-5.8.beta4/local/bin/ncadoctest.py", line
> 1231, in run_one_test
> self.run_one_example(test, example, filename, compileflags)
> File "/home/sagetest/sage-5.8.beta4/local/bin/sagedoctest.py", line
> 38, in run_one_example
> OrigDocTestRunner.run_one_example(self, test, example, filename,
> compileflags)
> File "/home/sagetest/sage-5.8.beta4/local/bin/ncadoctest.py", line
> 1172, in run_one_example
> compileflags, 1) in test.globs
> File "<doctest __main__.example_18[3]>", line 1, in <module>
> G=A.g_algebra({y*x:-x*y})###line 820:
> sage: G=A.g_algebra({y*x:-x*y})
> File "/home/sagetest/sage-5.8.beta4/local/lib/python/site-
> packages/sage/algebras/free_algebra.py", line 872, in g_algebra
> order=order, check=check)
> File "factory.pyx", line 143, in
> sage.structure.factory.UniqueFactory.__call__
> (sage/structure/factory.c:1119)
> File "factory.pyx", line 170, in
> sage.structure.factory.UniqueFactory.get_object
> (sage/structure/factory.c:1311)
> File "plural.pyx", line 180, in
> sage.rings.polynomial.plural.G_AlgFactory.create_object
> (sage/rings/polynomial/plural.cpp:4289)
> File "plural.pyx", line 358, in
> sage.rings.polynomial.plural.NCPolynomialRing_plural.__init__
> (sage/rings/polynomial/plural.cpp:5351)
> File "plural.pyx", line 1471, in
> sage.rings.polynomial.plural.NCPolynomial_plural.__richcmp__
> (sage/rings/polynomial/plural.cpp:11452)
> File "element.pyx", line 855, in
> sage.structure.element.Element._richcmp (sage/structure/element.c:7980)
> File "coerce.pyx", line 913, in
> sage.structure.coerce.CoercionModel_cache_maps.canonical_coercion
> (sage/structure/coerce.c:8304)
> File "coerce.pyx", line 1068, in
> sage.structure.coerce.CoercionModel_cache_maps.coercion_maps
> (sage/structure/coerce.c:9855)
> File "coerce.pyx", line 1209, in
> sage.structure.coerce.CoercionModel_cache_maps.discover_coercion
> (sage/structure/coerce.c:11405)
> File "parent.pyx", line 2116, in
> sage.structure.parent.Parent.coerce_map_from
> (sage/structure/parent.c:14383)
> File "parent.pyx", line 2937, in
> sage.structure.parent._register_pair (sage/structure/parent.c:21545)
> File "parent.pyx", line 2911, in
> sage.structure.parent.EltPair.__hash__ (sage/structure/parent.c:21193)
> File "plural.pyx", line 573, in
> sage.rings.polynomial.plural.NCPolynomialRing_plural.__hash__
> (sage/rings/polynomial/plural.cpp:6487)
> OverflowError: Python int too large to convert to C long
> }}}
>
> Apply [attachment:trac_14388.patch]
New description:
On 32-bit systems we sometimes see failures are of the following nature.
{{{
sage -t devel/sage-main/sage/algebras/free_algebra.py
Exception KeyError: (The ring pointer -0x1f5282c,) in
'sage.libs.singular.ring.singular_ring_delete' ignored
Exception KeyError: (The ring pointer -0x1f52768,) in
'sage.libs.singular.ring.singular_ring_delete' ignored
Exception KeyError: (The ring pointer -0x1f526a4,) in
'sage.libs.singular.ring.singular_ring_delete' ignored
**********************************************************************
File "/home/sagetest/sage-5.8.beta4/devel/sage-
main/sage/algebras/free_algebra.py", line 820:
sage: G=A.g_algebra({y*x:-x*y})
Exception raised:
Traceback (most recent call last):
File "/home/sagetest/sage-5.8.beta4/local/bin/ncadoctest.py", line
1231, in run_one_test
self.run_one_example(test, example, filename, compileflags)
File "/home/sagetest/sage-5.8.beta4/local/bin/sagedoctest.py", line
38, in run_one_example
OrigDocTestRunner.run_one_example(self, test, example, filename,
compileflags)
File "/home/sagetest/sage-5.8.beta4/local/bin/ncadoctest.py", line
1172, in run_one_example
compileflags, 1) in test.globs
File "<doctest __main__.example_18[3]>", line 1, in <module>
G=A.g_algebra({y*x:-x*y})###line 820:
sage: G=A.g_algebra({y*x:-x*y})
File "/home/sagetest/sage-5.8.beta4/local/lib/python/site-
packages/sage/algebras/free_algebra.py", line 872, in g_algebra
order=order, check=check)
File "factory.pyx", line 143, in
sage.structure.factory.UniqueFactory.__call__
(sage/structure/factory.c:1119)
File "factory.pyx", line 170, in
sage.structure.factory.UniqueFactory.get_object
(sage/structure/factory.c:1311)
File "plural.pyx", line 180, in
sage.rings.polynomial.plural.G_AlgFactory.create_object
(sage/rings/polynomial/plural.cpp:4289)
File "plural.pyx", line 358, in
sage.rings.polynomial.plural.NCPolynomialRing_plural.__init__
(sage/rings/polynomial/plural.cpp:5351)
File "plural.pyx", line 1471, in
sage.rings.polynomial.plural.NCPolynomial_plural.__richcmp__
(sage/rings/polynomial/plural.cpp:11452)
File "element.pyx", line 855, in
sage.structure.element.Element._richcmp (sage/structure/element.c:7980)
File "coerce.pyx", line 913, in
sage.structure.coerce.CoercionModel_cache_maps.canonical_coercion
(sage/structure/coerce.c:8304)
File "coerce.pyx", line 1068, in
sage.structure.coerce.CoercionModel_cache_maps.coercion_maps
(sage/structure/coerce.c:9855)
File "coerce.pyx", line 1209, in
sage.structure.coerce.CoercionModel_cache_maps.discover_coercion
(sage/structure/coerce.c:11405)
File "parent.pyx", line 2116, in
sage.structure.parent.Parent.coerce_map_from
(sage/structure/parent.c:14383)
File "parent.pyx", line 2937, in
sage.structure.parent._register_pair (sage/structure/parent.c:21545)
File "parent.pyx", line 2911, in
sage.structure.parent.EltPair.__hash__ (sage/structure/parent.c:21193)
File "plural.pyx", line 573, in
sage.rings.polynomial.plural.NCPolynomialRing_plural.__hash__
(sage/rings/polynomial/plural.cpp:6487)
OverflowError: Python int too large to convert to C long
}}}
Apply [attachment:trac_14388.patch]
--
--
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/14388#comment:21>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica,
and MATLAB
--
You received this message because you are subscribed to the Google Groups
"sage-trac" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/sage-trac?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.