[Python-checkins] r50828 - python/trunk/Lib/test/crashers/gc_inspection.py

armin.rigo python-checkins at python.org
Tue Jul 25 20:09:58 CEST 2006


Author: armin.rigo
Date: Tue Jul 25 20:09:57 2006
New Revision: 50828

Modified:
   python/trunk/Lib/test/crashers/gc_inspection.py
Log:
Document why is and is not a good way to fix the gc_inspection crasher.


Modified: python/trunk/Lib/test/crashers/gc_inspection.py
==============================================================================
--- python/trunk/Lib/test/crashers/gc_inspection.py	(original)
+++ python/trunk/Lib/test/crashers/gc_inspection.py	Tue Jul 25 20:09:57 2006
@@ -1,5 +1,20 @@
 """
 gc.get_referrers() can be used to see objects before they are fully built.
+
+Note that this is only an example.  There are many ways to crash Python
+by using gc.get_referrers(), as well as many extension modules (even
+when they are using perfectly documented patterns to build objects).
+
+Identifying and removing all places that expose to the GC a
+partially-built object is a long-term project.  A patch was proposed on
+SF specifically for this example but I consider fixing just this single
+example a bit pointless (#1517042).
+
+A fix would include a whole-scale code review, possibly with an API
+change to decouple object creation and GC registration, and according
+fixes to the documentation for extension module writers.  It's unlikely
+to happen, though.  So this is currently classified as
+"gc.get_referrers() is dangerous, use only for debugging".
 """
 
 import gc


More information about the Python-checkins mailing list