#11339: Illegal use of __deallocate__ in cython (pyx) code
-----------------------------------------------+----------------------------
   Reporter:  gagern                           |          Owner:  drkirkby      
                 
       Type:  defect                           |         Status:  needs_work    
                 
   Priority:  major                            |      Milestone:  sage-4.7.1    
                 
  Component:  porting                          |       Keywords:  sd31          
                 
Work_issues:                                   |       Upstream:  N/A           
                 
   Reviewer:  François Bissey, Steven Trogdon  |         Author:  Volker Braun, 
Martin von Gagern
     Merged:                                   |   Dependencies:                
                 
-----------------------------------------------+----------------------------
Changes (by vbraun):

  * status:  needs_review => needs_work


Comment:

 By immutable I meant that the ring of the Parent object can't change. But
 I wasn't aware that the parent is part of the cycle that the garbage
 collector is trying to break, then it won't work of course.

 Actually, if the cycle is Parent <-> GroebnerStrategy then I don't
 understand Martin's orginal patch. By manually increasing the refcount of
 Parent by one, the garbage collector should conclude that an external
 reference is keeping the cycle alive, right? Hence `__dealloc__` would
 never be run. This fixes the crash, of course, but at the cost of leaking
 memory?

 I'm leaning towards refcounting the libsingular rings in C. This would be
 rather easy to implement, I think.

 Also, Burcin told me that the need to explicitly reset the ring after the
 groebner strategy is going to go away in the future. But I would wager
 that Sage is going to transition to Python 3 first ;-)

-- 
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/11339#comment:21>
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