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 gdb
Recipients gdb, jnoller
Date 2010-07-10.16:14:38
SpamBayes Score 0.00209274
Marked as misclassified No
Message-id <>
Cool, thanks.  I'll note that with this patch applied, using the test program from 9207 I consistently get the following exception:
Exception in thread Thread-1 (most likely raised during interpreter shutdown):
Traceback (most recent call last):
  File "/usr/lib/python2.6/", line 532, in __bootstrap_inner
  File "/usr/lib/python2.6/", line 484, in run
  File "/home/gdb/repositories/multiprocessing/", line 312, in _handle_workers
  File "/home/gdb/repositories/multiprocessing/", line 190, in _maintain_pool
  File "/home/gdb/repositories/multiprocessing/", line 158, in _join_exited_workers
<type 'exceptions.TypeError'>: 'NoneType' object is not callable

This is line 148 in the unpatched source, namely the 'reversed(range(len(self._pool)))' line of _join_exited_workers.  Looks like the same issue, where instead reversed/range/len have been set to None.

So I think by changing how much time the worker_handler spends in various functions, I've made it possible (or just more likely?) that if we lose the race with interpreter shutdown the worker_handler will be in the middle of _join_exited_workers.  This may mean that someone should keep around a local reference to reversed/range/len... not sure if there's a better solution.
Date User Action Args
2010-07-10 16:14:43gdbsetrecipients: + gdb, jnoller
2010-07-10 16:14:43gdbsetmessageid: <>
2010-07-10 16:14:39gdblinkissue9205 messages
2010-07-10 16:14:38gdbcreate