[New-bugs-announce] [issue39190] _result_handler dies on raised exceptions [multiprocessing]

Sindri Guðmundsson report at bugs.python.org
Thu Jan 2 07:26:53 EST 2020

New submission from Sindri Guðmundsson <sindrigudmundsson at gmail.com>:

Raising an Exception in a callback handler of apply_async and/or map_async will kill the _result_handler thread. This causes unexpected behavior as all subsequent callbacks won't be called and worse, pool.join will deadlock.

The documentation states that callbacks should return immediately but it does not warn the user against raising an exception.

Attached are steps to reproduce.

components: Library (Lib)
files: test_pool_error.py
messages: 359194
nosy: Sindri Guðmundsson
priority: normal
severity: normal
status: open
title: _result_handler dies on raised exceptions [multiprocessing]
type: behavior
versions: Python 2.7, Python 3.5, Python 3.6, Python 3.7, Python 3.8, Python 3.9
Added file: https://bugs.python.org/file48818/test_pool_error.py

Python tracker <report at bugs.python.org>

More information about the New-bugs-announce mailing list