Bug report
Bug description:
The DummyProcess.__init__ method in multiprocessing.dummy uses a mutable default argument for kwargs:
def __init__(self, group=None, target=None, name=None, args=(), kwargs={}):
This can lead to unexpected behavior if the same dictionary is modified between calls.
Other threading-based classes like threading.Thread and threading.Timer already use None as the default and initialize a new dict inside the constructor.
CPython versions tested on:
CPython main branch, 3.13, 3.14, 3.15
Operating systems tested on:
Linux
Linked PRs
Bug report
Bug description:
The
DummyProcess.__init__method inmultiprocessing.dummyuses a mutable default argument forkwargs:This can lead to unexpected behavior if the same dictionary is modified between calls.
Other threading-based classes like
threading.Threadandthreading.Timeralready useNoneas the default and initialize a new dict inside the constructor.CPython versions tested on:
CPython main branch, 3.13, 3.14, 3.15
Operating systems tested on:
Linux
Linked PRs