ynput / ayon-blender

Blender addon for AYON
Apache License 2.0
6 stars 2 forks source link

Collect instance fails on ReferenceError: StructRNA of type Object has been removed #10

Closed HannahFantasia closed 1 month ago

HannahFantasia commented 1 month ago

Is there an existing issue for this?

Current Behavior:

When I open a file in AYON Launcher, save it and publish it. I get an error.

Expected Behavior:

The file should be published.

Version

1.0.0

What platform you are running on?

Linux / Ubuntu

Steps To Reproduce:

  1. open AYON Launcher 1.0.3 through ./ayon --use-staging
  2. click on the tray and open Launcher
  3. open assets>prop>sandbox>modeling>Blender 4.2 LTS
  4. Go to the AYON tray inside Blender>Work files>Save As | This should save the file.
  5. Go to the AYON tray inside Blender> Create> Select Model as Publish Type> Click on Create. | This causes no errors either.
  6. Go to the Publish tab inside the AYON publisher > Select Context> Click on Publish. | At around 20% I get the following errors with these logs: publish_report.json modelMain_logs.txt context_logs.txt

Are there any labels you wish to add?

Relevant log output:

No response

Additional context:

I run Linux Mint XFCE 21.3 which is based on Ubuntu 22.04

BigRoy commented 1 month ago
Traceback (most recent call last):
  File "/home/hannah/.local/share/AYON/dependency_packages/ayon_2406251627_linux-rocky9.zip/dependencies/pyblish/plugin.py", line 528, in __explicit_process
    runner(*args)
  File "/home/hannah/.local/share/AYON/addons/blender_0.2.1-dev.2/ayon_blender/plugins/publish/collect_instance.py", line 37, in process
    members.extend(instance_node.children_recursive)
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ReferenceError: StructRNA of type Object has been removed

Thanks for the report - I'll need to check whether this is Linux related or Blender 4.2 related and they have some new garbage collection on the instance node happening that takes it out of memory as we're publishing.

BigRoy commented 1 month ago

Unfortunately(?) the publish succeeds for me in Blender 4.2 LTS on Windows:

image

Could you share a screen recording of how you're publishing? Just to see if there's anything special that may help in reproducing this.

Could it be, that by any chance, you had the publisher UI open (and it at already reset?) and you just click publish whilst having made changes in the scene between the "reset" and the "publish". So that maybe the object that the publisher had in memory may have disappeared in the meantime?

I assume you're always getting this error? (It's reproducable?)

HannahFantasia commented 1 month ago

Here is the screenrecording and some more logs of that specific screenrecording:

  File "/home/hannah/.local/share/AYON/dependency_packages/ayon_2406251627_linux-rocky9.zip/dependencies/pyblish/plugin.py", line 528, in __explicit_process
    runner(*args)
  File "/home/hannah/.local/share/AYON/addons/kitsu_1.2.2/ayon_kitsu/plugins/publish/collect_kitsu_credential.py", line 19, in process
    gazu.log_in(os.environ["KITSU_LOGIN"], os.environ["KITSU_PWD"])
                ~~~~~~~~~~^^^^^^^^^^^^^^^
  File "<frozen os>", line 679, in __getitem__
KeyError: 'KITSU_LOGIN'

This somehow became a Kitsu error. I will turn it off and try it again.

https://github.com/user-attachments/assets/e2e970ce-1265-4f55-af33-95f6a78cc8ed

context_logs.txt publish_report.json

BigRoy commented 1 month ago

What you're doing in the video all seems fine - so 👍

This somehow became a Kitsu error. I will turn it off and try it again.

HannahFantasia commented 1 month ago

The publishing works correctly on Kitsu, the error I get with the KITSU_LOGIN key comes down to: when I click on login on Kitsu Connect in AYON launcher. This is when the IP is local instead of on a remote server.

Traceback (most recent call last):
  File "/home/hannah/.local/share/AYON/addons/kitsu_1.2.2/ayon_kitsu/kitsu_widgets.py", line 160, in _on_ok_click
    if validate_credentials(login_value, pwd_value):
  File "/home/hannah/.local/share/AYON/addons/kitsu_1.2.2/ayon_kitsu/credentials.py", line 34, in validate_credentials
    validate_host(kitsu_url)
  File "/home/hannah/.local/share/AYON/addons/kitsu_1.2.2/ayon_kitsu/credentials.py", line 65, in validate_host
    raise gazu.exception.HostException(f"Host '{kitsu_url}' is invalid.")
gazu.exception.HostException: Host 'http://172.17.0.1:8800/api' is invalid.