Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

UsdSkel display crash #1228

Closed
cameronwhite opened this issue May 29, 2020 · 4 comments
Closed

UsdSkel display crash #1228

cameronwhite opened this issue May 29, 2020 · 4 comments

Comments

@cameronwhite
Copy link
Contributor

Description of Issue

This is a crash we've encountered working interactively with UsdSkel in Houdini, but can reproduce standalone in usdview with a stripped down file.

Steps to Reproduce

  1. Extract usdskel.tar.gz and enter the folder
  2. Copy over the HumanFemale folder from the UsdSkel sample, which is too large to include as a Github attachment
  3. Run usdview usdskel_1.usda
  4. Ensure that View -> Display Purposes -> Guide is enabled
  5. Scrub the timeline a bit.
  6. In the interpreter, run
l = Sdf.Layer.FindOrOpen("usdskel_2.usda")
usdviewApi.stage.GetRootLayer().TransferContent(l)
  1. Scrubbing the timeline should crash immediately (example crash log is included in the archive)

System Information (OS, Hardware)

Ubuntu 18.04, gcc 7.5

Package Versions

USD 20.05

@spiffmon
Copy link
Member

Thanks, @cameronwhite - we are IP on pulling in PR #1213

@cameronwhite
Copy link
Contributor Author

Great, thank you!
I think this crash is unrelated to the one fixed in my PR, since it's occuring in the skeleton imaging rather than in BakeSkinning

@spiffmon
Copy link
Member

Ah - so sorry I conflated the two; I thought I saw "baking" in this report, but now I see I was imagining it.

@jtran56
Copy link

jtran56 commented Jun 3, 2020

Filed as internal issue #USD-6104.

cameronwhite added a commit to sideeffects/USD that referenced this issue Nov 25, 2020
to remove skeletons that did not have any bindings to skinned prims.

This could lead to crashes later on from accessing expired prims.

UsdSkelImagingSkeletonAdapter::_RemovePrim() checks _skelBindingMap to
determine whether the provided path is the skeleton prim. This was
inconsistent with UsdSkelImagingSkeletonAdapter::ProcessPrimResync(),
which checks _skelDataCache via _GetSkelData(). If there aren't any
bindings, the skeleton is in _skelDataCache but not _skelBindingMap.

Fixes: PixarAnimationStudios#1228, PixarAnimationStudios#1248
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

No branches or pull requests

4 participants