[Python-Dev] _Py_RefTotal wrong in Py 2.2.3

Armin Rigo arigo at tunes.org
Mon Nov 17 06:03:08 EST 2003


Hello Christian,

On Mon, Nov 17, 2003 at 02:02:48AM +0100, Christian Tismer wrote:
> I debuged this down to the very end, until I was sure
> my stuff is doing it right. Then I added a small function
> that recomputes the actual total refcounts from the
> chained list of all objects, and it turned out to be
> correct (and also my pickling), but _Py_RefTotal is different.

I found a few places that manipulate ob_refcnt directly without worrying about 
keeping _Py_RefTotal or other debugging information in sync:

* classobject.c:instance_dealloc(), for __del__

* stringobject.c, for interned strings

* typeobject.c:slot_tp_del(), for __del__ too

I bet you could also find these easily, but maybe it should be regarded as a 
bug list.  At any rate, the __del__ tricks will indeed make some counters 
invalid.


A bientot,

Armin.




More information about the Python-Dev mailing list