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

Gaffer eats Arnold Version log messages #5950

Open
tomc-cinesite opened this issue Jul 9, 2024 · 2 comments
Open

Gaffer eats Arnold Version log messages #5950

tomc-cinesite opened this issue Jul 9, 2024 · 2 comments

Comments

@tomc-cinesite
Copy link
Contributor

Description

When batch rendering with Arnold, the version information log message is swallowed by Gaffer. This makes debugging render issues harder as there is no way to know the precise Arnold version that was used.

Steps to reproduce

  • Batch render a gfr file that uses Arnold
  • Observe the log output, the first messages from arnold are about Licensing

Ideally, wed see the arnold version information messages at the head of the log:

00:00:00   233MB         | log started Thu Jun 27 11:21:47 2024
00:00:00   234MB         | Arnold 7.3.2.0 [830f6cd3] windows x86_64 clang-15.0.7 oiio-2.4.1 osl-1.13.0 vdb-11.0.0 adlsdk-8.0.7.50 clmhub-3.1.1.43 rlm-14.2.5 optix-8.0.0 2024/05/16 14:38:27
@johnhaddon
Copy link
Member

There are two phases to Arnold initialisation for a render :

  1. Calling AiBegin() to initialise the Arnold API. This is what would print out the Arnold version and a bunch of other stuff.
  2. Calling AiUniverse() to create a universe that will be used for the render. This prints out the stuff you currently see in a batch render.

We deliberately suppress messages from phase 1, because for the Gaffer GUI that happens early in start up so we can query shaders and put them in menus etc. At that point we don't know that the user cares one bit about Arnold in that session, and we follow the "silence is golden" rule. Personally I'd like to stick with that rule, unless anyone wants to make the case for constant verbosity?

There's obviously more value in having the additional logging for an Arnold batch render task though, so I'm wondering if we should remove the suppression when we know we're calling AiBegin() from a render task? Would that be acceptable?

@tomc-cinesite
Copy link
Contributor Author

There's obviously more value in having the additional logging for an Arnold batch render task though, so I'm wondering if we should remove the suppression when we know we're calling AiBegin() from a render task? Would that be acceptable?

I agree with your thoughts John - yeah that would be ideal. In an interactive session we know what the Arnold version is, but looking at farm logs from a week ago is where that info would be most valuable. 🙏

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

2 participants