TESTING (do not merge): identify the hanging pytest in CI - #1779
TESTING (do not merge): identify the hanging pytest in CI#1779ramakrishnap-nv wants to merge 1 commit into
Conversation
The 'pytest cuopt' step has been hitting its step time limit on 13.3.0 amd64 with 140 of 142 tests complete -- two tests start and never finish. When the outer 'timeout' fires, pytest is killed before it can report, and the conda path runs without -v, so the output is bare progress dots and the responsible tests cannot be identified. Raising the limit does not help: 30m and 45m both end at 140/142, so these are hangs rather than slow tests. Adds three diagnostics to the shared runner, so both the conda and wheel paths get them: - -v names each test as it is dispatched. - faulthandler_timeout dumps the stack of any test still running after FAULTHANDLER_TIMEOUT seconds (default 600), so a stuck test identifies itself while the step is still alive. - --durations=25 surfaces tests approaching the limit. None of these kill a test; they only make it visible. Verified against a deliberately hanging test under xdist: the test is named at dispatch and faulthandler prints its stack at the threshold. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Signed-off-by: Ramakrishna Prabhu <ramakrishnap@nvidia.com>
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Enterprise Run ID: 📒 Files selected for processing (1)
Included review availability: Your plan provides up to 12 included reviews per hour; 10 remain after this review. 📝 WalkthroughWalkthroughThe CI pytest script adds configurable faulthandler timeouts, verbose dispatch, and reporting for the 25 slowest tests to nightly and non-nightly test runs. ChangesPytest diagnostics
Estimated code review effort: 2 (Simple) | ~10 minutes Merge Risk: ⚪ Minimal · up to This change only improves visibility into hanging pytest runs; no actionable merge-blocking risk remains, so it is merge-ready after normal checks and review. Suggested reviewers: 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
|
Auto-sync is disabled for draft pull requests in this repository. Workflows must be run manually. Contributors can view more details about this message here. |
CI Test Summary3 failed · 28 passed · 0 skipped
|
Description
Testing / diagnosis only — do not merge.
Opened to get CI to tell us which tests are hanging in the
pytest cuoptstep. Not a fix.The step has been hitting its time limit on
13.3.0 amd64with 140 of 142 tests complete — two tests start and never finish. When the outertimeoutfires, pytest is killed before it can report, and the conda path runs without-v, so the output is bare progress dots and the responsible tests cannot be identified. Raising the limit does not help: 30m and 45m both end at 140/142.Adds three diagnostics to the shared runner so both the conda and wheel paths get them:
-vnames each test as it is dispatched.faulthandler_timeoutdumps the stack of any test still running afterFAULTHANDLER_TIMEOUTseconds (default 600), so a stuck test identifies itself while the step is still alive.--durations=25surfaces tests approaching the limit.None of these kill a test; they only make it visible.
Verified locally against a deliberately hanging test under xdist:
The hang is not specific to any one PR — it reproduces on a branch that changes only
ci/*.sh.Once CI names the offending tests here, the real fix belongs in a separate PR against those tests.