本地所有Airflow任务失败,报错Negsignal.SIGABRT求助
Airflow所有任务执行失败,返回Negsignal.SIGABRT错误
问题现象
所有Airflow任务执行都会失败,报错返回Negsignal.SIGABRT。最初以为是特定任务问题,但即使是本地文件上传S3这类简单任务也会失败。
报错日志
[2024-04-03, 15:26:57 PDT] {taskinstance.py:1103} INFO - Dependencies all met for dep_context=non-requeueable deps ti=<TaskInstance: local_to_s3_dag.local_to_s3_task manual__2024-04-03T22:26:53.513679+00:00 [queued]> [2024-04-03, 15:26:57 PDT] {taskinstance.py:1103} INFO - Dependencies all met for dep_context=requeueable deps ti=<TaskInstance: local_to_s3_dag.local_to_s3_task manual__2024-04-03T22:26:53.513679+00:00 [queued]> [2024-04-03, 15:26:57 PDT] {taskinstance.py:1308} INFO - Starting attempt 1 of 1 [2024-04-03, 15:26:57 PDT] {taskinstance.py:1327} INFO - Executing <Task(PythonOperator): local_to_s3_task> on 2024-04-03 22:26:53.513679+00:00 [2024-04-03, 15:26:57 PDT] {standard_task_runner.py:57} INFO - Started process 9751 to run task [2024-04-03, 15:26:57 PDT] {standard_task_runner.py:84} INFO - Running: ['airflow', 'tasks', 'run', 'local_to_s3_dag', 'local_to_s3_task', 'manual__2024-04-03T22:26:53.513679+00:00', '--job-id', '3', '--raw', '--subdir', 'DAGS_FOLDER/local_to_s3_dag.py', '--cfg-path', '/var/folders/z7/50r70c7n2klfyy8qsv4fs97c0000gn/T/tmpbtxeqy6d'] [2024-04-03, 15:26:57 PDT] {standard_task_runner.py:85} INFO - Job 3: Subtask local_to_s3_task [2024-04-03, 15:26:57 PDT] {task_command.py:410} INFO - Running <TaskInstance: local_to_s3_dag.local_to_s3_task manual__2024-04-03T22:26:53.513679+00:00 [running]> on host nicholass-macbook-pro-2.local [2024-04-03, 15:26:57 PDT] {taskinstance.py:1545} INFO - Exporting env vars: AIRFLOW_CTX_DAG_OWNER='NAME' AIRFLOW_CTX_DAG_ID='local_to_s3_dag' AIRFLOW_CTX_TASK_ID='local_to_s3_task' AIRFLOW_CTX_EXECUTION_DATE='2024-04-03T22:26:53.513679+00:00' AIRFLOW_CTX_TRY_NUMBER='1' AIRFLOW_CTX_DAG_RUN_ID='manual__2024-04-03T22:26:53.513679+00:00' [2024-04-03, 15:26:57 PDT] {logging_mixin.py:149} INFO - Got all filenames [2024-04-03, 15:26:57 PDT] {local_task_job_runner.py:225} INFO - Task exited with return code Negsignal.SIGABRT [2024-04-03, 15:26:57 PDT] {taskinstance.py:2653} INFO - 0 downstream tasks scheduled from follow-on schedule check
测试用DAG代码
from datetime import datetime from airflow import DAG from pytz import timezone from airflow.operators.python import PythonOperator import boto3 # from airflow.providers.amazon.aws.transfers.local_to_s3 import LocalToS3Operator def upload_file_to_s3(filename, bucket_name, s3_key): s3 = boto3.client('s3') s3.upload_file(filename, bucket_name, s3_key) print(f"File {filename} uploaded to S3 bucket {bucket_name} with key {s3_key}") def upload_file_to_s3_task(**kwargs): filename = kwargs.get('filename') bucket_name = kwargs.get('bucket_name') s3_key = kwargs.get('s3_key') print('Got all filenames') upload_file_to_s3(filename, bucket_name, s3_key) pst = timezone('US/Pacific') default_args = { 'owner': 'Name', 'start_date': datetime(2024, 1, 29, 8, 53, tzinfo=pst), 'end_date': datetime(2025, 1, 31, 8, 54, tzinfo=pst) } with DAG(dag_id="local_to_s3_dag", default_args=default_args, description="Takes local CSV and moves to S3 bucket", schedule="@weekly") as dag: upload_task = PythonOperator( task_id='local_to_s3_task', python_callable=upload_file_to_s3_task, op_kwargs={ 'filename': '/Users/myuser/Desktop/filepath', 'bucket_name': 'bucket', 's3_key': 'data.csv' } ) upload_task
已尝试的排查步骤
- 卸载重装Airflow
- 更新所有相关依赖库
- 更换不同的DAG测试
排查建议
- 检查Python环境冲突:SIGABRT通常和底层C扩展崩溃有关,可能是Airflow依赖的库(如boto3、pandas等)和系统Python环境存在版本冲突。建议使用虚拟环境隔离,重新搭建干净的Airflow环境,只安装必要依赖。
- 验证系统权限:检查Airflow运行用户是否有足够权限访问本地文件、S3资源,以及Airflow工作目录的读写权限。特别是macOS系统下,可能存在隐私权限限制(比如访问桌面文件夹需要授权)。
- 查看系统级日志:除了Airflow日志,检查系统日志(macOS可通过控制台.app查看),看是否有进程崩溃的详细信息,定位是哪个库或组件导致的SIGABRT。
- 简化测试任务:先写一个完全空的PythonOperator任务(只打印一句话,不做任何其他操作),看是否还会崩溃。如果空任务也崩溃,说明问题出在Airflow本身或系统环境;如果空任务正常,再逐步添加逻辑排查。
- 检查Airflow配置:确认
airflow.cfg中的executor配置(比如是否用了LocalExecutor),以及task_runner设置,尝试切换不同的任务运行器测试。
内容的提问来源于stack exchange,提问作者Nicholas Miller
相关产品推荐
相关产品推荐

