[Zodb-checkins] CVS: ZODB3 - NEWS.txt:1.33.6.57

Tim Peters tim.one at comcast.net
Wed Dec 1 12:59:53 EST 2004


Update of /cvs-repository/ZODB3
In directory cvs.zope.org:/tmp/cvs-serv20538

Modified Files:
      Tag: Zope-2_7-branch
	NEWS.txt 
Log Message:
subclass_dealloc():  Repair object resurrection.

A debug build of Python contains a doubly-linked list of all allocated
objects.  In case an instance is resurrected by a __del__ method, the
instance needs to be added to that list again, else a segfault can occur
later when (if ever) the instance goes away normally (its __del__ method
stops resurrecting it).  But ExtensionClass wasn't doing this, and a
repeatable segfault under a debug-build Python in test
checkMinimizeTerminates was the result.

Repaired by adding instance resurrection code from Python's classobject.c
instance_dealloc() to Zope's ExtensionClass.c subclass_dealloc().


=== ZODB3/NEWS.txt 1.33.6.56 => 1.33.6.57 ===
--- ZODB3/NEWS.txt:1.33.6.56	Tue Nov 16 16:39:04 2004
+++ ZODB3/NEWS.txt	Wed Dec  1 12:59:52 2004
@@ -10,6 +10,14 @@
 undefined global while it was trying to raise ``CorruptedError``.  It
 raises ``CorruptedError``, as it always intended, in these cases now.
 
+ExtensionClass
+--------------
+
+The deallocation function for ``ExtensionClass`` instances wasn't
+entirely correct when an instance's ``__del__`` method resurrected the
+instance.  This could lead to segfaults, but only under a debug build
+of Python and ExtensionClass.
+
 What's new in ZODB3 3.2.4?
 ==========================
 Release date: 24-Oct-2004



More information about the Zodb-checkins mailing list