New submission from Tomáš Jeziorský <galileo.gali...@seznam.cz>: The following code is expected to fail:
import multiprocessing def f(x): return x if __name__ == '__main__': with multiprocessing.Pool(2, maxtasksperchild=0) as pool: pool.map(f, range(3)) since it uses a wrong value of the 'maxtasksperchild' parameter. I expect it to raise a ValueError but instead it starts to fill the stderr with practically endless traceback: Process ForkPoolWorker-2: Process ForkPoolWorker-1: Traceback (most recent call last): File "/usr/lib/python3.6/multiprocessing/process.py", line 258, in _bootstrap self.run() File "/usr/lib/python3.6/multiprocessing/process.py", line 93, in run self._target(*self._args, **self._kwargs) File "/usr/lib/python3.6/multiprocessing/pool.py", line 95, in worker assert maxtasks is None or (type(maxtasks) == int and maxtasks > 0) Traceback (most recent call last): AssertionError File "/usr/lib/python3.6/multiprocessing/process.py", line 258, in _bootstrap self.run() File "/usr/lib/python3.6/multiprocessing/process.py", line 93, in run self._target(*self._args, **self._kwargs) File "/usr/lib/python3.6/multiprocessing/pool.py", line 95, in worker assert maxtasks is None or (type(maxtasks) == int and maxtasks > 0) AssertionError Process ForkPoolWorker-4: Process ForkPoolWorker-3: ... I don't think this is expected behavior. Tested with Python 3.6.9 on Ubuntu 18.04.3. ---------- messages: 360872 nosy: jeyekomon priority: normal severity: normal status: open title: multiprocessing Pool maxtasksperchild=0 raises exception with endless traceback type: behavior _______________________________________ Python tracker <rep...@bugs.python.org> <https://bugs.python.org/issue39477> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com