[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