Multiprocessing "Pool" aborts without any error message or return code? (Python 3.6.4, cygwin 32 bit, Windows Server 2012)
aenkaa at gmail.com
aenkaa at gmail.com
Fri Aug 10 09:35:27 EDT 2018
Please refer to:
https://docs.python.org/3.6/library/multiprocessing.html
the first example program. If I run it on Windows 10 (Python 3.6.4) or Linux Mint 18 (Python 3.5.2), it works as expected.
On Windows Server 2012, however, I get no (none!) output, no matter if I run with admin rights or not:
adminnkj at DTDKCPHAS1060 ~
$ python3 -V
Python 3.6.4
adminnkj at DTDKCPHAS1060 ~
$ cat test.py
from multiprocessing import Pool
def f(x):
return x*x
if __name__ == '__main__':
p = Pool(5)
print(p.map(f, [1, 2, 3]))
adminnkj at DTDKCPHAS1060 ~
$ python3 test.py
---> NB: no output <---
adminnkj at DTDKCPHAS1060 ~
$ echo $?
0
---> NB: Normal exit code <---
I am a bit lost, running with -v -vv or -vvv does not help me much (here are the last lines of the latter):
(cut)
import 'multiprocessing.connection' # <_frozen_importlib_external.SourceFileLoader object at 0xffc913f0>
import 'multiprocessing.queues' # <_frozen_importlib_external.SourceFileLoader object at 0xffc7ab10>
# trying /usr/lib/python3.6/multiprocessing/synchronize.cpython-36m-i386-cygwin.dll
# trying /usr/lib/python3.6/multiprocessing/synchronize.abi3.dll
# trying /usr/lib/python3.6/multiprocessing/synchronize.dll
# trying /usr/lib/python3.6/multiprocessing/synchronize.py
# /usr/lib/python3.6/multiprocessing/__pycache__/synchronize.cpython-36.pyc matches /usr/lib/python3.6/multiprocessing/synchronize.py
# code object from '/usr/lib/python3.6/multiprocessing/__pycache__/synchronize.cpython-36.pyc'
import 'multiprocessing.synchronize' # <_frozen_importlib_external.SourceFileLoader object at 0xffc91af0>
# trying /usr/lib/python3.6/multiprocessing/popen_fork.cpython-36m-i386-cygwin.dll
# trying /usr/lib/python3.6/multiprocessing/popen_fork.abi3.dll
# trying /usr/lib/python3.6/multiprocessing/popen_fork.dll
# trying /usr/lib/python3.6/multiprocessing/popen_fork.py
# /usr/lib/python3.6/multiprocessing/__pycache__/popen_fork.cpython-36.pyc matches /usr/lib/python3.6/multiprocessing/popen_fork.py
# code object from '/usr/lib/python3.6/multiprocessing/__pycache__/popen_fork.cpython-36.pyc'
import 'multiprocessing.popen_fork' # <_frozen_importlib_external.SourceFileLoader object at 0xffc57190>
then it exits with no further output.
Best regards,
Niels Kristian Jensen (from Denmark)
More information about the Python-list
mailing list