Skip to content

Make CI tests pass - #187

Merged
tomasz-lewicki merged 1 commit into
mainfrom
dev/tomasz/fix-isaacsim-camera-teardown-hang
Aug 11, 2026
Merged

Make CI tests pass#187
tomasz-lewicki merged 1 commit into
mainfrom
dev/tomasz/fix-isaacsim-camera-teardown-hang

Conversation

@tomasz-lewicki

@tomasz-lewicki tomasz-lewicki commented Aug 11, 2026

Copy link
Copy Markdown
Contributor

Fix GPU tests

…/ isaacgym / mujoco)

The isaacsim single-gpu pytest lane hangs for ~2h44m on every PR: all 11
camera-sensor tests (new in #170) boot IsaacSim, write their PASS sentinel,
then deadlock on process exit in Kit's carbOnPluginShutdown tearing down the
omni.syntheticdata/OmniGraph render-product graph a TiledCamera creates. The
subprocess never exits, so run_harness's 700s timeout SIGKILLs it and a real
PASS is reported as a spurious timeout. Because the pytest matrix is
continue-on-error, this bloats CI wall-clock (and previously blocked the
docker-build :latest gate) without turning the lane red.

Root causes and fixes (each verified on GPU hardware):

1. Teardown deadlock (the 700s hang): each camera *_assert.py now os._exit()s
   after the sentinel write, bypassing the atexit teardown -- the pattern
   behavior_assert / scene_spawn_assert already use.
2. IsaacSim camera didn't follow a moving body: render inline via
   sim.step(render=render_now) so RTX sensors track current poses even at
   NO_GUI_OR_RENDERING, instead of returning the stale first frame.
3. IsaacSim multi-env misalignment: reconcile self.env_origins to
   self.scene.env_origins so sim.env_origins means the same thing on every
   backend.
4. Un-actuated-robot drift flake: harnesses re-pin the root, hold joints rigid
   at the spawn pose, read-back-verify, and step a few frames before capture.

Also adds a ruff PLC0415 per-file-ignore for tests/simulators/*_assert.py
(deferred torch/isaaclab imports are inherent to IsaacSim).

This revives the fix from #175 (opened but never landed), rebased onto current
main; verified green end-to-end on the A10G CI in that PR (isaacsim single-gpu
succeeded in 31m).

Co-authored-by: Juan G. Bonilla <65906260+juan-g-bonilla@users.noreply.github.com>
@tomasz-lewicki tomasz-lewicki changed the title fix(sim): make the camera-sensor tests pass reliably on CI (isaacsim / isaacgym / mujoco) Make CI tests pass Aug 11, 2026
@tomasz-lewicki
tomasz-lewicki merged commit 6e146b0 into main Aug 11, 2026
15 checks passed
@tomasz-lewicki tomasz-lewicki mentioned this pull request Aug 12, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants