On Dec 31, 8:46 am, Jean-Pierre Flori <jpfl...@gmail.com> wrote:
> Of course, if Nils is right, it might not be up to us to solve such
> problems, but rather Python itself...

It might by cython, not python:

A little grepping in the Python source shows that the first thing
dealloc methods do is call _PyObject_GC_UNTRACK and then call
PyObject_ClearWeakRefs. Cython generated code leaves out the
_PyObject_GC_UNTRACK. Probably cython should untrack its objects upon
deallocation as well. That sounds like exactly the kind of thing that
would prevent the object from being marked for deallocation a second
time.

(mind you, TripleDictEraser needs fixing anyway. I think this shows
callbacks should be extremely careful in issuing delete instructions
on objects that are not solely under their control)

-- 
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To post to this group, send email to sage-devel@googlegroups.com.
To unsubscribe from this group, send email to 
sage-devel+unsubscr...@googlegroups.com.
Visit this group at http://groups.google.com/group/sage-devel?hl=en.


Reply via email to