Skip to content

fix: resolve AF_UNIX path-too-long failures on macOS - #562

Open
Swayam-arora-2004 wants to merge 1 commit into
databricks:mainfrom
Swayam-arora-2004:fix/socket-readiness-race-condition
Open

fix: resolve AF_UNIX path-too-long failures on macOS#562
Swayam-arora-2004 wants to merge 1 commit into
databricks:mainfrom
Swayam-arora-2004:fix/socket-readiness-race-condition

Conversation

@Swayam-arora-2004

Copy link
Copy Markdown

On macOS, AF_UNIX socket paths are limited to 104 characters. pytest's tmp_path generates paths up to 121 chars, causing OSError('AF_UNIX path too long') in two tests that create Unix domain sockets. The failures were silent — the OSError was caught and treated as a connection error.

Two fixes:

  • Add a shared short_tmp_path fixture in conftest.py that uses tempfile.mkdtemp() to produce short (~55 char) paths.
  • Switch the two affected tests to use short_tmp_path for their socket paths only; all other temp files stay on tmp_path.

Bonus: serve_first_prompt_socket now accepts an optional ready threading.Event that fires after listen() (not bind()), making callers immune to the bind-vs-listen race on macOS schedulers.

On macOS, AF_UNIX socket paths are limited to 104 characters.
pytest's tmp_path generates paths up to 121 chars, causing
OSError('AF_UNIX path too long') in two tests that create Unix
domain sockets. The failures were silent — the OSError was caught
and treated as a connection error.

Two fixes:
- Add a shared short_tmp_path fixture in conftest.py that uses
  tempfile.mkdtemp() to produce short (~55 char) paths.
- Switch the two affected tests to use short_tmp_path for their
  socket paths only; all other temp files stay on tmp_path.

Bonus: serve_first_prompt_socket now accepts an optional ready
threading.Event that fires after listen() (not bind()), making
callers immune to the bind-vs-listen race on macOS schedulers.
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