diff options
| author | Bruce Ashfield <bruce.ashfield@gmail.com> | 2026-02-18 18:20:16 +0000 |
|---|---|---|
| committer | Bruce Ashfield <bruce.ashfield@gmail.com> | 2026-02-26 01:05:01 +0000 |
| commit | 6fe3f4cd1a1f408e0ef6b52b793927984449c9f6 (patch) | |
| tree | be2aefe4f3dd6142bf4f918034264d0e2a298234 /recipes-core | |
| parent | ba23ccd3390b7fbebfed641ebfcd978a0ba406dd (diff) | |
| download | meta-virtualization-6fe3f4cd1a1f408e0ef6b52b793927984449c9f6.tar.gz | |
vxn: fix terminal mode hang and enable interactive container support
The containerd shim's Create RPC hung indefinitely because go-runc
captures the OCI runtime's stdout via a pipe, and cmd.Wait() blocks
until all holders of the pipe's write end close it. The background
monitor subshell inherited this pipe fd and held it open, preventing
the shim from ever proceeding to ReceiveMaster() or calling Start.
Fix by closing inherited stdout/stderr in the terminal-mode monitor
with exec >/dev/null before entering the domain poll loop. Non-terminal
mode is unaffected because the shim configures IO via FIFO dup2, where
cmd.Wait() only waits for process exit.
Additional changes for terminal mode support:
- vxn-sendtty: set PTY to raw mode (cfmakeraw) before sending fd
- vxn-oci-runtime: wait up to 5s for xenconsoled PTY, capture sendtty
return code, write persistent debug file to /root/vxn-tty-debug,
log every runtime invocation, remove stale debug logging
- vxn-init.sh: add [vxn] diagnostic markers for terminal visibility,
suppress kernel console messages early in interactive mode
- vcontainer-preinit.sh: suppress kernel messages in quiet mode
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Diffstat (limited to 'recipes-core')
0 files changed, 0 insertions, 0 deletions
