Antoine Pitrou <pit...@free.fr> added the comment: It was a bad idea to revert the change, because we may now forget about the problem rather than fix it.
It is likely that the "dictionary changed size during iteration" occurs because a GC collection gets triggered during the iteration on the weakdict. A GC collection can destroy some objects in that case because keeping an exception around (which the unittest change does) usually creates reference cycles through the frame's locals. It seems that WeakValueDictionary.items() isn't very robust in py3k ;) We probably need to add list-returning variants, e.g. a listitems() method (and, probably, listkeys() and listvalues() too)? ---------- nosy: +benjamin.peterson, pitrou _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue7060> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com