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
Self-host M2: spine native link fails — Expr_ArrowFunction in lib/JIT/BootstrapCompileSmokeM3Emit.php #2679
M2 — compiler_lib_spine_smoke native link on critical path to #1492 / #1498
Problem
BOOTSTRAP_LIB_SPINE_SMOKE=1 make bootstrap-selfhost-lib-spine-smoke fails during Zend compile of the 717-file spine bundle (not LLVM link yet):
parseAndCompile failure: target=/compiler/test/selfhost/compiler_lib_spine_smoke/main.php
PHP Fatal error: Uncaught LogicException: Unknown variable op found: Expr_ArrowFunction
in vendor/ircmaxell/php-types/lib/PHPTypes/TypeReconstructor.php:303
First offender (source):lib/JIT/BootstrapCompileSmokeM3Emit.php line ~128 — static fn (Context $ctx, …) => … passed to M3EmitTuTrivialEchoAot::emitParseAndCompileWithTrivialFallback.
php script/bootstrap-spine-php-cfg-parse-check.php is green (php-cfg overlay accepts arrow syntax); failure is php-types during Runtime::parse() → TypeReconstructor::resolveVarOp().
This regresses M4 fullmake bootstrap-loop-probe at the M2 spine prerequisite (exit 1).
Scope
Path
Work
lib/JIT/BootstrapCompileSmokeM3Emit.php
Remove/replace arrow closure with spine-safe callable (fast unblock) or
Activity
PurHur commentedon May 27, 2026
Re-tested on harness 2026-05-27 (docker-exec): M2 prerequisite is now green.
./script/docker-exec.sh -- bash -lc 'make bootstrap-loop-probe'Key lines:
==> M2 lib spine smoke (native link + run)bootstrap-selfhost-lib-spine-smoke-link: OK /compiler/build/selfhost-lib-spine-smokeSo the
Expr_ArrowFunctionTypeReconstructor failure is not reproducing on currentmasterin this environment.Closing as fixed/stale. If this regresses again, please reopen with a fresh failing log and the first offending file.
PurHur commentedon May 27, 2026
Closed: repro no longer reproduces on harness (see comment).