NAG node just stopped working
- Dominant language
- Python
- Stars
- 133k
- Forks
- 15.7k
- Avg merge
- 1d 6h
- Merged PRs (30d)
- 155
Description
### Custom Node Testing
- [ ] I have tried disabling custom nodes and the issue persists (see [how to disable custom nodes](https://docs.comfy.org/troubleshooting/custom-node-issues#step-1%3A-test-with-all-custom-nodes-disabled) if you need help)
### Expected Behavior
https://github.com/ChenDarYen/ComfyUI-NAG
This the most pivotal node in my entire sdxl workflow suddenly stopped working also its not been updated i want to know what "unexpected keyword argument 'transformer_options'" means the only node that could theoretically affect this is ComfyUI-Easy-Use but the rest are old nodes. Can anyone check this? Also im not using sage attention
### Actual Behavior


### Steps to Reproduce
p
### Debug Logs
```powershell
Error
!!! Exception during processing !!! NAGCrossAttention.forward() got an unexpected keyword argument 'transformer_options'
Traceback (most recent call last):
File "/root/ComfyUI/execution.py", line 496, in execute
output_data, output_ui, has_subgraph, has_pending_tasks = await get_output_data(prompt_id, unique_id, obj, input_data_all, execution_block_cb=execution_block_cb, pre_execute_cb=pre_execute_cb, hidden_inputs=hidden_inputs)
File "/root/ComfyUI/execution.py", line 315, in get_output_data
return_values = await _async_map_node_over_list(prompt_id, unique_id, obj, input_data_all, obj.FUNCTION, allow_interrupt=True, execution_block_cb=execution_block_cb, pre_execute_cb=pre_execute_cb, hidden_inputs=hidden_inputs)
File "/root/ComfyUI/execution.py", line 289, in _async_map_node_over_list
await process_inputs(input_dict, i)
File "/root/ComfyUI/execution.py", line 277, in process_inputs
result = f(**inputs)
File "/root/ComfyUI/comfy_extras/nodes_custom_sampler.py", line 835, in sample
samples = guider.sample(noise.generate_noise(latent), latent_image, sampler, sigmas, denoise_mask=noise_mask, callback=callback, disable_pbar=disable_pbar, seed=noise.seed)
File "/root/ComfyUI/custom_nodes/ComfyUI-NAG/samplers.py", line 172, in sample
output = executor.execute(noise, latent_image, sampler, sigmas, denoise_mask, callback, disable_pbar, seed)
File "/root/ComfyUI/comfy/patcher_extension.py", line 112, in execute
return self.original(*args, **kwargs)
File "/root/ComfyUI/comfy/samplers.py", line 1004, in outer_sample
output = self.inner_sample(noise, latent_image, device, sampler, sigmas, denoise_mask, callback, disable_pbar, seed)
File "/root/ComfyUI/custom_nodes/ComfyUI-NAG/samplers.py", line 108, in inner_sample
samples = executor.execute(self, sigmas, extra_args, callback, noise, latent_image, denoise_mask, disable_pbar)
File "/root/ComfyUI/comfy/patcher_extension.py", line 112, in execute
return self.original(*args, **kwargs)
File "/root/ComfyUI/custom_nodes/ComfyUI-vectorscope-cc/callback_manager.py", line 55, in sample
return original_sample(
File "/root/ComfyUI/custom_nodes/ComfyUI-TiledDiffusion/utils.py", line 34, in KSAMPLER_sample
return orig_fn(*args, **kwargs)
File "/root/ComfyUI/custom_nodes/ComfyUI_smZNodes/smZNodes.py", line 114, in KSAMPLER_sample
return orig_fn(*args, **kwargs)
File "/root/ComfyUI/comfy/samplers.py", line 759, in sample
samples = self.sampler_function(model_k, noise, sigmas, extra_args=extra_args, callback=k_callback, disable=disable_pbar, **self.extra_options)
File "/root/ComfyUI/custom_nodes/ComfyUI-Detail-Daemon/detail_daemon_node.py", line 357, in detail_daemon_sampler
return dds_wrapped_sampler.sampler_function(
File "/root/venv/lib/python3.10/site-packages/torch/utils/_contextlib.py", line 116, in decorate_context
return func(*args, **kwargs)
File "/root/ComfyUI/comfy/k_diffusion/sampling.py", line 220, in sample_euler_ancestral
denoised = model(x, sigmas[i] * s_in, **extra_args)
File "/root/ComfyUI/custom_nodes/ComfyUI-Detail-Daemon/detail_daemon_node.py", line 349, in model_wrapper
return model(x, adjusted_sigma, **extra_args)
File "/root/ComfyUI/comfy/samplers.py", line 408, in __call__
out = self.inner_model(x, sigma, model_options=model_options, seed=seed)
File "/root/ComfyUI/custom_nodes/ComfyUI-NAG/samplers.py", line 91, in __call__
return self.predict_noise(*args, **kwargs)
File "/root/ComfyUI/comfy/samplers.py", line 970, in predict_noise
return sampling_function(self.inner_model, x, timestep, self.conds.get("negative", None), self.conds.get("positive", None), self.cfg, model_options=model_options, seed=seed)
File "/root/ComfyUI/custom_nodes/ComfyUI_smZNodes/smZNodes.py", line 189, in sampling_function
out = orig_fn(*args, **kwargs)
File "/root/ComfyUI/comfy/samplers.py", line 388, in sampling_function
out = calc_cond_batch(model, conds, x, timestep, model_options)
File "/root/ComfyUI/comfy/samplers.py", line 206, in calc_cond_batch
return _calc_cond_batch_outer(model, conds, x_in, timestep, model_options)
File "/root/ComfyUI/comfy/samplers.py", line 214, in _calc_cond_batch_outer
return executor.execute(model, conds, x_in, timestep, model_options)
File "/root/ComfyUI/comfy/patcher_extension.py", line 112, in execute
return self.original(*args, **kwargs)
File "/root/ComfyUI/comfy/samplers.py", line 333, in _calc_cond_batch
output = model.apply_model(input_x, timestep_, **c).chunk(batch_chunks)
File "/root/ComfyUI/comfy/model_base.py", line 159, in apply_model
return comfy.patcher_extension.WrapperExecutor.new_class_executor(
File "/root/ComfyUI/comfy/patcher_extension.py", line 112, in execute
return self.original(*args, **kwargs)
File "/root/ComfyUI/comfy/model_base.py", line 198, in _apply_model
model_output = self.diffusion_model(xc, t, context=context, control=control, transformer_options=transformer_options, **extra_conds).float()
File "/root/venv/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1739, in _wrapped_call_impl
return self._call_impl(*args, **kwargs)
File "/root/venv/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1750, in _call_impl
return forward_call(*args, **kwargs)
File "/root/ComfyUI/custom_nodes/ComfyUI-NAG/sd/openaimodel.py", line 37, in forward
output = comfy.patcher_extension.WrapperExecutor.new_class_executor(
File "/root/ComfyUI/comfy/patcher_extension.py", line 112, in execute
return self.original(*args, **kwargs)
File "/root/ComfyUI/comfy/ldm/modules/diffusionmodules/openaimodel.py", line 873, in _forward
h = forward_timestep_embed(module, h, emb, context, transformer_options, time_context=time_context, num_video_frames=num_video_frames, image_only_indicator=image_only_indicator)
File "/root/ComfyUI/comfy/ldm/modules/diffusionmodules/openaimodel.py", line 44, in forward_timestep_embed
x = layer(x, context, transformer_options)
File "/root/venv/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1739, in _wrapped_call_impl
return self._call_impl(*args, **kwargs)
File "/root/venv/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1750, in _call_impl
return forward_call(*args, **kwargs)
File "/root/ComfyUI/comfy/ldm/modules/attention.py", line 921, in forward
x = block(x, context=context[i], transformer_options=transformer_options)
File "/root/venv/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1739, in _wrapped_call_impl
return self._call_impl(*args, **kwargs)
File "/root/venv/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1750, in _call_impl
return forward_call(*args, **kwargs)
File "/root/ComfyUI/custom_nodes/ComfyUI-Easy-Use/py/modules/layer_diffuse/attension_sharing.py", line 252, in forward
return func(self, x, context, transformer_options)
File "/root/ComfyUI/comfy/ldm/modules/attention.py", line 847, in forward
n = self.attn2(n, context=context_attn2, value=value_attn2, transformer_options=transformer_options)
File "/root/venv/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1739, in _wrapped_call_impl
return self._call_impl(*args, **kwargs)
File "/root/venv/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1750, in _call_impl
return forward_call(*args, **kwargs)
TypeError: NAGCrossAttention.forward() got an unexpected keyword argument 'transformer_options'
```
### Other
_No response_
Contributor guide
Research direction
Start with the traceback through custom_nodes/ComfyUI-NAG/sd/openaimodel.py, custom_nodes/ComfyUI-NAG/samplers.py, comfy/ldm/modules/attention.py, and ComfyUI-Easy-Use's layer_diffuse/attension_sharing.py. Reproduce the workflow while isolating the listed custom nodes, then determine which component causes the transformer_options error; done means a confirmed diagnosis and a workflow that completes without the exception.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python, pytorch
- Domain
- ai, backend
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100