SF bug 578752: COUNT_ALLOCS vs heap types
Repair segfaults and infinite loops in COUNT_ALLOCS builds in the
presence of new-style (heap-allocated) classes/types.

Bugfix candidate.  I'll backport this to 2.2.  It's irrelevant in 2.1.
diff --git a/Misc/NEWS b/Misc/NEWS
index 2d323ea..7bc9817 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -294,6 +294,14 @@
 
 Build
 
+- A bug was fixed that could cause COUNT_ALLOCS builds to segfault, or
+  get into infinite loops, when a new-style class got garbage-collected.
+  Unfortunately, to avoid this, the way COUNT_ALLOCS works requires
+  that new-style classes be immortal in COUNT_ALLOCS builds.  Note that
+  COUNT_ALLOCS is not enabled by default, in either release or debug
+  builds, and that new-style classes are immortal only in COUNT_ALLOCS
+  builds.
+
 - Compiling out the cyclic garbage collector is no longer an option.
   The old symbol WITH_CYCLE_GC is now ignored, and Python.h arranges
   that it's always defined (for the benefit of any extension modules