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.

classification
Title: concurrent.futures.ProcessPoolExecutor is unable to forward exceptions with state.
Type: behavior Stage:
Components: Library (Lib) Versions: Python 3.9
process
Status: open Resolution:
Dependencies: Superseder:
Assigned To: Nosy List: damien.levac
Priority: normal Keywords:

Created on 2020-12-28 16:37 by damien.levac, last changed 2022-04-11 14:59 by admin.

Files
File name Uploaded Description Edit
repro.py damien.levac, 2020-12-28 16:37 Minimal code example which illustrate the bug.
Messages (1)
msg383903 - (view) Author: Damien Levac (damien.levac) * Date: 2020-12-28 16:37
When running tasks on a `ProcessPoolExecutor`, exceptions raised by the dispatched function should be pickled and accessible to the parent process through the `Future.exception` method.

On Python 3.9.1 (Linux ryzen3950x 5.4.0-58-generic #64-Ubuntu SMP Wed Dec 9 08:16:25 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux) the behavior works with exceptions which are stateless but not if they hold state.

I suspect it is related to the multiprocessing/pickle bug mentioned in the release notes to 3.9.1 but I didn't dig much deeper.

Let me know if I can assist in any way or if any pertinent information is missing: it is my first time reporting a bug here :)

Thank you for your hard work!
History
Date User Action Args
2022-04-11 14:59:39adminsetgithub: 86935
2020-12-28 16:37:04damien.levaccreate