[Python-Dev] Py_CLEAR to avoid crashes

Neil Schemenauer nas at arctrix.com
Mon Feb 18 17:29:42 CET 2008


Nick Coghlan <ncoghlan at gmail.com> wrote:
> The problem is calls to Py_DECREF(self->attr) where some of the code 
> invoked by __del__ manages to find a way back around to reference 
> self->attr and gets access to a half-deleted object.

Don't you mean "__del__ manages to find a way back around to self"?
If so, how can that happen?  If such a reference path exists, the
reference count of self should not be zero.  I don't understand why
Py_CLEAR is necessary outside of tp_clear functions.

  Neil



More information about the Python-Dev mailing list