PixarAnimationStudios / OpenUSD

Universal Scene Description
http://www.openusd.org
Other
6.11k stars 1.21k forks source link

Issues with unloading payloads with UsdSkel bindings #2820

Open JamesPedFoundry opened 11 months ago

JamesPedFoundry commented 11 months ago

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

jesschimein commented 11 months ago

Filed as internal issue #USD-8971

clach commented 3 months ago

Hi @JamesPedFoundry, I was unable to repro this issue in either release or dev. Is this something you're still seeing, and if so, can you provide any more details about reproducing?