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 M3: PHPTypes/CFG static init in emit-TU LLVM global ctor (link segfault) #2540
May 2026 update: emit-helper link is green on master for runtime, compile-smoke, and HelloWorld TUs. The first failure is now parseAndCompile returned null at execute (#2566, #2568, #2559–#2567).
This issue tracks the next failure class once parse spine returns a non-null Block: LLVM 9 global ctor / type reconstructor crash during emit-helper execute (historically also seen at link time).
Probe prints NEXT_LOWER: M3 emit TU runtime init (global ctor / type reconstructor; #1937) on partial runs.
Scope
Area
Path
Notes
Emit TU compile
lib/JIT.php — compileM3EmitTuMainNative()
Global init / ctor emission for bundled vendor types
Reopened (backlog-architect May 2026): harness still hits LLVM emit-TU global ctor segfault on M3 strict HelloWorld execute — emit helper link OK, run segfaults. See repro on #1492.
This issue (global ctor / PHPTypes segfault) is deferred until #2633 (bin/compile.php native emit / parseAndCompile null) is green — that is the current M5 first compile-path failure. Reprioritize execute-time ctor work after parse spine succeeds on the production driver.
Prerequisites #2559 / #2566 appear satisfied on current master. If no remaining segfault repro, close this issue and track any new ctor/init failures under fresh tickets with a failing build/.last-jit-func-* path.
#1492 backlog run: recommend close unless a maintainer has a red repro on latest master.
Closing: emit-TU execute + M3 strict native emit green on harness 2026-05-27 (see last comment). Reopen with fresh repro if global ctor segfault returns.
Activity
PurHur commentedon May 26, 2026
Link-time emit-helper Runtime alloc fixed in #2547 (allocateEmitTuShell). Remaining: initVmContext runtime segfault + initParsePipeline PHP CFG link segfault before emit_path=native.
Merge pull request #2547 from PurHur/agent/issue-2540-emit-tu-parse-s…
Self-host M3: LLVM stubs for emit-TU link without PHP CFG (#2540)
Merge origin/master: integrate parseAndCompile bridge with #2540 emit TU
Self-host M3: real-lower Runtime parse spine in emit TU when M3 drive…
PurHur commentedon May 26, 2026
Reopened (backlog-architect May 2026): harness still hits LLVM emit-TU global ctor segfault on M3 strict HelloWorld execute — emit helper link OK, run segfaults. See repro on #1492.
PurHur commentedon May 26, 2026
Priority: P0 after #2559 + #2561 green (HelloWorld execute segfault; link already OK on master). Epic #1492.
Fix HelloWorld probe NEXT_LOWER triage when emit helper not linked (#…
PurHur commentedon May 27, 2026
Backlog architect update (2026-05-27 harness):
M3 strict emit ladder is green on
master:BOOTSTRAP_M3_COMPILE_SMOKE_STRICT=1 ./script/bootstrap-selfhost-compile-smoke-probe.sh→emit_path=nativeBOOTSTRAP_M3_RUNTIME_COMPILE_SMOKE_STRICT=1 ./script/bootstrap-selfhost-runtime-compile-smoke.sh→emit_path=nativemake bootstrap-selfhost-helloworld(Makefile strict defaults) →emit_path=native#2568 ✅ closed.
This issue (global ctor / PHPTypes segfault) is deferred until #2633 (
bin/compile.phpnative emit /parseAndCompilenull) is green — that is the current M5 first compile-path failure. Reprioritize execute-time ctor work after parse spine succeeds on the production driver.Self-host: unify M3 emit TU sidecars and vendor static JIT (#2666) (#…
PurHur commentedon May 27, 2026
Harness verification (2026-05-27) — candidate close
Emit-helper execute is green on
master:Prerequisites #2559 / #2566 appear satisfied on current
master. If no remaining segfault repro, close this issue and track any new ctor/init failures under fresh tickets with a failingbuild/.last-jit-func-*path.#1492 backlog run: recommend close unless a maintainer has a red repro on latest
master.PurHur commentedon May 27, 2026
Closing: emit-TU execute + M3 strict native emit green on harness 2026-05-27 (see last comment). Reopen with fresh repro if global ctor segfault returns.
Fix M3 inventory emit link OOM (module×function scan) (#2967)
Fix M3 inventory emit link OOM; keep compileEmitSmoke on native decl (#…
fix(m3): default HelloWorld/M4 emit to thin emit TU (#2540)
fix(m3): default HelloWorld/M4 emit to thin emit TU (#2540)
fix(m3): stub inventory emit-helper bundled argv driver bodies (#2540)
fix(m3): inventory emit-helper uses thin TU spine, not argv stubs (#2540