Skip to content

patches: spawn hook execs via tebako_fs_exec_materialize (all 5 series) - #54

Merged
ronaldtse merged 1 commit into
mainfrom
fix/spawn-exec-materialize
Aug 11, 2026
Merged

patches: spawn hook execs via tebako_fs_exec_materialize (all 5 series)#54
ronaldtse merged 1 commit into
mainfrom
fix/spawn-exec-materialize

Conversation

@ronaldtse

Copy link
Copy Markdown
Contributor

Why

The spawn hook materializes an in-VFS exec target through tebako_fs_dlmap2file — the single-file + linked-closure walk. A tool home's DATA files (lib/modules, lib/jvm.cfg, conf/security/**) never ride a linked closure, so the exec'd java resolves its home into a tree with no home content: the metanorma dogfood's jing leg died with 'Failed setting boot class path' (linux) and mn2pdf with NoSuchFileException on conf/security/policy/unlimited (macOS) — run 31507706385.

What

The exec-target materialization call moves to the new tebako_fs_exec_materialize (tamatebako/tebako#397, v0.1.6): home-layout mounts (the in-image manifest's identity.annotations.java_home) materialize WHOLE once per process; any other path answers exactly as before. The preload-shim extraction keeps dlmap2file (a plain file, not a home). All 5 series; the compile-smoke stub header declares the new symbol in the same change.

Proof

  • tools/lint: 3.1.6 / 3.2.11 / 3.3.12 / 3.4.10 / 4.0.6 — all patch sets apply cleanly.
  • tools/compile_smoke --platform linux-gnu: 5/5 line tips compile the patched process.c against the new symbol.

Chain

product v0.1.6 (merged) → this PR → source release v0.2.19 → factory re-cut → dogfood re-run.

The exec-target materialization moves from tebako_fs_dlmap2file to the
new tebako_fs_exec_materialize (tamatebako/tebako#397, product v0.1.6):
a home-layout mount (identity.annotations.java_home) materializes
WHOLE once per process, so an exec'd tool finds its home's data files
(lib/modules, lib/jvm.cfg, conf/security/**) next to the binary — the
metanorma dogfood's jing (linux: boot class path) and mn2pdf (macOS:
conf/security/policy/unlimited) failures, run 31507706385. The preload
shim's own extraction keeps dlmap2file. The compile-smoke stub header
declares the new symbol in the same change.
@ronaldtse
ronaldtse merged commit 05cb695 into main Aug 11, 2026
3 checks passed
ronaldtse pushed a commit to tamatebako/tebako-runtime-ruby that referenced this pull request Aug 11, 2026
The runtime version bumps with the engine: the re-cut carries the
product's home-layout exec materialization (tamatebako/tebako#397) and
the v0.2.19 spawn-hook patch (tamatebako/ruby#54) — same ruby catalog,
new bytes, so the release gets fresh asset names and the publish rides
the all-creates path instead of 330 wedged replace cycles.
ronaldtse pushed a commit to tamatebako/tebako-runtime-ruby that referenced this pull request Aug 11, 2026
* chore: pin tamatebako/ruby src v0.2.19 (was v0.2.18)

* release: 0.16.4 — the exec_materialize engine + the v0.2.19 source

The runtime version bumps with the engine: the re-cut carries the
product's home-layout exec materialization (tamatebako/tebako#397) and
the v0.2.19 spawn-hook patch (tamatebako/ruby#54) — same ruby catalog,
new bytes, so the release gets fresh asset names and the publish rides
the all-creates path instead of 330 wedged replace cycles.

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants