The following patch seems to fix the issue explained in http://mail.python.org/pipermail/python-dev/2012-June/120659.html :
diff --git a/Objects/typeobject.c b/Objects/typeobject.c
--- a/Objects/typeobject.c
+++ b/Objects/typeobject.c
@@ -2417,6 +2417,10 @@ PyType_FromSpec(PyType_Spec *spec)
if (res->ht_type.tp_dictoffset) {
res->ht_cached_keys = _PyDict_NewKeysForClass();
}
+ if (res->ht_type.tp_dealloc == NULL) {
+ /* It's a heap type, so needs the heap types' dealloc */
+ res->ht_type.tp_dealloc = subtype_dealloc;
+ }
if (PyType_Ready(&res->ht_type) < 0)
goto fail; |