#18905: fix more leaks found in #18897
---------------------------+------------------------
Reporter: dimpase | Owner:
Type: defect | Status: new
Priority: major | Milestone: sage-6.8
Component: memleak | Resolution:
Keywords: | Merged in:
Authors: | Reviewers:
Report Upstream: N/A | Work issues:
Branch: | Commit:
Dependencies: #18897 | Stopgaps:
---------------------------+------------------------
Comment (by SimonKing):
The lattice that is stored in the algebraic closure is either passed as an
argument to the init method, or is constructed during init:
{{{
#!python
def __init__(self, base_ring, name, category=None, lattice=None,
use_database=True):
if not (is_FiniteField(base_ring) and base_ring.is_prime_field()):
raise NotImplementedError('algebraic closures of finite fields
are only implemented for prime fields')
from sage.rings.finite_rings.conway_polynomials import
PseudoConwayLattice
p = base_ring.characteristic()
if lattice is None:
lattice = PseudoConwayLattice(p, use_database)
elif not isinstance(lattice, PseudoConwayLattice) or lattice.p !=
p:
raise TypeError('lattice must be a pseudo-Conway lattice with
characteristic %s' % p)
self._pseudo_conway_lattice = lattice
AlgebraicClosureFiniteField_generic.__init__(self, base_ring,
name, category)
}}}
That's a dilemma. If "lattice" is not passed as an argument, it is no
problem to weakly reference it, as it can be reconstructed, should it be
garbage collected. But otherwise? Hm.
--
Ticket URL: <http://trac.sagemath.org/ticket/18905#comment:31>
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.