You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The Unit Tests (Python) step of the ci workflow hangs to the 6-hour job timeout on the GPU-backed runners when a specific ~140-line test file is present, even though that file's tests pass locally in seconds and contain no obvious pathological construct. Surfaced while adding regression coverage for #1051 (see PR #1053); filing separately because it is an independent CI/test-harness problem, not specific to that change's correctness.
Observed behaviour (PR #1053, run 29283873237, HEAD 0fb3344, rebased 0-behind main)
Lane
Unit Tests (Python) outcome
macOS aarch64 (Release + Debug)
cancelled at 360 min (6h job timeout)
linux x86_64 gcc, windows x86_64 msvc
killed ~128 min mid-step
linux aarch64 (no GPU test load)
pass, ~4–5 min
The whole GPU Unit Tests (Python) step wedges — not a single failing assertion — so no useful failure output is produced; the job just runs to timeout.
Not a stale base. Rebasing dev/slangpy-fixer/1051 onto current main (0 commits behind) did not change the behaviour.
Not a general CI outage / not fleet-wide. ~11 other contemporaneous open PRs pass the identical 12-job matrix (same tools/ci.py--maxprocesses=4) in ~12–17 min with zero hang.
Not obviously CUDA OOM. The macOS-aarch64 lane (Metal, no CUDA) is among those that hang, so a CUDA-specific out-of-memory cascade does not explain it on its own.
Why it needs runner access to diagnose
With the above ruled out, the remaining question — why a small test file that passes locally wedges the entire GPU Unit Tests (Python) step for hours — is not reproducible without access to the GPU CI runners (process state, driver/Crashpad interaction, pytest-xdist worker behaviour under load). It is a latent hazard: the next PR that adds or perturbs GPU-exercising Python tests may hit the same 6h wedge with no clear signal.
Summary
The
Unit Tests (Python)step of theciworkflow hangs to the 6-hour job timeout on the GPU-backed runners when a specific ~140-line test file is present, even though that file's tests pass locally in seconds and contain no obvious pathological construct. Surfaced while adding regression coverage for #1051 (see PR #1053); filing separately because it is an independent CI/test-harness problem, not specific to that change's correctness.Observed behaviour (PR #1053, run 29283873237, HEAD
0fb3344, rebased 0-behindmain)Unit Tests (Python)outcomeThe whole GPU
Unit Tests (Python)step wedges — not a single failing assertion — so no useful failure output is produced; the job just runs to timeout.What has been ruled out
.bwds()control tests + a docstring remaining.dev/slangpy-fixer/1051onto currentmain(0 commits behind) did not change the behaviour.tools/ci.py--maxprocesses=4) in ~12–17 min with zero hang.Why it needs runner access to diagnose
With the above ruled out, the remaining question — why a small test file that passes locally wedges the entire GPU
Unit Tests (Python)step for hours — is not reproducible without access to the GPU CI runners (process state, driver/Crashpad interaction,pytest-xdistworker behaviour under load). It is a latent hazard: the next PR that adds or perturbs GPU-exercising Python tests may hit the same 6h wedge with no clear signal.References
🤖 Generated by an automated SlangPy coworker — may be inaccurate. A human maintainer should verify.