Skip to content

CI experiment: test PR 1261 with Reseau Windows IOCP branch#1263

Draft
quinnj wants to merge 19 commits into
masterfrom
codex/http1261-reseau-iocp
Draft

CI experiment: test PR 1261 with Reseau Windows IOCP branch#1263
quinnj wants to merge 19 commits into
masterfrom
codex/http1261-reseau-iocp

Conversation

@quinnj
Copy link
Copy Markdown
Member

@quinnj quinnj commented May 31, 2026

Summary

Findings

The old Windows hangs on #1261 were not caused by the WebSocket isready change. The failing stacks were blocked under Reseau waitread while HTTP was reading response status lines. Pinning the Reseau overlapped IOCP branch cleared the previous HTTP/1 server/client failures.

The only remaining HTTP failure after the Reseau fix was in our added raw parity redirect test. With temporary Reseau IOCP tracing enabled during investigation it showed Windows WSAECONNRESET (raw_error = 10054) when the test server wrote a response and immediately closed; finishing the write side before close made the test about redirect semantics instead of RST timing. The Reseau PR no longer keeps that temporary tracing code.

After trimming the Reseau diagnostics, Reseau CI run 26716840261 passed on head d5350e16e770515c58cc21f317424584c2336e35. HTTP run 26716908457 got past the corrected Reseau pin and passed Windows pre, Ubuntu 1/pre, macOS, and docs. The only Actions job failure was Windows Julia 1 in HTTP/2 server handles concurrent streams on one connection at test/http2_server_tests.jl:862 because elapsed < 1.75 observed 1.8410000801086426. That is a tight HTTP/2 timing assertion, not the old Windows waitread hang.

Verification

  • julia --project=. --startup-file=no --history-file=no -e 'include("test/http_client_tests.jl")'
  • julia --project=. --startup-file=no --history-file=no -e 'include("test/http_server_http1_tests.jl")'
  • julia --project=. --startup-file=no --history-file=no -e 'include("test/http_parity_tests.jl")'
  • git diff --check
  • Earlier HTTP GitHub Actions run 26703203916 passed all Actions jobs, including both Windows lanes, against the pre-trim Reseau head
  • Current trimmed-head validation run 26716908457 passed every Actions job except Windows Julia 1, which hit the HTTP/2 timing assertion above
  • External Codecov patch/project checks may still fail on this draft experiment PR

Related

Co-authored by Codex

quinnj and others added 4 commits May 30, 2026 15:30
Closes #1169. `Base.isready(ws::WebSocket)` returns true when a complete message
is buffered and `receive(ws)` won't block — a public, non-blocking way to check
for incoming WebSocket messages (previously only reachable via the internal
readchannel). Includes a docstring and an integration test.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@codecov
Copy link
Copy Markdown

codecov Bot commented May 31, 2026

Codecov Report

❌ Patch coverage is 57.14286% with 3 lines in your changes missing coverage. Please review.
✅ Project coverage is 84.32%. Comparing base (f9d62af) to head (ec759e5).

Files with missing lines Patch % Lines
src/http_transport.jl 50.00% 3 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##           master    #1263      +/-   ##
==========================================
- Coverage   84.36%   84.32%   -0.04%     
==========================================
  Files          28       28              
  Lines       10689    10695       +6     
==========================================
+ Hits         9018     9019       +1     
- Misses       1671     1676       +5     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

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