This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author pitrou
Recipients pitrou
Date 2009-10-11.17:29:18
SpamBayes Score 0.000136253
Marked as misclassified No
Message-id <1255282166.4.0.13882602695.issue7105@psf.upfronthosting.co.za>
In-reply-to
Content
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.
History
Date User Action Args
2009-10-11 17:29:26pitrousetrecipients: + pitrou
2009-10-11 17:29:26pitrousetmessageid: <1255282166.4.0.13882602695.issue7105@psf.upfronthosting.co.za>
2009-10-11 17:29:21pitroulinkissue7105 messages
2009-10-11 17:29:20pitroucreate