You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

运行Apache Airflow SnowflakeOperator示例触发DAG报错Negsignal.SIGABRT

问题原因

这个报错是macOS系统特有的Python fork安全机制与Snowflake Python连接器2.4.1版本依赖的加密库冲突导致的。你用airflow dags test能成功是因为该命令直接在当前Shell进程中运行任务,而通过UI/dag trigger触发时,任务是由Scheduler fork出来的子进程运行,触发了安全机制的拦截。你之前配置OBJC_DISABLE_INITIALIZE_FORK_SAFETY未生效,是因为该环境变量没有被Airflow Scheduler进程读取到。

解决方案

按优先级选择以下任意一种方案即可:

  • 升级Snowflake连接器版本:直接将snowflake-connector-python升级到2.5.0及以上版本,该版本官方修复了macOS下fork场景的崩溃问题
    pip install --upgrade snowflake-connector-python>=2.5.0
    
    升级完成后重启所有Airflow进程即可。
  • 正确配置fork安全环境变量:确保OBJC_DISABLE_INITIALIZE_FORK_SAFETY=YES环境变量加载到Airflow Scheduler的运行环境中:
    1. 如果你是终端直接启动Airflow服务,启动前先在同一个终端执行以下命令,再启动Scheduler和WebServer:
    export OBJC_DISABLE_INITIALIZE_FORK_SAFETY=YES
    
    1. 如果你是用系统服务、后台脚本启动Airflow,将上述环境变量添加到服务配置的环境变量列表,或写入当前用户的~/.zshrc/~/.bash_profile中,重启终端和所有Airflow进程后生效。
  • 临时验证方案:执行命令airflow tasks run sf_example_short snowflake_cre_tbl 2021-10-11T15:01:09+00:00,如果运行成功就可以确认是环境变量未加载到Scheduler的问题,按上述第二种方案配置即可。

内容的提问来源于stack exchange,提问作者alykuna_rpa

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 00:45:03