#14054: Cythoned UniqueRepresentation
-----------------------------------------------+----------------------------
Reporter: SimonKing | Owner: tbd
Type: enhancement | Status: needs_review
Priority: major | Milestone: sage-5.8
Component: performance | Resolution:
Keywords: cython UniqueRepresentation | Work issues:
Report Upstream: N/A | Reviewers: Travis
Scrimshaw
Authors: Simon King | Merged in:
Dependencies: #14017, #6495 | Stopgaps:
-----------------------------------------------+----------------------------
Comment (by nbruin):
This parent mismatch happens in a morphism call. If a morphism gets
registered in the wrong slot in a conversion/coercion then it could indeed
end up getting mismatched input (shouldn't `__call__` be a little more
permissive about its arguments by the way? Certainly, an error would be
more appropriate than an assert if this is something that actually can go
wrong)
Anyway, `TripleDict` does store homomorphisms and we've recently seen it's
not entirely safe wrt. garbage collections that can happen during update
procedures. That can cause homomorphisms to get registered under the wrong
domain/codomain keys.
I think it's extremely unlikely that this is happening in this particular
situation, but if all other conceivable alternatives are impossible ...
(since the corruption would be dependent on a GC happening at just the
wrong time, it would be extremely fickle behaviour that is very hard to
reproduce).
Of course, if this test is using a map that wasn't retrieved from a
`TripleDict` or a `MonoDict` the above explanation is impossible.
--
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/14054#comment:27>
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.