[issue13831] get method of multiprocessing.pool.Async should return full traceback
Richard Oudkerk
report at bugs.python.org
Thu May 2 17:48:12 CEST 2013
Richard Oudkerk added the comment:
Attached is a patch for 3.4 which uses the __cause__ hack to embed the remote traceback in the local traceback. It will not work for 2.x though.
>>> import multiprocessing, subprocess
>>> with multiprocessing.Pool() as p: p.apply(subprocess.Popen, (1,))
...
multiprocessing.pool.RemoteTraceback:
"""
Traceback (most recent call last):
File "/home/oudkerk/Repos/py-default/Lib/multiprocessing/pool.py", line 114, in worker
result = (True, func(*args, **kwds))
File "/home/oudkerk/Repos/py-default/Lib/subprocess.py", line 838, in __init__
restore_signals, start_new_session)
File "/home/oudkerk/Repos/py-default/Lib/subprocess.py", line 1317, in _execute_child
args = list(args)
TypeError: 'int' object is not iterable
"""
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/home/oudkerk/Repos/py-default/Lib/multiprocessing/pool.py", line 245, in apply
return self.apply_async(func, args, kwds).get()
File "/home/oudkerk/Repos/py-default/Lib/multiprocessing/pool.py", line 588, in get
raise self._value
TypeError: 'int' object is not iterable
----------
keywords: +patch
Added file: http://bugs.python.org/file30109/pool-traceback.patch
_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue13831>
_______________________________________
More information about the Python-bugs-list
mailing list