#13896: Fix cython's gc_track and gc_untrack
------------------------------------------------------------------+---------
       Reporter:  nbruin                                          |         
Owner:  rlm            
           Type:  defect                                          |        
Status:  positive_review
       Priority:  blocker                                         |     
Milestone:  sage-5.6       
      Component:  memleak                                         |    
Resolution:                 
       Keywords:                                                  |   Work 
issues:                 
Report Upstream:  Reported upstream. Developers acknowledge bug.  |     
Reviewers:  Jeroen Demeyer 
        Authors:  Robert Bradshaw                                 |     Merged 
in:                 
   Dependencies:                                                  |      
Stopgaps:                 
------------------------------------------------------------------+---------
Changes (by jdemeyer):

  * status:  needs_work => positive_review
  * reviewer:  => Jeroen Demeyer


Old description:

> In a long sage-devel thread we eventually found
> [https://groups.google.com/group/sage-devel/msg/1d05a46b9b5fa8e2?hl=en in
> this message] that a GC during a weakref callback on a Cython class can
> lead to double deallocation of that class. In Python's
> [http://svn.python.org/projects/python/trunk/Objects/typeobject.c
> Objects/typeobject.c],  line 1024 and onwards, there are some comments
> that indicate that earlier version of Python were bitten by this problem
> too. The solution is to insert the appropriate `PyObject_GC_Untrack` and
> `PyObject_GC_Track` in cython's deallocation code. This is best fixed in
> cython itself.
>
> Install only the new spkg at
> http://sage.math.washington.edu/home/robertwb/patches/cython-0.17.4.spkg

New description:

 In a long sage-devel thread we eventually found
 [https://groups.google.com/group/sage-devel/msg/1d05a46b9b5fa8e2?hl=en in
 this message] that a GC during a weakref callback on a Cython class can
 lead to double deallocation of that class. In Python's
 [http://svn.python.org/projects/python/trunk/Objects/typeobject.c
 Objects/typeobject.c],  line 1024 and onwards, there are some comments
 that indicate that earlier version of Python were bitten by this problem
 too. The solution is to insert the appropriate `PyObject_GC_Untrack` and
 `PyObject_GC_Track` in cython's deallocation code. This is best fixed in
 cython itself.

 Install only the new spkg at
 [http://boxen.math.washington.edu/home/jdemeyer/spkg/cython-0.17.4.spkg]

--

Comment:

 Fixed `SPKG.txt`.

-- 
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/13896#comment:26>
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 post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/sage-trac?hl=en.

Reply via email to