Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

[Bug]: PHP-FPM SIGABRT with SSI and AppSec enabled since 1.25.x

オープン
#4,192 コメント 5 件 リアクション 3 件 担当者 0 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

まだ誰も着手していません。

評価

難易度
4/5
見積もり時間
3〜5日
初心者へのやさしさ
42/100
issue の種類
バグ
明瞭さ
おおむね明確
活発さ
活発
技術スタック
kubernetes, php

調査の方向性

SSI、PHP tracer 1.25.1、AppSec を有効にした状態、および記載された PHP 8.5.9 環境で PHP-FPM worker の SIGABRT を再現します。安定版の 1.24.2 の設定と AppSec を無効にした 1.25.1 の設定を比較し、問題が解決されたときに PHP-FPM が正常に起動し、APM トレースと AppSec の両方が維持されることを確認します。

索引モデルが issue の本文から書いたものです。

説明

🐛 bug
Bug report

Summary

When Datadog PHP automatic instrumentation (Single Step Instrumentation / SSI) uses PHP tracer 1.25.x with AppSec enabled, PHP-FPM worker processes may abort with SIGABRT during startup or runtime. The Kubernetes pod and ArgoCD application can nevertheless remain Healthy/Running because the PHP-FPM master process remains alive and replaces the failed workers.

Disabling AppSec resolves the crash while PHP APM traces continue to be emitted.

Impact

The Kubernetes workload remains available and ArgoCD reports it as Healthy/Running. However, PHP-FPM worker processes may abort with SIGABRT, which can cause worker restarts, excessive logs, incomplete APM telemetry, and potentially intermittent request failures.

Environment

  • Kubernetes (AWS EKS)
  • Datadog Operator / DatadogAgent v2alpha1
  • Automatic instrumentation: SSI / Admission Controller
  • PHP runtime: PHP-FPM, PHP 8.5.9 NTS
  • Zend OPcache: enabled
  • Datadog Agent versions tested: 7.81.2 and 7.83.1
  • PHP tracer affected: 1.25.x
  • Datadog site: datadoghq.eu

Actual behavior

When Datadog PHP automatic instrumentation (Single Step Instrumentation / SSI) uses PHP tracer 1.25.x with AppSec enabled, PHP-FPM worker processes may abort with SIGABRT during startup or runtime. The Kubernetes pod and ArgoCD application can nevertheless remain Healthy/Running because the PHP-FPM master process remains alive and replaces the failed workers.
Observed error:

mutex.cc : RAW: Check w->waitp->cond == nullptr failed:
Mutex::Fer while waiting on Condition

The PHP-FPM process terminates with SIGABRT.

Expected behavior

PHP-FPM pods should start normally when PHP APM and AppSec are both enabled through SSI.

Investigation

The crash was reproduced with Datadog Agent 7.81.2 and 7.83.1, so it does not appear tied to the Agent version.
PHP tracer 1.24.2 was stable in the same environment.
The issue occurs with the PHP tracer 1.25.x line when AppSec is enabled.
PHP-FPM uses a master process that forks workers. We suspect an interaction between this fork model and the sidecar/AppSec communication changes introduced in tracer 1.25.0.

Confirmed workaround

The crash no longer occurs with PHP tracer 1.25.1 when AppSec is disabled through SSI:

With this configuration:

PHP-FPM pods start normally.
PHP APM traces are still produced.
AppSec is disabled for the affected PHP workloads.

Questions

Is this a known regression involving PHP tracer 1.25.x, AppSec, and PHP-FPM?
Is the Mutex::Fer while waiting on Condition SIGABRT related to sidecar/AppSec implementation or fork handling?
Is DD_APPSEC_ENABLED=false the recommended workaround?
Is there a more targeted workaround that preserves AppSec?
Is there a planned fix or version in which AppSec can safely be re-enabled for PHP-FPM?
We can provide sanitized crash logs and DatadogAgent SSI configuration through our existing Datadog Support ticket. ``````

PHP version

8.5.9 NTS

Tracer or profiler version

1.25.1

Installed extensions

dd_library_loader 1.25.1
ddtrace 1.25.1
ddappsec 1.25.1
datadog-profiling 1.25.1
Zend OPcache 8.5.9

Output of phpinfo()

No response

Upgrading from

No response

主要言語
PHP
スター
558
フォーク
190
平均マージ
2日 4時間
マージ済み PR(30日)
96

環境構築

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

DataDog/dd-trace-php のほかの issue

DataDog/dd-trace-php の issue をすべて見る

似ている issue

PHP の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。