Review notes and the rerun of S1, S2, S4, S8, S9 and S0 in a detached worktree ofad0bdc20. Verdict comment 27986, rev 803 (swept in85fd3286). Co-Authored-By: Claude Opus 5.5 <[email protected]>
42 lines
3.3 KiB
Plaintext
42 lines
3.3 KiB
Plaintext
# s8-stdin-capability 2026-10-12T22:29:24Z
|
|
endpoint unix:///run/user/1000/docker.sock: name=rootless
|
|
scratch /home/jwoltje/darkwing-scratch/rv86/tmp/i1spike-s8-stdin-capability.3Izcvy
|
|
made-up capability: 57 bytes, sha256 a3d659831fdb756840377edc343a25ce8a1764d6562979fdc9ea8397ee044d9e (the string itself is never printed)
|
|
## 1. one line on stdin
|
|
ok entrypoint started and printed ready
|
|
entrypoint says: got len=57 sha256=a3d659831fdb756840377edc343a25ce8a1764d6562979fdc9ea8397ee044d9e
|
|
entrypoint says: ready pid=1 ppid=0
|
|
ok the entrypoint received the exact string (length and sha256 match)
|
|
Config.Env: ["READ=1","HANDLE=1","PATH=...","NODE_VERSION=24.21.0","YARN_VERSION=1.22.22"]
|
|
Config.Cmd: ["node","/t/stdin-cap.mjs"] Path: docker-entrypoint.sh Args: ["node","/t/stdin-cap.mjs"]
|
|
ok capability absent from docker inspect (whole document, incl. Config.Env, Args, Cmd)
|
|
ok capability absent from docker top
|
|
ok capability absent from docker logs
|
|
ok capability absent from /proc/1/environ
|
|
ok capability absent from /proc/1/cmdline
|
|
ok capability absent from the host process list (ps -eo args)
|
|
stdin of pid 1 after the line: pipe:[1955323506]
|
|
## 2. signals: what pid 1 receives, and the exit status
|
|
stop-plain: [] handle=0 action='stop -t 3' -> running=false exit=137 stopped-after-ms=3128 log=ready pid=1 ppid=0
|
|
ok docker stop, no init, no handler: pid 1 ignores SIGTERM, killed by SIGKILL after the grace period (exit 137, >= 3 s)
|
|
stop-handler: [] handle=1 action='stop -t 3' -> running=false exit=0 stopped-after-ms=17 log=ready pid=1 ppid=0;signal SIGTERM pid=1
|
|
ok docker stop, no init, handler: pid 1 receives SIGTERM as pid=1, exits 0 promptly
|
|
stop-init: [--init] handle=0 action='stop -t 3' -> running=false exit=143 stopped-after-ms=18 log=ready pid=7 ppid=1
|
|
ok docker stop, --init, no handler: tini forwards SIGTERM, the default action ends node (exit 143, prompt)
|
|
stop-init-hand: [--init] handle=1 action='stop -t 3' -> running=false exit=0 stopped-after-ms=28 log=ready pid=7 ppid=1;signal SIGTERM pid=7
|
|
ok docker stop, --init, handler: node receives SIGTERM as a child, not pid 1
|
|
kill-plain: [] handle=0 action='kill' -> running=false exit=137 stopped-after-ms=22 log=ready pid=1 ppid=0
|
|
ok docker kill (SIGKILL), no init: exit 137
|
|
kill-handler: [] handle=1 action='kill' -> running=false exit=137 stopped-after-ms=21 log=ready pid=1 ppid=0
|
|
ok docker kill (SIGKILL), handler: handler never runs, exit 137
|
|
kill-init: [--init] handle=0 action='kill' -> running=false exit=137 stopped-after-ms=21 log=ready pid=7 ppid=1
|
|
ok docker kill (SIGKILL), --init: exit 137
|
|
killterm-plain: [] handle=0 action='kill -s TERM' -> running=true exit=0 stopped-after-ms=n/a log=ready pid=1 ppid=0
|
|
ok docker kill -s TERM, no init, no handler: ignored, container still running
|
|
killterm-init: [--init] handle=0 action='kill -s TERM' -> running=false exit=143 stopped-after-ms=20 log=ready pid=7 ppid=1
|
|
ok docker kill -s TERM, --init, no handler: ends the container (exit 143)
|
|
killterm-hand: [] handle=1 action='kill -s TERM' -> running=false exit=0 stopped-after-ms=23 log=ready pid=1 ppid=0;signal SIGTERM pid=1
|
|
ok docker kill -s TERM, no init, handler: pid 1 receives it, exit 0
|
|
cleanup: no container, network, image or scratch directory labelled s8-stdin-capability is left
|
|
result: pass
|