Skip to content

fix(profiling): disable on tailcall VM on 8.5.{0..6} for upstream crash#3889

Draft
morrisonlevi wants to merge 2 commits into
masterfrom
levi/disable-profiling-on-tailcall-vm
Draft

fix(profiling): disable on tailcall VM on 8.5.{0..6} for upstream crash#3889
morrisonlevi wants to merge 2 commits into
masterfrom
levi/disable-profiling-on-tailcall-vm

Conversation

@morrisonlevi
Copy link
Copy Markdown
Collaborator

Description

Disables the profiler on PHP 8.5.0 through 8.5.6 (inclusive) so it doesn't trigger the tailcall VM vm_interrupt crash fixed in the upcoming PHP 8.5.7 release.

Technically, anything which sets the vm_interrupt can trigger this crash, such the tracer and even PHP itself with its timeout limit. However, the profiler sets it all the time (roughly every 10 ms) so it is the most common trigger.

Affected customers:

  • PHP 8.5.0-8.5.6
  • Must be using the tailcall VM type, which is new in PHP 8.5.

You can check your PHP version and VM kind with:

php -r 'echo PHP_VERSION, "\n", (defined("ZEND_VM_KIND") ? ZEND_VM_KIND : "undef"), "\n";'

Reviewer checklist

  • Test coverage seems ok.
  • Appropriate labels assigned.

@datadog-prod-us1-3
Copy link
Copy Markdown

datadog-prod-us1-3 Bot commented May 19, 2026

Pipelines  Tests

Fix all issues with BitsAI

⚠️ Warnings

🚦 4 Pipeline jobs failed

DataDog/apm-reliability/dd-trace-php | test_integration: [8.5]   View in Datadog   GitLab

🔧 Fix in code (Fix with Cursor). 1 failed test due to assertion error: Expected '3' but got '4' at /go/src/github.com/DataDog/apm-reliability/dd-trace-php/tests/Integration/LongRunning/LongRunningScriptTest.php:31

DataDog/apm-reliability/dd-trace-php | test_extension_ci: [8.0]   View in Datadog   GitLab

🔄 Retry job. This looks flaky and may succeed on retry. 3 failed tests due to process timeout and uncaught exceptions in dynamic config and span link serialization.

DataDog/apm-reliability/dd-trace-php | test_extension_ci: [8.3]   View in Datadog   GitLab

🔄 Retry job. This looks flaky and may succeed on retry. Timeout during flush traces and connection to request-replayer service failed.

View all 4 failed jobs.

ℹ️ Info

No other issues found (see more)

🧪 All tests passed
❄️ No new flaky tests detected

🎯 Code Coverage (details)
Patch Coverage: 100.00%
Overall Coverage: 60.70% (-0.05%)

Useful? React with 👍 / 👎

This comment will be updated automatically if new data arrives.
🔗 Commit SHA: 1a222c9 | Docs | Datadog PR Page | Give us feedback!

@pr-commenter
Copy link
Copy Markdown

pr-commenter Bot commented May 20, 2026

Benchmarks [ profiler ]

Benchmark execution time: 2026-05-20 00:06:48

Comparing candidate commit 1a222c9 in PR branch levi/disable-profiling-on-tailcall-vm with baseline commit 607d17a in branch master.

Found 0 performance improvements and 0 performance regressions! Performance is the same for 29 metrics, 7 unstable metrics.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant