快速结论:该报错在 ComfyUI 使用 ROCm/AMD GPU 运行时触发,报错信息为 `AttributeError: ‘_v_block’`。优先排查是否使用了 `–disable-dynamic-vram` 启动参数,该参数会导致 `_v_block` 未被设置,进而引发此问题。
适用环境:根据 Issue 中已确认的信息,涉及环境为:ComfyUI v0.33.0(commit `2f35f4a`)、ROCm 7.2.1、AMD Radeon AI PRO R9700(gfx1201)、PyTorch 2.9.1+rocm7.2.1。触发场景为 MiniMax Music 3 模型生成任务,但 Issue 中指出该限制不限于此模型。
最快修复方案:更新 ComfyUI 至包含 commit `03fa4e4`(Fix minimax music not working on non dynamic vram, #15588)的版本。该修复通过 `getattr(module, “_v_block”, None) is not None` 防护解决了问题,且不区分设备后端。
注意事项:原始 Issue 作者曾提出使用 `–disable-cuda-graphs` 启动参数可绕过崩溃,但随后确认该问题的根本原因并非 CUDA-graph 相关,因此该参数仅为临时规避手段,在已修复版本中不再必要。上述修复建议已合并至主线,建议直接更新版本而非依赖启动参数。
问题场景
用户在 AMD/ROCm 平台运行 ComfyUI 时触发该错误。具体触发路径为使用 MiniMax Music 3 模型(通过 `RVQDepthDecoder`)进行文本生成音乐任务时,`comfy/model_prefetch.py` 中的 `prefetch_queue_pop()` 函数被调用,并最终抛出 `AttributeError`。Issue 作者指出,崩溃逻辑并非 MiniMax Music 3 专属,任何经过该预取路径的模型在 ROCm 上均存在此风险,但在带 `–disable-dynamic-vram` 参数运行时最先被发现。
报错原文
AttributeError: 'RVQDepthDecoder' object has no attribute '_v_block'
File "comfy/model_prefetch.py", line 116, in prefetch_queue_pop
signature = comfy_aimdo.model_vbar.vbar_fault(module._v_block)
File "comfy/ldm/minimax_music/ar.py", line 320, in generate
comfy.model_prefetch.prefetch_queue_pop(...)
原因分析
Issue 作者首先推测是 CUDA-graph 预取路径的启用条件 `is_device_cuda()` 在 ROCm 环境误判所致——即 HIP-as-CUDA 的设备类型使得该函数返回 `True`,而 `comfy_aimdo` 的图捕获在 ROCm 上实际不工作。然而作者在自行复查后更正了诊断:该问题的真正原因在于使用 `–disable-dynamic-vram` 启动参数时,模块上的 `_v_block` 属性从未被设置,而旧代码无条件读取了该属性。此问题由 commit `03fa4e4` 通过增加属性存在性检查来修复,与设备后端无关。因此,可确认是因为 `module._v_block` 未被赋值导致的条件缺失,但原 Issue 中提到的 `is_device_cuda()` 在 ROCm 下的行为偏差仍可能是一个独立存在的隐患,只是并非本问题的主因。
环境排查
- 确认 ComfyUI 版本是否已包含 commit `03fa4e4`(修复合并于本 Issue 提交之前,对应拉取请求 #15588)。
- 确认是否使用了 `–disable-dynamic-vram` 启动参数,该参数是触发本问题的关键条件。
- 确认 PyTorch 与 ROCm 版本匹配(涉及版本为 torch 2.9.1+rocm7.2.1),但需注意 Issue 已明确此为设备无关 bug。
- 如需复现环境:确认 AMD 显卡型号(示例环境为 gfx1201)与 ROCm 7.2.1 驱动。
解决步骤
- 更新 ComfyUI 版本:将 ComfyUI 更新至包含 commit `03fa4e4` 的版本。该修复已在作者提交 Issue 之前合入主干,因此同步主干代码即可应用修复。
- 移除或保留启动参数:修复生效后,无需再依赖 `–disable-cuda-graphs` 参数规避问题。但若你仍在使用 `–disable-dynamic-vram`,更新后该参数不会再触发崩溃。
- 临时规避(可选):如暂时无法更新版本,可使用 `–disable-cuda-graphs` 启动参数绕过崩溃(作者验证可完成完整生成流程)。但需注意此仅为绕过手段,并非根本修复。
验证方法
在已更新的 ComfyUI 上运行相同的 MiniMax Music 3 文本生成音乐工作流,在其原有启动参数(含 `–disable-dynamic-vram`)下确认不再出现 `AttributeError`,且能正常生成完整音频。若仍需验证,可在生成日志中确认 `prefetch_queue_pop()` 调用未再抛出 `_v_block` 相关异常,或直接运行任意会命中该预取路径的模型确认无崩溃。
参考来源
AI 工具推荐
想把多个 AI 模型放在一个入口?
GamsGo AI 集成 ChatGPT、DeepSeek、Gemini、Claude、Midjourney、Veo 等常用模型,适合写作、绘图、视频和日常 AI 工作流。
推广链接:通过此链接购买,我可能获得佣金,不影响你的价格。
这个方案解决了吗?
可以继续搜索完整报错,或查看同一工具的其他排查指南。


