Commit 03904ab
authored
Fix PhysX simulation lifecycle ownership (#6588)
# Description
PR #6505 removed the Kit extension startup that previously re-imported
`isaaclab_physx` after Kit loaded. When task configuration imports the
PhysX package before Kit, the compatibility hook returns early and is
never retried. The original Isaac Sim `SimulationManager` STOP callback
then invalidates the tensor view shared with `PhysxManager`, causing
Franka and other PhysX articulation environments to fail during their
first reset.
This PR retries the existing idempotent compatibility takeover from
`PhysxManager.initialize()`, where Kit is available and PhysX is the
selected backend. It also updates the import-order contract and adds an
integration regression test that imports `PhysxCfg` before launching
Kit.
This fix is independent of #6337.
## Type of change
- Bug fix (non-breaking change which fixes an issue)
- Documentation update
## Screenshots
N/A
## Validation
- Regression RED on unmodified develop: module alias remained the
original Isaac Sim `SimulationManager` after `SimulationContext`
initialization.
- Regression GREEN: `1 passed`.
- `Isaac-Reach-Franka`, 16 environments, PhysX: environment creation,
reset, and first step completed with exit code 0 and without
invalidated-view errors.
- `./isaaclab.sh -p tools/changelog/cli.py check develop`
- `./isaaclab.sh -f`
## Checklist
- [x] I have read and understood the contribution guidelines
- [x] I have run the pre-commit checks with `./isaaclab.sh -f`
- [x] I have made corresponding changes to the documentation
- [x] My changes generate no new warnings
- [x] I have added tests that prove the fix is effective
- [x] I have added a changelog fragment for every touched package
- [x] My name already exists in `CONTRIBUTORS.md`1 parent 97b23cf commit 03904ab
4 files changed
Lines changed: 59 additions & 7 deletions
File tree
- source/isaaclab_physx
- changelog.d
- isaaclab_physx
- physics
- test/sim
Lines changed: 5 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
49 | 49 | | |
50 | 50 | | |
51 | 51 | | |
52 | | - | |
53 | | - | |
54 | | - | |
55 | | - | |
56 | | - | |
57 | | - | |
58 | | - | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
59 | 57 | | |
60 | 58 | | |
61 | 59 | | |
| |||
Lines changed: 4 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
285 | 285 | | |
286 | 286 | | |
287 | 287 | | |
| 288 | + | |
| 289 | + | |
| 290 | + | |
| 291 | + | |
288 | 292 | | |
289 | 293 | | |
290 | 294 | | |
| |||
Lines changed: 45 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
0 commit comments