[Python-bugs-list] [ python-Bugs-578752 ] COUNT_ALLOCS vs heap types
noreply@sourceforge.net
noreply@sourceforge.net
Mon, 08 Jul 2002 15:00:52 -0700
Bugs item #578752, was opened at 2002-07-08 12:29
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=105470&aid=578752&group_id=5470
Category: Type/class unification
Group: None
Status: Open
Resolution: None
Priority: 5
Submitted By: Tim Peters (tim_one)
>Assigned to: Tim Peters (tim_one)
Summary: COUNT_ALLOCS vs heap types
Initial Comment:
A COUNT_ALLOCS build blows up with a memory fault
while printing statistics at exit after running the test suite.
Running test_descr alone is enough to provoke this.
This example doesn't blow up, but gets into an infinite
stats-printing loop at exit:
"""
import gc
for i in range(8):
class C(object):
pass
c = C()
print gc.collect()
"""
I believe the scoop here is that COUNT_ALLOCS assumes
type objects are immortal. When a type object goes away,
it doesn't get unlinked from object.c's type_list, so that the
stats printing loop can dereference dead memory, and the
type_list can even become circular if the same memory
blob happens to get reused for a new heap type later.
----------------------------------------------------------------------
>Comment By: Tim Peters (tim_one)
Date: 2002-07-08 18:00
Message:
Logged In: YES
user_id=31435
Assigned to me.
----------------------------------------------------------------------
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=105470&aid=578752&group_id=5470