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

No (3D)Viewer in 1.2.0.0+ #5158

Closed
SteffenDuenner opened this issue Feb 20, 2023 · 7 comments
Closed

No (3D)Viewer in 1.2.0.0+ #5158

SteffenDuenner opened this issue Feb 20, 2023 · 7 comments

Comments

@SteffenDuenner
Copy link

Version: Gaffer 1.2.0.0-linux and later - 1.2.0.0a3 was fine
I'm on Linux Mint 21.1 x86_64, 5.15.0-60-generic, NVIDIA GeForce RTX 2070 SUPER Mobile / Max-Q with 525.85.12 drivers

Description

The "Viewer" doesn't show anything any more since version 1.2.0.0. Version 1.2.0.0a3 works as expected.

Steps to reproduce

  1. Open Gaffer
  2. Choose Help > Examples > Box Basics to get a basic scene open. You could use any other file though.
  3. Click on the Focus circle next to the "cube" or the "ScaleScene" node
  4. This is the result in 1.2.0.0a3:
    image

This is 1.2.0.2 (1.2.0.0 and 1.2.0.1 behave the same):
image

@johnhaddon
Copy link
Member

I'm not able to reproduce this and a quick look through the differences between versions hasn't given me any bright ideas. Could you try a few things to help us get to the bottom of this please?

  1. Check the terminal to see if it contains any errors.
  2. Try focussing an image node (e.g. a Checkerboard) rather than a scene node. Does that show up in the viewer?
  3. Try switching the Viewer to follow selection rather than follow focus, and then select the cube. Does that make a difference?

@SteffenDuenner
Copy link
Author

SteffenDuenner commented Feb 20, 2023

Thanks for investigating this.

  1. I started Gaffer from the terminal. The 1.2.0.0a3 version just threw an OCIO error (that could be ignored), the 1.2.0.2 gave me this:
ERROR : EventLoop.__qtIdleCallback : Traceback (most recent call last):
  File "/home/steffen/Downloads/gaffer-1.2.0.2-linux/python/GafferUI/EventLoop.py", line 281, in __qtIdleCallback
    if not c() :
  File "/home/steffen/Downloads/gaffer-1.2.0.2-linux/python/GafferUI/LazyMethod.py", line 163, in __idle
    cls.__doPendingCalls( widget, method )
  File "/home/steffen/Downloads/gaffer-1.2.0.2-linux/python/GafferUI/LazyMethod.py", line 176, in __doPendingCalls
    method( widget, *pendingCall.args, **pendingCall.kw )
  File "/home/steffen/Downloads/gaffer-1.2.0.2-linux/python/GafferUI/NodeSetEditor.py", line 282, in __lazyUpdate
    self._updateFromSet()
  File "/home/steffen/Downloads/gaffer-1.2.0.2-linux/python/GafferUI/Viewer.py", line 193, in _updateFromSet
    self.__currentView = GafferUI.View.create( plug )
  File "/home/steffen/Downloads/gaffer-1.2.0.2-linux/startup/gui/viewer.py", line 64, in __sceneView
    view = GafferSceneUI.SceneView()
  File "/home/steffen/Downloads/gaffer-1.2.0.2-linux/startup/gui/viewer.py", line 147, in __loadRendererSettings
    script.execute( script.serialise( parent = script["ViewerSettings"] ), parent = script["Processor"] )
IECore.Exception: Line 313 :   File "<string>", line 313
    __children["vector_math1"]["__uiPosition"].setValue( imath.V2f( -55,5611877, 7,07471514 ) )
                                                                                          ^
SyntaxError: invalid token

  1. The Image Reader node works in both versions
  2. "Follow Selection" doesn't help in 1.2.0.2

@johnhaddon
Copy link
Member

Oh, interesting! Do you know what locale setting you're using? Something with a European flavour perhaps? The output from env | grep LC should tell us.

Could you try setting the LC_NUMERIC environment variable to C before launching Gaffer please? I think your locale is exposing a bug in Gaffer that prevents it from serialising scripts properly. We recently removed the LC_NUMERIC=C workaround because we thought it was only needed for a bug in OpenColorIO that has been fixed, but it looks like we have a similar bug of our own (or perhaps have inherited one from Imath).

@johnhaddon
Copy link
Member

I can now reproduce this by setting LC_NUMERIC=fr_FR.UTF-8 before running Gaffer.

@SteffenDuenner
Copy link
Author

Oh, interesting! Do you know what locale setting you're using? Something with a European flavour perhaps? The output from env | grep LC should tell us.

You are right. My locale is set to:

LC_ADDRESS=de_DE.UTF-8
LC_NAME=de_DE.UTF-8
LC_MONETARY=de_DE.UTF-8
LC_PAPER=de_DE.UTF-8
LC_IDENTIFICATION=de_DE.UTF-8
LC_TELEPHONE=de_DE.UTF-8
LC_MEASUREMENT=de_DE.UTF-8
LC_TIME=de_DE.UTF-8
LC_NUMERIC=de_DE.UTF-8

Could you try setting the LC_NUMERIC environment variable to C before launching Gaffer please?

Setting LC_NUMERIC=C indeed does help.

Thanks a lot 👍🏻

johnhaddon added a commit to johnhaddon/gaffer that referenced this issue Feb 20, 2023
I removed this in e323014 after verifying that the OCIO bug it worked around was now fixed properly. But what I didn't realise is that we have our _own_ equivalent bug in ImageEngine/cortex#1338. So I'm reverting the change until we have time to fix properly in Cortex.

Fixed GafferHQ#5158
johnhaddon added a commit to johnhaddon/gaffer that referenced this issue Feb 20, 2023
I removed this in e323014 after verifying that the OCIO bug it worked around was now fixed properly. But what I didn't realise is that we have our _own_ equivalent bug in ImageEngine/cortex#1338. So I'm reverting the change until we have time to fix properly in Cortex.

Fixes GafferHQ#5158
@johnhaddon
Copy link
Member

Opened #5159 with a temporary fix that will go into the next version, and ImageEngine/cortex#1338 to eventually fix the underlying bug in Cortex.

@SteffenDuenner
Copy link
Author

Thank you!

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