From 378221a786b14c4b2be83108f33ac5214dc0d151 Mon Sep 17 00:00:00 2001 From: AlejandroMorgante <62363051+AlejandroMorgante@users.noreply.github.com> Date: Wed, 24 Jun 2026 16:21:43 -0300 Subject: [PATCH] Fix Breeze SIGILL on Apple Silicon caused by OpenSSL 3.0.20 ARM crypto instructions OpenSSL 3.0.20 (shipped in the CI image rebuilt on 2026-06-22) uses aarch64 hardware crypto instructions that the Docker VM on Apple Silicon does not expose, causing a fatal SIGILL when Python imports the cryptography package during test collection. Setting OPENSSL_armcap=0x0 disables OpenSSL ARM hardware acceleration and falls back to software implementations, which resolves the crash. The variable is only injected on darwin/ARM hosts so CI (Linux) is unaffected. --- dev/breeze/src/airflow_breeze/params/shell_params.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/dev/breeze/src/airflow_breeze/params/shell_params.py b/dev/breeze/src/airflow_breeze/params/shell_params.py index f900fb079f25a..a1f595ad67c5e 100644 --- a/dev/breeze/src/airflow_breeze/params/shell_params.py +++ b/dev/breeze/src/airflow_breeze/params/shell_params.py @@ -79,7 +79,13 @@ ) from airflow_breeze.utils.console import console_print from airflow_breeze.utils.docker_command_utils import is_docker_rootless -from airflow_breeze.utils.host_info_utils import get_host_group_id, get_host_os, get_host_user_id +from airflow_breeze.utils.host_info_utils import ( + Architecture, + get_host_architecture, + get_host_group_id, + get_host_os, + get_host_user_id, +) from airflow_breeze.utils.path_utils import ( AIRFLOW_ROOT_PATH, BUILD_CACHE_PATH, @@ -690,6 +696,8 @@ def env_variables_for_docker_commands(self) -> dict[str, str]: _set_var(_env, "PROVIDERS_SKIP_CONSTRAINTS", self.providers_skip_constraints) _set_var(_env, "PYTHONDONTWRITEBYTECODE", "true") _set_var(_env, "PYTHONWARNINGS", None, None) + if get_host_os() == "darwin" and get_host_architecture()[0] == Architecture.ARM: + _set_var(_env, "OPENSSL_armcap", None, "0x0") _set_var(_env, "PYTHON_MAJOR_MINOR_VERSION", self.python) _set_var(_env, "QUIET", self.quiet) _set_var(_env, "REDIS_HOST_PORT", None, REDIS_HOST_PORT)