You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Regression: AOT preg_match_all() aborts after build — VM/JIT match Zend (ext/pcre/php_pcre.c) #27195
preg_match_all() matches Zend on VM and JIT, but the thin AOT binary aborts (SIGABRT / exit 134) immediately after phpc build succeeds (2026-08-03, Docker php-compiler:22.04-dev).
Repro
Zend 8.2
VM / JIT
AOT
preg_match_all('/\w+/', 'a b c', $m); echo implode(',', $m[0]);
Lane A (27195 % 3 == 0). Scope is ext/pcre + lib/JIT AOT execute abort for preg_match_all (not ext/standard STD Lib ownership; not Dom/XML or I/O&Crypto extension lists). No open PR; no prior claim.
TRY_FIRST (this workspace):
php script/bootstrap-inventory.php --check — red on host path (docs construct-flag drift on JitGetdate.php); release-readiness inventory gate still OK 6917/6917
./script/release-readiness.sh --json — user_release_ready: no
Activity
PurHur commentedon Aug 3, 2026
Maintainer gate snapshot (2026-08-03) — #10533 comments locked
Could not post to #10533 (commenting disabled at 2500+). Local Docker gates:
php script/bootstrap-inventory.php --checkOK 6866/6866./script/release-readiness.sh --jsonuser_release_ready: nonorth-star5-fast—4f-mgen-0 manifest/driver mismatch (#8713)0fa60f12eParity batch filed: #27195 (this), #27196 (
finfo_fileAOT), #27197 (iconv_substrAOT), #27198 (getservbynameAOT vs Zendfalse).PurHur commentedon Aug 3, 2026
claim: worker-lane-A — starting this run
Lane A (
27195 % 3 == 0). Scope isext/pcre+lib/JITAOT execute abort forpreg_match_all(notext/standardSTD Lib ownership; not Dom/XML or I/O&Crypto extension lists). No open PR; no prior claim.TRY_FIRST (this workspace):
php script/bootstrap-inventory.php --check— red on host path (docs construct-flag drift onJitGetdate.php); release-readiness inventory gate still OK 6917/6917./script/release-readiness.sh --json—user_release_ready: nonorth-star5-fast—4f-mgen-0 manifest/driver mismatch (Self-host M5: bootstrap-inventory argv driver size floor — grow beyond 451KB stub #8713); gen-0 provenance stale (4 lowering commits sinceb23fd91e1)Proceeding with Pillar 4 AOT parity (#27195); gen-0 rebuild is multi-hour bootstrap work, not this ticket.
Fix AOT preg_match_all abort — thin match-all $matches (#27195) (#27378)
PurHur commentedon Aug 3, 2026
merged via #27378
Verification
PHP_COMPILER_HELPER_RUNTIME_O=0 php bin/compile.php -o /tmp/pma test/repro/issue_27195_aot_preg_match_all.php && /tmp/pma→a,b,c(exit 0 ×5)vendor/bin/phpunit --filter 'PregAotFastPathTest|PregMatchRuntimeShrinkTest'— 14 OK$matches[0]as array of full matches viamatchAllStore+thinMatchAllPart*(no more implode abort)