I see the same in Python 3.10 on windows 10.
If I change the relative imports to absolute imports in a couple of functions in multiprocessing.context as below, the attached (pool_error_on_3.9.py) script not longer raises the exception.
def SimpleQueue(self):
'''Returns a queue object'''
from multiprocessing.queues import SimpleQueue
return SimpleQueue(ctx=self.get_context())
def Pool(self, processes=None, initializer=None, initargs=(),
maxtasksperchild=None):
'''Returns a process pool object'''
from multiprocessing.pool import Pool
return Pool(processes, initializer, initargs, maxtasksperchild,
context=self.get_context())