Skip to main content
← Back to list
01Issue
BugShippedExtensions
Assigneesstack72

Relationships

#438 exec fails on macOS: ControlPath exceeds 104-byte Unix socket limit

Opened by strawman · 5/25/2026· Shipped 5/25/2026

Description

The exec method fails on macOS because the auto-generated ControlMaster socket path exceeds macOS's 104-byte Unix domain socket path limit.

Steps to Reproduce

  1. Pull the extension: swamp extension pull @swamp/ssh
  2. Create a model with a moderately long name and one SSH host
  3. Run: swamp model method run <model> exec

Error

Exit code 255 with stderr:

ControlPath too long ('<TMPDIR>/swamp-ssh/<model-name>/<40-char-hash>.sock' >= 104 bytes)

Root Cause

The generated path is:

${TMPDIR}/swamp-ssh/<model-name>/<40-char-hash>.sock

On macOS, TMPDIR expands to a long path like /var/folders/<hash>/T/, pushing the total well past 104 bytes with any reasonably named model.

Suggested Fix

Use a shorter ControlPath — e.g. hash the full path and use only the first 8–12 chars, or use /tmp/swamp-ssh/ as a fixed prefix instead of ${TMPDIR}.

Environment

  • OS: macOS Darwin 25.4.0
  • swamp: 20260524.205501.0-sha.bfea476b
  • @swamp/ssh: 2026.05.19.1

Upstream repository: https://github.com/systeminit/swamp-extensions

Environment

  • Extension: @swamp/ssh@2026.05.19.1
  • swamp: 20260524.205501.0-sha.bfea476b
  • OS: darwin (aarch64)
  • Deno: 2.7.14+19bd3d8
  • Shell: /bin/zsh
02Bog Flow
OPENTRIAGEDIN PROGRESSSHIPPED+ 1 MOREASSIGNED+ 4 MOREREVIEW+ 3 MOREPR_MERGEDSHIPPED

Shipped

5/25/2026, 3:41:27 PM

Click a lifecycle step above to view its details.

03Sludge Pulse
stack72 assigned stack725/25/2026, 2:22:39 PM
Editable. Press Enter to edit.

strawman commented 5/25/2026, 6:47:19 AM

Sign in to post a ripple.