Skip to content

Issues with unloading payloads with UsdSkel bindings #2820

@JamesPedFoundry

Description

@JamesPedFoundry

Description of Issue

Caches in UsdImaging are not correctly disconnected between UsdSkelRoot's and their bound Mesh prims.

This causes issues when unloading payloads which contain UsdSkel assets, or assets UsdSkel is bound to. Causes the error:

Used expired 'Mesh' prim
or
ERROR: Usdview encountered an error while rendering.Used expired 'Mesh' prim </HumanFemale_Group/HumanFemale/Body_sbdv> - UsdExpiredPrimAccessError thrown: -> Usd_ThrowExpiredPrimAccessError at [sic: path\to]\primData.cpp:283

The viewer then appears to crash and render black. We have been able to via more explicit loading/unloading steps to avoid the crashing to black, but its very unstable, and sometimes can cause the Mesh Prims to disappear and not return until restarted.

Steps to Reproduce

  1. Load UsdView with the HumanFemale.walk.usd example provided by Pixar:
    https://openusd.org/release/dl_usdskel_examples.html
  2. Unload via the right click context menu the /root/HumanFemale_Group/HumanFemale

System Information (OS, Hardware)

Windows NVIDIA A2000
Linux Rocky 9 NVIDIA P2000
Linux CentOS 7.6 NVIDIA P2000

Package Versions

USD 23.05
USD 23.11

Build Flags

--usdview --usd-imaging --alembic --python

Metadata

Metadata

Assignees

No one assigned

    Labels

    blockedIssue fix or pull request blocked until questions are answered or pending notes are addressed

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions