1 2 3 4 5 6 7 8 9 10 11 12 13
# Reference cycles involving only the ob_type field are rather uncommon # but possible. Inspired by SF bug 1469629. import gc def leak(): class T(type): pass class U(type): __metaclass__ = T U.__class__ = U del U gc.collect(); gc.collect(); gc.collect()