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

UsdChecker: Connectable behaviour already registered #3547

Open
dgovil opened this issue Feb 25, 2025 · 5 comments
Open

UsdChecker: Connectable behaviour already registered #3547

dgovil opened this issue Feb 25, 2025 · 5 comments

Comments

@dgovil
Copy link
Collaborator

dgovil commented Feb 25, 2025

When I run the usdChecker tests using the new framework, I am seeing a discrepancy with some of the files

This file passes with the new checker, but failed in the old one. It also now has a Coding Error.
It is expected that it no longer fails, but it is odd that it raises this error.

❯ usdchecker --arkit clean/clean_flat.usdc --useNewValidationFramework
Coding Error: in RegisterBehaviorForPrimTypeId at line 454 of ../../pxr/usd/usdShade/connectableAPIBehavior.cpp -- UsdShade Connectable behavior already registered for primTypeId comprised of ';MaterialBindingAPI' type and apischemas.

Validation Result with no explicit variants set
Success!

This is a fresh build of USD 25.2a on macOS 15.4

I don't seem to get this coding error on other paths while using USD beyond the new validation framework in my limited testing.

@tallytalwar
Copy link
Contributor

@dgovil possible for you to share the asset or the structure of the asset? This is interesting because the connectableAPIBehavior registration code has not been touched in a while now.

@dgovil
Copy link
Collaborator Author

dgovil commented Feb 26, 2025

Sorry, I should have mentioned that this is just using the sample asset in the repo already. Under the usdchecker testenv

It only gets run under the Python bindings right now

@tallytalwar
Copy link
Contributor

Yeah I can repro this coding error.

@tallytalwar
Copy link
Contributor

Yup, there is a race in UsdShadeConnectableAPIBehavior which is getting amplified by the new validation framework running validators in parallel. Good find Dhruv.

Running usdchecker single threaded doesn't show this:

 env PXR_WORK_THREAD_LIMIT=1 usdchecker /tmp/clean_flat.usda --useNewValidationFramework                       
Running command: /dist/sw/pxr/dev-daily/bin/usdchecker /tmp/clean_flat.usda --useNewValidationFramework
##################################################################
#  PXR_WORK_THREAD_LIMIT is overridden to '1'.  Default is '0'.  #
##################################################################

Validation Result with no explicit variants set
Success!

@jesschimein
Copy link
Collaborator

Filed as internal issue #USD-10705

(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