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
docker run output sometimes lost (exit 0, empty stdout) right after an engine start on 29.9.0 #569
Found while verifying engine upgrade and rollback for #568.
What happens
Right after the engine starts, docker run --rm -v vol:/data alpine:3.20 cat /data/f sometimes exits 0 with no output. The file is there: the next run prints it, and ls shows it unchanged.
Measured (WSL 3.0.3, Windows 10 19045, docker CLI 29.8.2, skrog built from #568)
One throwaway named engine (skrog target create), driven with --state-dir and its own context. Each run is read 1–4 immediately after skrog start, engine rollback or engine upgrade.
dockerd
output lost
29.9.0 (rootfs 29.9.0-2)
4 of 23
29.9.2 (rootfs 29.9.2-1)
0 of 53
It was always the first or second run after a start. The skrog binary, CLI, image and volume were the same throughout; only the engine differed.
Not known
The cause. I have not established whether this is moby 29.9.0 (an attach/stdout race) or skrog's relay right after a start that 29.9.2's timing happens not to trigger. 53 clean reads make 29.9.2 look unaffected; that is not proof.
Whether 29.8.x, which most installs run today, is affected. Not tested.
Whether it occurs without a fresh start. Not tested; every loss followed one.
Why it matters
Exit 0 with output silently missing is the worst kind of failure for scripts and CI: $(docker run … cat x) gets an empty string and nothing says so.
Next
Reproduce against the engine socket directly, bypassing skrog's pipe, to place the fault.
Activity