By strategically adding print() and input() calls, I was able to isolate the error to this line in test_multiprocessing.py's test_main:
ManagerMixin.pool = ManagerMixin.manager.Pool(4)
specifically, to the construction:
ManagerMixin.manager.Pool(4)
Minimal reproducer seems to be:
>>> import multiprocessing.managers
>>> mpp = multiprocessing.Pool(4)
>>> sm = multiprocessing.managers.SyncManager()
>>> sm.start()
i.e.:
$ ./python -c "import multiprocessing.managers ; mpp = multiprocessing.Pool(4); sm = multiprocessing.managers.SyncManager(); sm.start()"
Fatal Python error: Invalid thread state for this thread |