Thanks to visit codestin.com
Credit goes to github.com

Skip to content

fix(profiling): disable wall/cpu on some PHP 8.5 builds#3889

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

fix(profiling): disable wall/cpu on some PHP 8.5 builds#3889
morrisonlevi wants to merge 6 commits into
masterfrom
levi/disable-profiling-on-tailcall-vm

Conversation

@morrisonlevi
Copy link
Copy Markdown
Collaborator

@morrisonlevi morrisonlevi commented May 19, 2026

Description

Disables the wall- and cpu-time sample types of 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) with its wall- and cpu-time sample types, 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

🚦 6 Pipeline jobs failed

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

🔧 Fix in code (Fix with Cursor). Fail to enable dynamic instrumentation via dynamic configuration in debugger_enable_dynamic_config.phpt.

DataDog/apm-reliability/dd-trace-php | test_web_laravel_9x: [8.3, cgi-fcgi]   View in Datadog   GitLab

🔧 Fix in code (Fix with Cursor). 4 failed tests. Error: Failed asserting that 0 matches expected 1 in tests/Integrations/Laravel/AutomatedLoginEventsTestSuite.php at lines 48, 62, 78, and 112.

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. 4 failed tests: process timed out while flushing traces, incorrect client-side SHM span stats, dynamic config update failure, and enabling dynamic instrumentation via dynamic configuration all failed.

View all 6 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.04%)

Useful? React with 👍 / 👎

This comment will be updated automatically if new data arrives.
🔗 Commit SHA: 5a44a85 | 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-21 18:35:49

Comparing candidate commit 5a44a85 in PR branch levi/disable-profiling-on-tailcall-vm with baseline commit 818209f in branch master.

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

@morrisonlevi morrisonlevi force-pushed the levi/disable-profiling-on-tailcall-vm branch from 1a222c9 to 80530b1 Compare May 21, 2026 17:55
@morrisonlevi morrisonlevi changed the title fix(profiling): disable on tailcall VM on 8.5.{0..6} for upstream crash fix(profiling): disable wall/cpu on some PHP 8.5 builds May 21, 2026
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.

2 participants