[Bug][CI]: web-search pacing deadline test fails on a loaded Windows shard (504 on reset replay)
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 1-2 days
- Newbie friendliness
- 48/100
- Issue type
- Bug
- Clarity
- Mostly clear
- Activity status
- Active
- Tech stack
- github-actions, typescript
- Domain
- testing
Research direction
Start with tests/web-search/web-search-pacing-deadline.test.ts, especially the reset replay case around line 145 and the later started assertion around line 213; inspect the related test added by #6700 and the web-search pacing and deadline code it exercises. Reproduce the failure on a loaded Windows shard, then determine whether the deadline calculation is wrong or the test depends on insufficient timing slack. Done when the test is reliable on loaded Windows runners or a confirmed source defect is fixed.
Written by the indexing model from the issue text.
Description
Client or integration
Other
GitHub Actions Windows suite shard (windows 8/9, dispatch-only lane), not an installed client.
Area
Tools / MCP / web search
Summary
tests/web-search/web-search-pacing-deadline.test.ts (added by #6700) failed two cases on a Windows shard in a full lane=all dispatch. The failure kind was assertion, so the shard failed on first occurrence as designed.
reset replay excludes its own pacing waitexpected 200 and received 504 (line 67 via line 145), after the log printed[upstream-retry] connection reset (web-search-loop) — retrying (2/3).- A later case in the same file expected
startedto be 2 and received 1 (line 213).
The test asserts that local pacing waits are excluded from the response-header deadline. A 504 here means the deadline fired on a loaded Windows runner. Either the pacing wait was still counted against the deadline on that path, or the test's deadline leaves too little room for a reset replay under Windows scheduling. Recent dev dispatches failed Windows shards on different timing tests each time (ocx status codexPlugins 20s, retained-sync Ultra Fast 20s, plaintext v2 drip-feed, credential separation, gateway startup), and none of those were in this file, so this is a new case.
Expected: the case either passes on loaded Windows runners because its assertions do not depend on wall-clock slack, or the 504 is shown to be a real pacing/deadline defect and fixed in the source.
Reproduction
- Full dispatch https://github.com/lidge-jun/opencodex/actions/runs/38222141865 (branch
codex/6978-macos-shard-budget-261012, head 736e7bf04e, which changes only the macOS shard matrix and its contract tests). - Job
windows 8/9, batch 45/45, filetests\web-search\web-search-pacing-deadline.test.ts.
Version
736e7bf04e570974c0217b37c7de136c00a03b38 (dev a0191a1b6f + macOS shard matrix change)
Operating system
GitHub-hosted windows-latest
Provider and model
Not applicable (test fixtures).
Logs or error output
[upstream-retry] connection reset (web-search-loop) — retrying (2/3)
error: expect(received).toBe(expected)
Expected: 200
Received: 504
at expectSuccess (tests\web-search\web-search-pacing-deadline.test.ts:67:27)
at async <anonymous> (tests\web-search\web-search-pacing-deadline.test.ts:145:13)
(fail) web-search pacing and response-header deadline > reset replay excludes its own pacing wait [483.85ms]
error: expect(received).toBe(expected)
Expected: 2
Received: 1
at <anonymous> (tests\web-search\web-search-pacing-deadline.test.ts:213:21)
Test failure in shard 8/9 batch 45/45 (exit 1); not retrying assertion/test failures.
Screenshots and supporting files
No response
Redacted configuration
No response
Checks
- I searched existing issues and documentation.
- I removed secrets, tokens, account details, request credentials, and personal data.
- Dominant language
- TypeScript
- Stars
- 16.9k
- Forks
- 1.3k
- Avg merge
- 5h 7m
- Merged PRs (30d)
- 617
Getting set up
This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from lidge-jun/opencodex
-
[Bug]: ocx doctor reports a false history integrity failure when state_5.sqlite is WAL without -shmOpenbug cli
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
Maintainers usually reply within 1 day
-
bug provider
Difficulty 2/5 1-3 hours Newbie friendliness 85/100
Maintainers usually reply within 1 day
-
account-pool enhancement needs-design proxy
Difficulty 2/5 1-3 hours Newbie friendliness 85/100
lidge-jun/opencodex#6737 · 1 comment ·
Maintainers usually reply within 1 day
-
bug catalog provider tools
Difficulty 4/5 3-5 days Newbie friendliness 38/100
lidge-jun/opencodex#7049 · 1 comment ·
Maintainers usually reply within 1 day
-
account-pool bug
Difficulty 5/5 Over a week Newbie friendliness 35/100
lidge-jun/opencodex#7046 · 1 comment ·
Maintainers usually reply within 1 day
All issues in lidge-jun/opencodex
Similar issues
-
documentation good first issue hacktoberfest help wanted
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
libredb/libredb-studio#1756 ·
Maintainers usually reply within 1 day
-
state:triage-needed
Difficulty 2/5 1-3 hours Newbie friendliness 62/100
Maintainers usually reply within 1 day
-
community first-timers-only good first issue hacktoberfest help wanted low hanging fruit up-for-grabs
Difficulty 1/5 Under an hour Newbie friendliness 72/100
lingdojo/kana-dojo#32365 · 1 comment · 5 reactions ·
Maintainers usually reply within 1 day
-
friction
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
kentcdodds/kody#3706 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
copperheadhq/copperhead#378 ·
Maintainers usually reply within 1 day