TinyTerra / ComfyUI_tinyterraNodes

A selection of nodes for Stable Diffusion ComfyUI
GNU General Public License v3.0
397 stars 45 forks source link

[Bug] pipeLoader doesn't expect ckpy_name to be changed to an input, fails when selector passed in #31

Closed Chubbly closed 1 year ago

Chubbly commented 1 year ago

If you change the ckpt_name in the pipeLoader to an input and then pass in a selected checkpoint, pipeLoader throws an error:

Error occurred when executing ttN pipeLoader:

unhashable type: 'list'

File "C:\Users\hoffl\Stable Diffusion\ComfyUI_windows_portable\ComfyUI\execution.py", line 151, in recursive_execute
output_data, output_ui = get_output_data(obj, input_data_all)
File "C:\Users\hoffl\Stable Diffusion\ComfyUI_windows_portable\ComfyUI\execution.py", line 81, in get_output_data
return_values = map_node_over_list(obj, input_data_all, obj.FUNCTION, allow_interrupt=True)
File "C:\Users\hoffl\Stable Diffusion\ComfyUI_windows_portable\ComfyUI\execution.py", line 74, in map_node_over_list
results.append(getattr(obj, func)(**slice_dict(input_data_all, i)))
File "C:\Users\hoffl\Stable Diffusion\ComfyUI_windows_portable\ComfyUI\custom_nodes\ComfyUI_tinyterraNodes\tinyterraNodes.py", line 550, in adv_pipeloader
update_loaded_objects(prompt)
File "C:\Users\hoffl\Stable Diffusion\ComfyUI_windows_portable\ComfyUI\custom_nodes\ComfyUI_tinyterraNodes\tinyterraNodes.py", line 153, in update_loaded_objects
desired_ckpt_names.add(entry["inputs"]["ckpt_name"])

I found this bug using the Checkpoint Selector from https://github.com/giriss/comfy-image-saver but I think this would happen for any node that attempted to pass in a checkpoint name.

TinyTerra commented 1 year ago

This should be fixed in f835f0f852a299f92d793e091debebffcb2f7ece