#18157: Random failure in coerce_action.pyx
-------------------------------+------------------------
Reporter: vbraun | Owner:
Type: defect | Status: new
Priority: major | Milestone: sage-6.6
Component: coercion | Resolution:
Keywords: random_fail | Merged in:
Authors: | Reviewers:
Report Upstream: N/A | Work issues:
Branch: | Commit:
Dependencies: | Stopgaps:
-------------------------------+------------------------
Comment (by nbruin):
{{{
cm.discover_action(GF(5)['x'], ZZ, operator.div)
}}}
Also for this one: the coercion framework will never be asked to discover
an action on an otherwise unreferenced parent. At the same time, the
action object does get cached (globally!) somewhere in the coercion
framework and hence should probably not hold a strong reference (at least
to one of the sets it acts on). The container it gets stored in is
probably a !TripleDict, keyed on the two parents involved. It takes care
of having a callback to delete the action object when one of the domains
gets deleted, so the action objects will normally not outlive the shortest
lifetime of the parents involved.
If we have an absolute need of handling actions outside the coercion
framework, we should probably make other action objects that do keep
strong references. We do this for maps that get used for conversion and
coercion. But these actions are showing desirable behaviour for use in the
coercion framework. I think the bug is in the doctests.
--
Ticket URL: <http://trac.sagemath.org/ticket/18157#comment:3>
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.
For more options, visit https://groups.google.com/d/optout.