[issue23051] multiprocessing.pool methods imap()[_unordered()] deadlock

Gregory Szorc report at bugs.python.org
Mon Aug 10 22:02:30 CEST 2015


Gregory Szorc added the comment:

For posterity, I think we ran into a similar problem in https://bugzilla.mozilla.org/show_bug.cgi?id=1191877, where our code uses apply_async():

11:09:47     INFO -  Exception in thread Thread-2:
11:09:47     INFO -  Traceback (most recent call last):
11:09:47     INFO -    File "/tools/python/lib/python2.7/threading.py", line 551, in __bootstrap_inner
11:09:47     INFO -      self.run()
11:09:47     INFO -    File "/tools/python/lib/python2.7/threading.py", line 504, in run
11:09:47     INFO -      self.__target(*self.__args, **self.__kwargs)
11:09:47     INFO -    File "/tools/python/lib/python2.7/multiprocessing/pool.py", line 319, in _handle_tasks
11:09:47     INFO -      put(task)
11:09:47     INFO -  RuntimeError: dictionary changed size during iteration

This resulted in deadlock, just like this issue.

The added try..except around the iteration of taskseq likely fixes this as well.

----------
nosy: +Gregory.Szorc

_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue23051>
_______________________________________


More information about the Python-bugs-list mailing list