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