]> granicus.if.org Git - python/commitdiff
Document why is and is not a good way to fix the gc_inspection crasher.
authorArmin Rigo <arigo@tunes.org>
Tue, 25 Jul 2006 18:09:57 +0000 (18:09 +0000)
committerArmin Rigo <arigo@tunes.org>
Tue, 25 Jul 2006 18:09:57 +0000 (18:09 +0000)
Lib/test/crashers/gc_inspection.py

index b439ad97a74956b69031386132f9150d3186afcb..10caa797825728036c72b1ff203a683a9f6d7607 100644 (file)
@@ -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