Repository navigation
Start socket timeout after the sock snapshot - #8791
Conversation
The isolated test asserted a clear process-wide eval breaker, and cleared STOP_BIT itself. Parallel STW tests flicker that word, so Windows rust tests failed after RustPython#8786. Assisted-by: Grok:4.6
Keep the per-thread eval-breaker test. Drop the STOP_BIT retry from RustPython#8788 and the unused stop_bit_set helper. Assisted-by: Grok:4.6
A 1ms CGI handler timeout was expiring during lock/scheduling delay before poll, so macOS closed the connection with RST under load. sendall still reuses one deadline for the write. Assisted-by: Grok:4.6
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
|
Navigate logical layers of code changes, visualize relationships, and explore their blast radius. No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Repository: RustPython/RustPython/.coderabbit.yml Review profile: CHILL Plan: Advanced Run ID: 📒 Files selected for processing (1)
Included review availability: Your plan provides up to 10 included reviews per hour; 7 remain after this review. 📝 WalkthroughWalkthroughSocket timeout handling now keeps the configured timeout separate from the deadline. The shared loop initializes the deadline after taking a socket snapshot. Both ChangesSocket timeout handling
Priority: ➖ Normal Estimated code review effort: 2 (Simple) | ~10 minutes Change: Bug fix Merge Risk: ⚪ Minimal · up to The supplied evidence identifies no remaining issue that should block merging this socket-timeout change. 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Follow-up to the macOS CGI flake still seen on #8780.
test_large_content_length_truncatedsets the handler timeout to 0.001s. Under high load (load average ~20) the first CI pass hitsConnectionResetError: [Errno 54] Connection reset by peer; the isolated rerun passes.#8786 started the timeout clock after
sock_snapshot. The #8786 review follow-up created theDeadlinebefore that snapshot sosendallcould reuse one clock. Scheduling delay then ate the 1ms budget,pollsaw an expired deadline, and Darwin reset the connection before the CGI status line was sent.sock_opnow snapshots first and starts the clock there.sendallstill keeps oneDeadlinefor the whole write.Verified:
cargo test -p rustpython-host_env wait_fdcargo check -p rustpython-stdlib --features threadingAssisted-by: Grok:4.6
Summary by CodeRabbit