#12313: Fix yet another memory leak caused by caching of coercion data
-------------------------------------------------+--------------------------
Reporter: SimonKing | Owner:
Type: defect | Status:
positive_review
Priority: major | Milestone: sage-pending
Component: memleak | Resolution:
Keywords: coercion weak dictionary | Work issues:
Report Upstream: N/A | Reviewers: Simon King,
Jean-Pierre Flori, John Perry, Nils Bruin
Authors: Simon King, Jean-Pierre Flori | Merged in:
Dependencies: #715, #11521, #12215, #13746 | Stopgaps:
-------------------------------------------------+--------------------------
Changes (by nbruin):
* status: needs_review => positive_review
Comment:
Works for me! By the way, as you can see from the patch I attached
earlier, something must have gone wrong with applying the patches when I
tested it. In the current version, `*Eraser` has a weak reference to its
dict, and callbacks normally get cleared first, before any attributes get
destroyed. So before `D.buckets` becomes `None`, we would already have
`self.D() == None`. Therefore I'd be surprised if this latest patch is
actually necessary. Anyway, given how tricky these deallocators are, I
have no problem with a little extra (perhaps superfluous) tests.
We have a future ticket to reorganize/optimize these dictionaries anyway.
Let's get this in!
--
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/12313#comment:272>
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.