Skip to content

ci: run the Windows pytest step with --capture=sys (refs #10) - #25

Merged
tae898 merged 1 commit into
mainfrom
ci/windows-capture-sys
Sep 29, 2026
Merged

tae898 merged 1 commit into
mainfrom
ci/windows-capture-sys

Conversation

@tae898

@tae898 tae898 commented Sep 29, 2026

Copy link
Copy Markdown

Refs #10 (kept open until the Windows jobs have run clean for a while; a single green run proves nothing for an intermittent hang).

What changed

  • test-python-bindings.yml: the pytest step adds --capture=sys when RUNNER_OS is Windows, with a comment giving the mechanism.
  • docs/development/ci-setup.md and docs/development/testing/overview.md: the same, and the advice to run with --capture=sys on Windows locally.

Why

The Java dump from #11 fired on run 36625374176: the Java main thread was blocked in FileOutputStream.writeBytes under LSMVectorIndex.build's progress log, while the Python side printed the dump to the real stdout without trouble. pytest's default fd capture swaps fds 1 and 2 around each test; on Windows that closes the handle the JVM cached for System.out/System.err, and a later pipe can be handed the same handle value, so the next Java log line blocks once that pipe is full. The diagnosis is on #10. With --capture=sys pytest never touches the fds. No test uses capfd.

How it was verified

  • pre-commit and actionlint on the changed files.
  • The Windows jobs of this PR's own run exercise the change; the hang itself can only be judged over many runs.

🤖 Generated with Claude Code

https://claude.ai/code/session_01WWcDr7TwvcfMsQkeYQVHZr

…its console handles (#10)

The Java dump caught the Windows hang: the main thread blocked in FileOutputStream.writeBytes under a
LSMVectorIndex.build progress log. pytest's fd capture swaps fds 1 and 2 around each test, which on Windows
closes the handle the JVM cached for System.out/err; a later pipe can be handed the same value.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WWcDr7TwvcfMsQkeYQVHZr
@tae898
tae898 merged commit 0164776 into main Sep 29, 2026
48 checks passed
@tae898
tae898 deleted the ci/windows-capture-sys branch September 29, 2026 23:13
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