[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