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
Release v1.1.0: examples 000–009 AOT smoke green #9225
Shipped examples examples/000-HelloWorld … examples/009-FastCGIWeb must AOT-build and execute via script/examples-aot-smoke.sh. Gate is red on master today — blocks v1.1.0 tag (#9224 release-readiness).
php-src reference
N/A (integration gate). Failures usually map to stdlib/language parity — file follow-ups instead of patching smoke script only.
Repro
./script/docker-exec.sh -- bash -lc './script/examples-aot-smoke.sh'# or per-slice while iterating:
./script/docker-exec.sh -- bash -lc 'EXAMPLES_AOT_SMOKE_ONLY=000 ./script/examples-aot-smoke.sh'
Unclaiming: scope is full examples AOT matrix; 003-MiniWebApp hits segfault (exit 139) on phpc build --project — too broad for this run. Switching to continue open PR #9168 (Fiber resume return, lane A).
Observed TypeReconstructor fatal in vendor/ircmaxell/php-types/lib/PHPTypes/Type.php:403 during AOT compile path (ProgressNoteRuntime JIT helper). Script may exit 0 on skip paths — treat as red until full smoke green inside docker-exec with patches green (#9930).
Fixes in this batch: undefined/scalar-dim bridges no longer nested-compile corrupt PHP helpers; standalone ObGzhandler passthrough; scope-var flag guard; JitVmHelperLink isolation.
Next: triage orphan `alloca %value` during HelloWorld main CFG compile (likely mid-compile runtime init without insert-block restore). Full `./script/examples-aot-smoke.sh` blocked until 000 AOT verify passes.
Lane A continuation (2026-06-21): Pushed 3104e2e to PR #10455 — BasicBlockHelper::entryAllocaForFunction now appends an entry BB when the target function has zero blocks, and clears the builder insert position when there is no restore block.
Next: bisect which standalone runtime implement() during Type::initialize() leaves a parentless alloca %__value__ (likely JitValueBox::alloc mid-init without active insert block). PR remains WIP on #9225.
Activity
PurHur commentedon Jun 17, 2026
claim: worker-lane-a — starting this run
PurHur commentedon Jun 17, 2026
Handoff: 000/001/002/004 AOT smoke already green. 003 manifest gap fixed by adding config.php to includes[] (separate PR). 003/006 project AOT still segfault at link/execute (exit 139) — needs compiler/AOT triage beyond examples config.
PurHur commentedon Jun 18, 2026
claim: cursor-agent-lane-a — starting this run
PurHur commentedon Jun 18, 2026
Unclaiming: scope is full examples AOT matrix; 003-MiniWebApp hits segfault (exit 139) on
phpc build --project— too broad for this run. Switching to continue open PR #9168 (Fiber resume return, lane A).PurHur commentedon Jun 18, 2026
claim: cursor-agent-lane-a — continuing examples AOT smoke failures (005/007/009)
Fix ?? assign before header() suppressing CGI output (#9225). (#9719)
PurHur commentedon Jun 18, 2026
Merged via #9719 —
009-FastCGIWebAOT smoke health probe green; addedcoalesce_server_header_echo.phptguard.PurHur commentedon Jun 19, 2026
Reopened by release manager 2026-06-19 — premature close; full gate not verified on current
master.Harness probe after partial
apply-patches(patch failure tolerated):./script/docker-exec.sh -- bash -lc './script/examples-aot-smoke.sh'Observed
TypeReconstructorfatal invendor/ircmaxell/php-types/lib/PHPTypes/Type.php:403during AOT compile path (ProgressNoteRuntime JIT helper). Script may exit 0 on skip paths — treat as red until full smoke green inside docker-exec with patches green (#9930).Blocks v1.1.0 alongside release-readiness patch gate.
PurHur commentedon Jun 19, 2026
Correction: patch blocker is #9931 (not #9930).
PurHur commentedon Jun 20, 2026
Release manager note (2026-06-20): Still on v1.1.0 critical path (#78). Quick gates now reach JSON (#9931 closed); spine (#10367) and inventory doc (#10368) block readiness presenter before AOT smoke is re-verified.
Done when (unchanged):
./script/examples-aot-smoke.shgreen inside./script/docker-exec.shGate after spine fix:
./script/docker-exec.sh -- bash -lc './script/examples-aot-smoke.sh'PurHur commentedon Jun 20, 2026
claim: cursor-agent-lane-a — fixing AOT module verify failure in __phpc_parse_url_assoc (strlen on string* blocks examples smoke)
7 remaining items
PurHur commentedon Jun 21, 2026
claim: cursor-agent-lane-b — bootstrap fallback (ObGzhandler JIT scope fix + bootstrap-loop-probe red gate)
PurHur commentedon Jun 21, 2026
claim: cursor-agent-lane-a — continuing PR #10455 (UndefinedVariableJitHelper / full examples AOT smoke gate)
Fix AOT LLVM verify blockers after ObGzhandler scope fix (#9225)
PurHur commentedon Jun 21, 2026
Progress (lane A, run 2026-06-21): Pushed f60aa50 to PR #10455 — substantial LLVM verify cleanup after ObGzhandler scope fix.
Green:
```bash
./script/docker-exec.sh -- bash -lc 'php vendor/bin/phpunit test/unit/JIT/ObGzhandlerJitRuntimeStandaloneTest.php'
```
Remaining blocker (not merge-ready):
```bash
./script/docker-exec.sh -- bash -lc 'source script/php-env.sh && php bin/compile.php examples/000-HelloWorld/example.php -o /tmp/hello'
Module verification failed: orphan alloca %value + badref gep (parentless instruction)
```
Fixes in this batch: undefined/scalar-dim bridges no longer nested-compile corrupt PHP helpers; standalone ObGzhandler passthrough; scope-var flag guard; JitVmHelperLink isolation.
Next: triage orphan `alloca %value` during HelloWorld main CFG compile (likely mid-compile runtime init without insert-block restore). Full `./script/examples-aot-smoke.sh` blocked until 000 AOT verify passes.
Harden entryAlloca when target LLVM function has no entry block yet (#…
PurHur commentedon Jun 21, 2026
Lane A continuation (2026-06-21): Pushed 3104e2e to PR #10455 —
BasicBlockHelper::entryAllocaForFunctionnow appends anentryBB when the target function has zero blocks, and clears the builder insert position when there is no restore block.Still red (not merge-ready):
Same failure on empty script
<?php declare(strict_types=1);— bug is in standalonedefineBuiltins/init path, not echo-specific.Green:
Next: bisect which standalone runtime
implement()duringType::initialize()leaves a parentlessalloca %__value__(likelyJitValueBox::allocmid-init without active insert block). PR remains WIP on #9225.Fix standalone AOT init: stub assert/sleep/echo helpers without neste…
Fix ObGzhandler JIT helper compile by preserving scope in runQueue (#…
Fix AOT LLVM verify blockers after ObGzhandler scope fix (#9225)
Harden entryAlloca when target LLVM function has no entry block yet (#…
Fix standalone AOT init: stub assert/sleep/echo helpers without neste…
PurHur commentedon Jun 21, 2026
Merged via #10455
Fix: Standalone AOT
__init__no longer nested-compiles AssertOptionsJitHelper / SleepJitHelper / ValueEchoJitHelper (LLVM verify corruption). Uses assert ABI stubs, libc sleep bridge, inline echo type bridges, andJitVmHelperLink/ext path fix.Verification:
Fix ObGzhandler JIT helper compile blocking AOT init (progress on #9225…
PurHur commentedon Jun 21, 2026
claim: cursor-agent-lane-b — bootstrap fallback continuation: merging PR #10455 (examples AOT smoke green on branch)