Skip to content

v0.2.38

Latest

Choose a tag to compare

@github-actions github-actions released this 27 Sep 10:17
spawn plan apply: keep the plan's argv[0] — MRI does not re-prepend it

tfs_spawn_plan_apply skipped the plan's first token, believing ruby
re-prepends command_abspath as the child's argv[0] at exec. It does
not: the child argv comes from argv_buf verbatim, so the first real
token ("--tebako-image") was consumed as argv[0] and the actual first
mount triple fell out of the flag parse — the spawned runtime booted
with only its env image and the payload mounts were lost (tebako#669's
jing residual: Unable to access jarfile, argv-form spawn only).

Proven by an argv-dump of the spawned store exe: argv[0] was
"--tebako-image". MRI's execv takes the file from command_abspath and
argv[0] from argv_buf's first token — rb_exec_fillarg's exact layout,
which the plan already carries. Delete the skip; keep the full argv.
Applies to every line's neutral patch (3.1-4.0) and the 3.2/3.3/3.4
msys carriers (the windows shell-form surface plans through the same
function).

Verified: tools/apply green for 3.1.7/3.2.11/3.3.12/3.4.10/4.0.6 on
darwin and msys patch selections; applied process.c carries the full
argv and the corrected comment.