Skip to content

VM test: keep the VNC socket path under the Unix socket limit - #1883

Merged
r3dbars merged 1 commit into
mainfrom
claude/vm-test-short-socket
Sep 28, 2026
Merged

r3dbars merged 1 commit into
mainfrom
claude/vm-test-short-socket

Conversation

@r3dbars

@r3dbars r3dbars commented Sep 28, 2026

Copy link
Copy Markdown
Owner

Since #1821, repo-hygiene runs scripts/dev/linux-checks.sh, and every PR fails its "clean VM script guards" step (first seen on #1761). Six approve-download cases fail with OSError: AF_UNIX path too long.

Why

linux-checks.sh sets TMPDIR to build/linux-checks/tmp inside the checkout, to keep side effects under build/. On a GitHub runner, the test's VNC socket then lands at /home/runner/work/transcripted/transcripted/build/linux-checks/tmp/tmp.XXXXXXXXXX/home/.transcripted-vm/run/upvm.vncsock. That's about 120 bytes, past Linux's 108-byte limit for a Unix socket path (macOS allows 104).

Fix

If the temp root is too deep for that socket path, the test uses a short /tmp/tvm.XXXXXX root instead. The existing EXIT trap still removes it. Test-only; transcripted-vm.sh is unchanged.

How I checked it

  • bash scripts/vm/test-transcripted-vm.sh with TMPDIR at a CI-length path: 63 passed, 0 failed (52/63 before)
  • no /tmp/tvm.* folders left behind afterwards

🤖 Generated with Claude Code

linux-checks.sh (now run in repo-hygiene, #1821) sets TMPDIR to
build/linux-checks/tmp inside the checkout. On CI that puts the test's
$ROOT/home/.transcripted-vm/run/upvm.vncsock past Linux's 108-byte
socket path limit, so the six approve-download cases fail on every PR.
When the temp root is too deep, use a short /tmp/tvm.XXXXXX root instead;
the EXIT trap still removes it.

Checked: 63/63 with TMPDIR at a CI-length path (was 52/63).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@r3dbars
r3dbars merged commit 0a3ca96 into main Sep 28, 2026
8 checks passed
@r3dbars
r3dbars deleted the claude/vm-test-short-socket branch September 28, 2026 02:52
r3dbars added a commit that referenced this pull request Sep 28, 2026
Picks up the VM test socket-path fix (#1883) and everything merged today.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
r3dbars added a commit that referenced this pull request Sep 28, 2026
Picks up the VM test socket-path fix (#1883) and everything merged today.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
r3dbars added a commit that referenced this pull request Sep 28, 2026
Picks up the VM test socket-path fix (#1883) and everything merged today.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
r3dbars added a commit that referenced this pull request Sep 28, 2026
Picks up the VM test socket-path fix (#1883) and everything merged today.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
r3dbars added a commit that referenced this pull request Sep 28, 2026
Same bug as #1883, in the other VM test: linux-checks.sh points TMPDIR deep
inside the checkout, which put vnc.py's self-test socket past the 104-byte
macOS cap, so 'serve never opened its socket' failed every linux-checks run
in a worktree while the standalone run passed. Use a short /tmp directory
when the temp root is long.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.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.

1 participant