New submission from Antoine Pitrou <pit...@free.fr>: As mentioned in issue7060, weak dict iterators are easily broken by cyclic garbage collection changing the size of the underlying dict storage:
File "/home/rdmurray/python/py3k/Lib/weakref.py", line 121, in items for wr in self.data.values(): RuntimeError: dictionary changed size during iteration One possible solution is to delay all removals until all iterators are done. Here is a context manager-based solution. ---------- components: Library (Lib) files: weakiter.patch keywords: patch messages: 93863 nosy: pitrou priority: normal severity: normal stage: patch review status: open title: weak dict iterators are fragile because of unpredictable GC runs type: behavior versions: Python 3.1, Python 3.2 Added file: http://bugs.python.org/file15103/weakiter.patch _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue7105> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com