#14356: memleak in UniqueRepresentation / Poset
-----------------------+----------------------------------------------------
Reporter: vbraun | Owner: rlm
Type: defect | Status: new
Priority: major | Milestone: sage-5.9
Component: memleak | Keywords:
Work issues: | Report Upstream: N/A
Reviewers: | Authors:
Merged in: | Dependencies:
Stopgaps: |
-----------------------+----------------------------------------------------
Its easy to construct posets whose element labels refer back to the poset,
for example in toric varieties the face lattice is labelled by cones of
the fan. The result is that everything is unconditionally alive because
the !UniqueRepresentation !WeakValueDictionary has a key referring back to
the poset:
{{{
sage: class Foo:
....: pass
....:
sage: foo = Foo()
sage: foo.dag = random_DAG(10)
sage: foo.poset = Poset(foo.dag, element_labels=[(i,foo) for i in
range(10)], key=id(foo))
sage: del foo
sage:
sage: import gc
sage: gc.collect()
591
sage: print [ x for x in gc.get_objects() if
isinstance(x,sage.combinat.posets.posets.FinitePoset) ]
[Finite poset containing 10 elements]
}}}
--
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/14356>
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.