[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