#13896: Fix cython's gc_track and gc_untrack
-----------------------+----------------------------------------------------
   Reporter:  nbruin   |             Owner:  rlm                                
           
       Type:  defect   |            Status:  new                                
           
   Priority:  major    |         Milestone:  sage-5.6                           
           
  Component:  memleak  |          Keywords:                                     
           
Work issues:           |   Report Upstream:  Reported upstream. Developers 
acknowledge bug.
  Reviewers:           |           Authors:                                     
           
  Merged in:           |      Dependencies:                                     
           
   Stopgaps:           |  
-----------------------+----------------------------------------------------
 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/Include/object.h
 Objects/typeobject.h],  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.

-- 
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/13896>
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