Repository navigation
Add 100 minute timeout to C++ ctest runs - #2746
Conversation
Send SIGINT then SIGKILL after 60s, matching the Python test timeouts (NVIDIA#2734). Slowest sharded C++ job in the last 20 passing PR runs took 85 minutes (V100 shard 3).
|
Data behind the 100 minute value Whole-job wall time (includes environment setup) of the sharded
V100 only (12 jobs per shard):
100m leaves at least 15m of headroom over the slowest job seen. These durations include setup, so the |
|
Jobs that hit the 6 hour limit in the last 30 days Scope: failed or cancelled 28 test jobs hit the limit, across 19 distinct runs (22 in
The 9 C++ jobs are in four runs: 37055712451 (1 job), 37345134834 (2), 37353917582 (4) and 37358545509 (2). They span V100, A100, H100 and L4. With a 100m limit each would have ended about 260 minutes sooner, roughly 39 GPU-hours across these nine jobs. Not covered: in-progress runs, and the 10 job logs that could not be downloaded. |
|
Source: logs of the failed or cancelled Normal runtime: in the 133 jobs that reached a ctest summary, the test always passed, in 4.1m median (p90 5.3m, max 6.3m). Hang: in 10 jobs from the sharded layout, this test was the only one that had started but not finished (8 started, 7 finished); nothing else was running. All 10 are shard 4 (test #28 of that shard) on V100, A100, H100 and L4:
So 7 of the 9 C++ jobs that hit the 6h limit were stuck in this test. The other 2 (V100 and A100 in run 37345134834) never reached the tests: both stalled in setup, as did another job from run 37378638396 (H100, 112m) cancelled while downloading the artifact. Older runs: before sharding, 8 jobs were cancelled with this test as the only unfinished one, after 137-213 minutes in the job. In each, the cancel came 0-4 minutes after the test started, in line with its normal 4 minute runtime, so I do not treat those as hangs. No job in the older runs (before 2026-10-02) reached the 6h limit in the C++ tests. Since the hung jobs are all shard 4, a ctest |
|
/merge |
|
Important Review skippedReview was skipped as selected files did not have any reviewable changes. ⚙️ Run configuration
You can disable this status message by setting the Use the checkbox below for a quick retry:
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configuration
📒 Files selected for processing (1)
Included review availability: This review used your included allowance. Your plan provides up to 12 included reviews per hour; 10 remain after this review. 📝 SummarySummary by CodeRabbit
WalkthroughThe libcuvs ChangesCTest timeout handling
Priority: ➖ Normal Estimated code review effort: 1 (Trivial) | ~5 minutes Change: Other Merge Risk: ⚪ Minimal · up to The timeout is intended to bound hung C++ tests, and a timeout failure is reported as a CI failure. No merge-blocking risk was identified. 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches 💡 1🧪 Generate unit tests (beta)
🛠️ Fix failing CI checks 💡
Comment |
Wraps the sharded C++
ctestrun intimeout, sending SIGINT then SIGKILL after 60s, to match the Python test timeouts from #2734.The slowest sharded C++ job across the last 20 passing PR runs took 85 minutes (V100 shard 3), so 100 minutes leaves headroom without letting a hung job run to the 6h limit.