diff --git a/python/monarch/_src/actor/bootstrap_main.py b/python/monarch/_src/actor/bootstrap_main.py index b94a8a96..053aa4bb 100644 --- a/python/monarch/_src/actor/bootstrap_main.py +++ b/python/monarch/_src/actor/bootstrap_main.py @@ -11,6 +11,7 @@ import asyncio import importlib.resources import logging +import multiprocessing import os import sys @@ -63,4 +64,7 @@ def invoke_main(): if __name__ == "__main__": + # Ensure that processes started via `multiprocessing` are spawned, not forked. + # forking is a terrible default, see: https://github.com/python/cpython/issues/84559 + multiprocessing.set_start_method("spawn", force=True) invoke_main() # pragma: no cover