#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.


Reply via email to