fix(deps): bump usd-core to >=26.5 for multithreaded collider crash fix#6301
fix(deps): bump usd-core to >=26.5 for multithreaded collider crash fix#6301pv-nvidia wants to merge 1 commit into
Conversation
OpenUSD 26.05 fixes a race in UsdPhysicsParsingUtility that could corrupt the heap (malloc_consolidate(): invalid chunk size / double free) when parsing a single rigid body with many mesh colliders beneath it, before the first simulation step (OpenUSD PR isaac-sim#4002 / commit 060715f). Bumps the kit-less usd-core pin from >=25.11,<26.0 to >=26.5,<27.0 and updates the metadata guard test (renamed from the USD 25 ABI assertion).
Greptile SummaryBumps the kit-less
Confidence Score: 4/5Safe to merge as a draft experiment; the ABI mismatch with Isaac Sim's bundled USD 25.x is a self-documented blocker that will surface immediately in CI. The change is minimal and internally consistent — pyproject.toml, the guard test, and the changelog all agree on the new range. The only material risk is the known ABI incompatibility between usd-core 26.x and the Isaac Sim runtime's bundled USD 25.x, which the PR author explicitly acknowledges and uses as the reason this is opened as a draft. No logic, data, or security issues were introduced by the three changed files themselves. source/isaaclab/pyproject.toml — the version constraint is the single load-bearing line; confirm the upper bound Important Files Changed
Sequence Diagram%%{init: {'theme': 'neutral'}}%%
sequenceDiagram
participant User as Kit-less install
participant Pip as pip resolver
participant USD as usd-core 26.5
participant ISim as Isaac Sim runtime (USD 25.x)
User->>Pip: install isaaclab[kit-less]
Pip->>USD: "resolve usd-core>=26.5,<27.0"
USD-->>Pip: usd-core 26.5 (OpenUSD 26.05 ABI)
Pip-->>User: installed
Note over ISim: Isaac Sim runtime bundles USD 25.x (unchanged)
User->>ISim: launch with Isaac Sim
ISim-->>User: ABI mismatch (26.x vs 25.x) - CI blocker acknowledged in PR
User->>USD: parse USD physics (kit-less / standalone)
USD-->>User: "thread-safe parse (OpenUSD PR #4002 fix present)"
%%{init: {'theme': 'base', 'themeVariables': {"darkMode": true, "background": "#0d1117", "primaryColor": "#21262d", "primaryTextColor": "#e6edf3", "primaryBorderColor": "#8b949e", "lineColor": "#8b949e", "textColor": "#e6edf3", "edgeLabelBackground": "#161b22", "actorBkg": "#21262d", "actorBorder": "#8b949e", "actorTextColor": "#e6edf3", "actorLineColor": "#8b949e", "signalColor": "#8b949e", "signalTextColor": "#e6edf3", "noteBkgColor": "#373320", "noteBorderColor": "#d4a72c", "noteTextColor": "#f0e6c0", "labelBoxBkgColor": "#21262d", "labelBoxBorderColor": "#8b949e", "labelTextColor": "#e6edf3", "loopTextColor": "#e6edf3", "activationBkgColor": "#30363d", "activationBorderColor": "#8b949e"}}}%%
sequenceDiagram
participant User as Kit-less install
participant Pip as pip resolver
participant USD as usd-core 26.5
participant ISim as Isaac Sim runtime (USD 25.x)
User->>Pip: install isaaclab[kit-less]
Pip->>USD: "resolve usd-core>=26.5,<27.0"
USD-->>Pip: usd-core 26.5 (OpenUSD 26.05 ABI)
Pip-->>User: installed
Note over ISim: Isaac Sim runtime bundles USD 25.x (unchanged)
User->>ISim: launch with Isaac Sim
ISim-->>User: ABI mismatch (26.x vs 25.x) - CI blocker acknowledged in PR
User->>USD: parse USD physics (kit-less / standalone)
USD-->>User: "thread-safe parse (OpenUSD PR #4002 fix present)"
Reviews (1): Last reviewed commit: "fix(deps): bump usd-core to >=26.5 for m..." | Re-trigger Greptile |
Description
Bumps the kit-less
usd-corepin from>=25.11,<26.0to>=26.5,<27.0.OpenUSD 26.05 fixes a race in
UsdPhysicsParsingUtility(
LoadUsdPhysicsFromRange→_FinalizeCollisionDescs) that corrupts the heap(
malloc_consolidate(): invalid chunk size/double free) when parsing asingle rigid body with many mesh colliders beneath it — e.g. the H2 robot on
the Newton tablecloth workload — before the first simulation step.
060715f("[usdPhysics] fix for a multithreadedcrash if one rigidbody has multiple colliders beneath"), by Paul Molodowitch.
First released in OpenUSD 26.05 (= usd-core
26.5). 26.03 was tagged 2 daysbefore the fix, so it does not contain it.
multithreaded parses, 0 crashes). Interim workaround
PXR_WORK_THREAD_LIMIT=1is not 100% reliable.
The previous
<26.0cap was added by @AntoineRichard in #6165 because the IsaacSim runtime stack loads USD 25.x internals, so a kit-less
usd-core 26.5causesan ABI mismatch. This PR therefore likely cannot pass install/smoke CI until
the Isaac Sim runtime's bundled OpenUSD is uplifted to ≥26.05 (or PR #4002 is
backported). Opened as a draft to surface exactly what CI does with the bump.
cc @AntoineRichard @kellyguo11 @ooctipus
Type of change
Checklist
test_source_package_metadata.py)