Hello,
I am a pipeline developer and my company would like to potentially upgrade to tk-multi-breakdown2
.
I am currently setting up the beta for that with the follwing setup:
- tk-core: 0.20.14
- tk-maya: 0.11.4
- tk-framework-shotgunutils: 5.8.5
- tk-multi-breakdown2: 0.2.5
I am testing in Maya-2022.4
with python-2.7
.
My problem is, that breakdown2
runs into the following error when manager.scan_scene
is running:
Strack-Trace: Traceback (most recent call last):
File "C:\Users\simon.prager\packages\maya_tk_apps\1.11.1\build_output\bundle_cache\app_store\tk-framework-shotgunutils\v5.8.5\python\task_manager\worker_thread.py", line 82, in run
result = task_to_process.run()
File "C:\Users\simon.prager\packages\maya_tk_apps\1.11.1\build_output\bundle_cache\app_store\tk-framework-shotgunutils\v5.8.5\python\task_manager\background_task.py", line 140, in run
return self._cbl(*self._args, **self._kwargs)
File "C:\Users\simon.prager\AppData\Local\Shotgun\p\p5583.basic.maya\cfg\install\core\python\tank\log.py", line 514, in wrapper
response = func(*args, **kwargs)
File "C:\Users\simon.prager\packages\maya_tk_apps\1.11.1\build_output\bundle_cache\app_store\tk-multi-breakdown2\v0.2.5\python\tk_multi_breakdown2\api\manager.py", line 40, in scan_scene
"hook_scene_operations", "scan_scene"
File "C:\Users\simon.prager\AppData\Local\Shotgun\p\p5583.basic.maya\cfg\install\core\python\tank\platform\bundle.py", line 628, in execute_hook_method
resolved_hook_paths, self, method_name, base_class=base_class, **kwargs
File "C:\Users\simon.prager\AppData\Local\Shotgun\p\p5583.basic.maya\cfg\install\core\python\tank\hook.py", line 631, in execute_hook_method
ret_val = hook_method(**kwargs)
File "C:\Users\simon.prager\packages\maya_tk_apps\1.11.1\build_output\bundle_cache\app_store\tk-multi-breakdown2\v0.2.5\hooks\tk-maya_scene_operations.py", line 51, in scan_scene
for ref in cmds.file(q=True, reference=True):
TypeError: Argument to query flag must be a boolean
So for some reason the hook tk-maya_scene_operations
will not evaluate the maya.cmds
correctly - although the command looks good.
I can only get it to work when I change this code to run on the main thread:
Change to:
scene_objects = self._bundle.engine.execute_in_main_thread(
self._bundle.execute_hook_method, "hook_scene_operations", "scan_scene"
)
Unfortunatly the background-task scan_scene
takes quite some time (20 seconds in my test-scene) and during that time maya get’s really slow and tends to crash with fatal-error.
Do you understand why manager.scan_scene
does only evaluate correctly when not running on the main thread? I am really not an expert for multi-threading and could need help from someone with more experience with that.
Thank you and all the best,
Simon