zeff-ir · GitHub

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

Read the original on github.com ↗