#14711: Memleak when creating QuadraticField
-------------------------------------+-------------------------------------
       Reporter:  jpflori            |        Owner:  davidloeffler
           Type:  defect             |       Status:  new
       Priority:  critical           |    Milestone:  sage-5.13
      Component:  number fields      |   Resolution:
       Keywords:  memleak, number    |    Merged in:
  field, QuadraticField              |    Reviewers:
        Authors:  Simon King         |  Work issues:  Provide copy of
Report Upstream:  N/A                |  composed maps
         Branch:                     |       Commit:
  u/SimonKing/ticket/14711           |     Stopgaps:
   Dependencies:                     |
-------------------------------------+-------------------------------------
Changes (by {'newvalue': u'Simon King', 'oldvalue': ''}):

 * work_issues:   => Provide copy of composed maps
 * author:   => Simon King


Comment:

 I have pushed two more commits, and now ''all'' doctests should pass (to
 be verified).

 I also think I have extensively explained the rationale behind the
 changes. Hence, I have already clicked "Needs review". But it was too soon
 (see below).

 A potential "todo": We might want that a weakened map returned by
 `P.coerce_map_from(Q)` will print as
 {{{
 sage: QQ['x'].coerce_map_from(QQ)
 This is a map used by the coercion system.
 If you want to use it outside of the coercion system,
 please use a copy of the map
 sage: copy(_)
 Polynomial base injection morphism:
   From: Rational Field
   To:   Univariate Polynomial Ring in x over Rational Field
 }}}

 In this case, we may want to have `__copy__` methods everywhere. Even
 though the current branch improves copying, I just obtained the following
 crash that I want to fix first:
 {{{
 sage: QQ['x'].coerce_map_from(ZZ)
 Composite map:
   From: Integer Ring
   To:   Univariate Polynomial Ring in x over Rational Field
   Defn:   Natural morphism:
           From: Integer Ring
           To:   Rational Field
         then
           Polynomial base injection morphism:
           From: Rational Field
           To:   Univariate Polynomial Ring in x over Rational Field
 sage: phi = copy(_)
 sage: phi(2)
 <SEGFAULT>
 }}}

--
Ticket URL: <http://trac.sagemath.org/ticket/14711#comment:86>
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/groups/opt_out.

Reply via email to