Conversation
We sometimes find corrupt tracked_streams pointers: Crash stacktrace (abbreviated): zend_hash_str_find ← SIGSEGV here dd_php_stdiop_close_wrapper ← exec_integration.c:89 _php_stream_free zend_file_handle_dtor compile_filename dd_execute_php_file ← autoload triggered by end hook zai_sandbox_call / dd_uhook_end ← post-hook for Slim\App::__construct execute_ex / php_execute_script While the reason why this happens is not entirely clear, it's possible that the previous RSHUTDOWN was not completely executed. This can happen if there are bailouts during RSHUTDOWN. Fix: wrap the rshutdown tracked_streams iteration in zend_try/zend_catch so any bailout sets tracked_streams = NULL rather than leaving it dangling. Also guard rinit against a non-NULL tracked_streams at request startup.
e55cfa3 to
5682c31
Compare
|
✨ Fix all issues with BitsAI or with Cursor
|
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #3689 +/- ##
==========================================
- Coverage 62.18% 62.08% -0.10%
==========================================
Files 141 141
Lines 13352 13352
Branches 1746 1746
==========================================
- Hits 8303 8290 -13
- Misses 4259 4269 +10
- Partials 790 793 +3 see 3 files with indirect coverage changes Continue to review full report in Codecov by Sentry.
🚀 New features to boost your workflow:
|
Benchmarks [ tracer ]Benchmark execution time: 2026-03-04 17:32:02 Comparing candidate commit 5682c31 in PR branch Found 2 performance improvements and 1 performance regressions! Performance is the same for 191 metrics, 0 unstable metrics. scenario:BM_TeaSapiSpindown
scenario:MessagePackSerializationBench/benchMessagePackSerialization
scenario:TraceSerializationBench/benchSerializeTrace-opcache
|
We sometimes find corrupt tracked_streams pointers:
Crash stacktrace (abbreviated):
While the reason why this happens is not entirely clear, it's possible that the previous RSHUTDOWN was not completely executed. This can happen if there are bailouts during RSHUTDOWN.
Fix: wrap the rshutdown tracked_streams iteration in zend_try/zend_catch so any bailout sets tracked_streams = NULL rather than leaving it dangling. Also guard rinit against a non-NULL tracked_streams at request startup.
Reviewer checklist