[New-bugs-announce] [issue17874] ProcessPoolExecutor in interactive shell doesn't work in Windows
Theodore Randolph
report at bugs.python.org
Tue Apr 30 05:16:37 CEST 2013
New submission from Theodore Randolph:
ProcessPoolExecutor doesn't work in an interactive shell in Windows, such as IDLE or the command prompt. It does work in Unix, and it works if I use the ThreadPoolExecutor instead.
For example, let's use the tutorial at http://eli.thegreenplace.net/2013/01/16/python-paralellizing-cpu-bound-tasks-with-concurrent-futures/
I get:
>>> pool_factorizer_chunked([1,2,3,456,7,8],8)
Exception in thread Thread-1:
Traceback (most recent call last):
File "C:\Python33\lib\threading.py", line 639, in _bootstrap_inner
self.run()
File "C:\Python33\lib\threading.py", line 596, in run
self._target(*self._args, **self._kwargs)
File "C:\Python33\lib\concurrent\futures\process.py", line 248, in _queue_management_worker
shutdown_worker()
File "C:\Python33\lib\concurrent\futures\process.py", line 208, in shutdown_worker
call_queue.put_nowait(None)
File "C:\Python33\lib\multiprocessing\queues.py", line 132, in put_nowait
return self.put(obj, False)
File "C:\Python33\lib\multiprocessing\queues.py", line 79, in put
raise Full
queue.Full
Traceback (most recent call last):
File "<pyshell#10>", line 1, in <module>
pool_factorizer_chunked([1,2,3,456,7,8],8)
File "<pyshell#5>", line 14, in pool_factorizer_chunked
resultdict.update(f.result())
File "C:\Python33\lib\concurrent\futures\_base.py", line 392, in result
return self.__get_result()
File "C:\Python33\lib\concurrent\futures\_base.py", line 351, in __get_result
raise self._exception
concurrent.futures.process.BrokenProcessPool: A process in the process pool was terminated abruptly while the future was running or pending.
>>> pool_factorizer_map([1,2,3,456,7,8],8)
Exception in thread Thread-2:
Traceback (most recent call last):
File "C:\Python33\lib\threading.py", line 639, in _bootstrap_inner
self.run()
File "C:\Python33\lib\threading.py", line 596, in run
self._target(*self._args, **self._kwargs)
File "C:\Python33\lib\concurrent\futures\process.py", line 248, in _queue_management_worker
shutdown_worker()
File "C:\Python33\lib\concurrent\futures\process.py", line 208, in shutdown_worker
call_queue.put_nowait(None)
File "C:\Python33\lib\multiprocessing\queues.py", line 132, in put_nowait
return self.put(obj, False)
File "C:\Python33\lib\multiprocessing\queues.py", line 79, in put
raise Full
queue.Full
Traceback (most recent call last):
File "<pyshell#13>", line 1, in <module>
pool_factorizer_map([1,2,3,456,7,8],8)
File "<pyshell#12>", line 6, in pool_factorizer_map
executor.map(factorize_naive, nums))}
File "<pyshell#12>", line 4, in <dictcomp>
return {num:factors for num, factors in
File "C:\Python33\lib\concurrent\futures\_base.py", line 546, in result_iterator
yield future.result()
File "C:\Python33\lib\concurrent\futures\_base.py", line 399, in result
return self.__get_result()
File "C:\Python33\lib\concurrent\futures\_base.py", line 351, in __get_result
raise self._exception
concurrent.futures.process.BrokenProcessPool: A process in the process pool was terminated abruptly while the future was running or pending.
>>>
----------
components: Windows
messages: 188122
nosy: Decade
priority: normal
severity: normal
status: open
title: ProcessPoolExecutor in interactive shell doesn't work in Windows
type: crash
versions: Python 3.3
_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue17874>
_______________________________________
More information about the New-bugs-announce
mailing list