You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airflow.apache.org by "kaxil (via GitHub)" <gi...@apache.org> on 2026/07/01 11:17:17 UTC

Re: [PR] Fix macOS SIGSEGV in triggerer and Dag processor via fork+exec [airflow]

kaxil commented on code in PR #69008:
URL: https://github.com/apache/airflow/pull/69008#discussion_r3505396013


##########
airflow-core/src/airflow/jobs/triggerer_job_runner.py:
##########
@@ -539,7 +540,17 @@ def start(  # type: ignore[override]
         **kwargs,
     ):
         proc_id = job.id if job is not None else uuid4()
-        proc = super().start(id=proc_id, job=job, target=cls.run_in_process, logger=logger, **kwargs)
+        # Triggers run user code that polls APIs / watches queues / hits HTTP
+        # endpoints -- almost always network calls that trigger macOS-unsafe ObjC
+        # initialization. Fork+exec a clean interpreter for the runner child.
+        proc = super().start(
+            id=proc_id,
+            job=job,
+            target=cls.run_in_process,
+            logger=logger,
+            use_exec=supervisor._should_use_exec(),

Review Comment:
   `CallbackSubprocess` relies on `os.fork` for some reason. Let me merge this and figure than out in a follow-up



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@airflow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org