#18897: Memory leak in polynomial_compiled.univar_pd
-------------------------+-------------------------------------------------
       Reporter:         |        Owner:
  slabbe                 |       Status:  needs_info
           Type:         |    Milestone:  sage-6.8
  defect                 |   Resolution:
       Priority:         |    Merged in:
  critical               |    Reviewers:
      Component:         |  Work issues:
  memleak                |       Commit:
       Keywords:         |  80ce8765811c7ac18b921467e113630169b6aaaf
        Authors:  Simon  |     Stopgaps:
  King                   |
Report Upstream:  N/A    |
         Branch:         |
  public/18897           |
   Dependencies:         |
-------------------------+-------------------------------------------------

Comment (by dimpase):

 perhaps `matrix` leaks in other places, too; on the patched system:
 {{{
 $ sage
 ┌────────────────────────────────────────────────────────────────────┐
 │ SageMath Version 6.8.beta8, Release Date: 2015-07-10               │
 │ Type "notebook()" for the browser-based notebook interface.        │
 │ Type "help()" for help.                                            │
 └────────────────────────────────────────────────────────────────────┘
 ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
 ┃ Warning: this is a prerelease version, and it may be unstable.     ┃
 ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
 sage: matrix(5,[1]*25);
 sage: L = [1,1,0,1,0,1,2,1,1,0,0,1,2,0,0,1,1,0,2,0,0,0,0,0,1]
 sage: def test(L, dim):
         import gc
         from collections import Counter
         gc.collect()
         pre={id(c) for c in gc.get_objects()}
         for _ in range(100):
                 matrix(dim, L).eigenvalues()
         gc.collect()
         post=Counter(type(o) for o in gc.get_objects() if id(o) not in
 pre)
         return [(k,v) for (k,v) in post.iteritems() if v>10]
 ....:
 sage: test(L, 5)
 [(<type 'function'>, 13),
  (<type 'dict'>, 18),
  (<class 'sage.structure.dynamic_class.DynamicMetaclass'>, 11),
  (<type 'list'>, 34),
  (<type 'sage.misc.constant_function.ConstantFunction'>, 21),
  (<type 'tuple'>, 88),
  (<type 'cell'>, 24),
  (<class 'weakref.KeyedRef'>, 64),
  (<type 'staticmethod'>, 12),
  (<type 'weakref'>, 27)]
 sage: test(L, 5)
 []
 sage:
 }}}

--
Ticket URL: <http://trac.sagemath.org/ticket/18897#comment:28>
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.
For more options, visit https://groups.google.com/d/optout.

Reply via email to