#11339: Illegal use of __deallocate__ in cython (pyx) code
-----------------------------------------------+----------------------------
Reporter: gagern | Owner: drkirkby
Type: defect | Status: needs_review
Priority: major | Milestone: sage-4.7.1
Component: algebra | Keywords: sd31
Work_issues: | Upstream: N/A
Reviewer: François Bissey, Steven Trogdon | Author: Volker Braun,
Martin von Gagern
Merged: | Dependencies:
-----------------------------------------------+----------------------------
Changes (by vbraun):
* status: needs_info => needs_review
Comment:
The updated polynomials patch fixes another place where potentially the
wrong singular ring was used, which would explain the data corruption.
Please give it a try!
I'm pretty sure that `p_Normalize` requires `currRing` to be set. In the
polynomials destructor, I have
{{{
### If you suspect that the poly data was corrupted, then this is a
good way to trigger a segfault:
rChangeCurrRing(self._parent_ring)
p_Normalize(self._poly, self._parent_ring)
}}}
This is useful for debugging because `p_Normalize` will touch all
coefficients of the polynomial. The destructor is typically called long
after the actual computations so it is very likely that the `currRing` has
changed by then. If I reverse the order of the two lines, then I get
segfaults all over the Sage library. However, because it relies on the
finalization order, they are usually in varying places and often disappear
if you just paste the doctest into Sage.
--
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/11339#comment:35>
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 post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/sage-trac?hl=en.