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

BUG: Compute extent with multi-threading may influence fetching material bindings #3529

Open
roggiezhang-nv opened this issue Feb 10, 2025 · 3 comments

Comments

@roggiezhang-nv
Copy link
Contributor

roggiezhang-nv commented Feb 10, 2025

We found a very strange behavior that ComputeExtent along with GetForwardedTargets in a multi-threading way would influence the behavior of getting material binding with API UsdRelationship::GetForwardedTargets. See the changes of this PR about the test to reproduce this. In the test, it's trying to traverse the whole stage with multi-threads. All operations are supposed to be read-only to the stage, and the test should be successful. However, it fails unexpectedly sometimes. Adding TfRegistryManager::GetInstance().SubscribeTo(); to the first line of main() will pass the test, which we still have no idea why.

You need to run the test with --repeat until-fail:1000 to increase the possibility of failure.

@roggiezhang-nv
Copy link
Contributor Author

@nvmkuruc for vis.

@nvmkuruc
Copy link
Collaborator

On Linux, I had to use --repeat-until-fail 10000 to reproduce the failure.

@jesschimein
Copy link
Collaborator

Filed as internal issue #USD-10666

(This is an automated message. See here for more information.)

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