You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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
Create an empty stage on disk. I simply used:
#usda 1.0
(
)
Launch Houdini, create a Geometry node with a usdimport SOP inside it, and set the SOP's Display/Render flags.
Enter the path to the empty stage file in the import_file parameter.
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
The text was updated successfully, but these errors were encountered:
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 theimport_primpaths
parameter.Steps to Reproduce
usdimport
SOP inside it, and set the SOP's Display/Render flags.import_file
parameter./world{foo=bar}geo
in theimport_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. TheUT_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
The text was updated successfully, but these errors were encountered: