[Python-Dev] Big trouble in CVS Python

Aahz aahz@pythoncraft.com
Sun, 13 Apr 2003 19:21:39 -0400


On Sun, Apr 13, 2003, Tim Peters wrote:
>
> What I still don't grasp is why a debug run never failed with a
> negative-refcount error.  Attaching the prematurely-freed float to the
> float free list doesn't change its refcount field -- that remains 0.
> So if it was still in the free list when the original co_consts got
> reclaimed, we should have had a negrefcnt death.  OTOH, if the memory
> was handed out to another float, then when the original co_consts got
> reclaimed it would have knocked that float's refcount down too, which
> should lead to a negrefcnt death later.  Maybe co_consts never did get
> reclaimed?  I'm not clear on how much we let slide at shutdown.

Maybe debug runs should walk through "the universe" to make sure it's in
a valid state before exiting?  I remember being confused that gc doesn't
run when Python exits.
-- 
Aahz (aahz@pythoncraft.com)           <*>         http://www.pythoncraft.com/

This is Python.  We don't care much about theory, except where it intersects 
with useful practice.  --Aahz, c.l.py, 2/4/2002