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

Houdini: usdimport infinite loop with some prim paths #309

Closed
nrusch opened this issue Oct 17, 2017 · 1 comment
Closed

Houdini: usdimport infinite loop with some prim paths #309

nrusch opened this issue Oct 17, 2017 · 1 comment

Comments

@nrusch
Copy link
Contributor

nrusch commented Oct 17, 2017

Description of Issue

The usdimport SOP node will cause Houdini to wind up in what appears to be an infinite loop when certain prim paths are entered in the import_primpaths parameter.

Steps to Reproduce

  1. Create an empty stage on disk. I simply used:
#usda 1.0
(
)
  1. Launch Houdini, create a Geometry node with a usdimport SOP inside it, and set the SOP's Display/Render flags.
  2. Enter the path to the empty stage file in the import_file parameter.
  3. Enter the path /world{foo=bar}geo in the import_primpath parameter, and then move focus out of the parameter (or otherwise force the SOP to cook).

The Houdini UI should freeze and the application should spin indefinitely on the main thread.

I poked around a bit with GDB (though not with a debug build of USD), and it seems to be getting stuck in GusdUSD_Utils::ExtractPrimPathAndVariants. After looking at the code, I suspect the culprit is this loop, specifically that it traverses up two path hops for every iteration. Thus, given the prim path /world{foo=bar}geo, the first iteration of the loop would skip over the variant path /world{foo=bar}, straight to /world, and thus the condition will never be satisfied. The UT_ASSERT_P seems to be a no-op.

This feels like something that may have been introduced while moving the variants = variants.GetParentPath() statement either from the body to the loop statement or vice-versa.

This issue does not appear to occur when using 0.8.0.

Versions

CentOS 7.3.1611
USD 0.8.1
Houdini 16.0.633

@jtran56
Copy link

jtran56 commented Oct 17, 2017

Filed as internal issue #152500.

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

3 participants