id,summary,reporter,owner,description,type,status,priority,milestone,component,resolution,keywords,cc,work_issues,upstream,reviewer,author,merged,dependencies,stopgaps
715,Parents probably not reclaimed due to too much caching,robertwb,somebody,"Here is a small example illustrating the issue.

The memory footprint of the following piece of code grows indefinitely.

{{{
sage: K = GF(1<<55,'t') 
sage: a = K.random_element() 
sage: while 1: 
....:     E = EllipticCurve(j=a); P = E.random_point(); 2*P; del E, P;

}}}
E and P get deleted, but when 2*P is computed, the action of integers on A, the abelian group of rational points of the ellitpic curve, gets cached in the corecion model.

A key-value pair is left in coercion_model._action_maps dict:

(ZZ,A,*) : IntegerMulAction

Moreover there is at least also references to A in the IntegerMulAction and one in ZZ._action_hash.

So weak refs should be used in all these places if it does not slow things too much.

'''To be merged with #11521'''. Apply:

 * [attachment:715_all.patch]

and '''then''' the patches from #11521.",defect,closed,major,sage-5.5,coercion,fixed,weak cache coercion Cernay2012,jpflori zimmerma vbraun robertwb nbruin malb mjo,,N/A,"Jean-Pierre Flori, Simon King, Nils Bruin","Simon King, Jean-Pierre Flori",sage-5.5.beta0,"#13145, #13741, #13746, to be merged with #11521",
