
RuntimeError: hostbuf_file_reader_read failed
快速结论:该报错通常在 ComfyUI 加载 Ideogram 模型进行文本编码(CLIP / text encoder)时触发,优先排查动态 VRAM 管理是否导致 CUDA 内存不足或文件读取异常。
问题场景
用户在 ComfyUI 中运行 Ideogram 工作流,模型使用 aimdo 0.4.8,显卡为 RTX 3090。禁用所有自定义节点后问题依然存在。用户尝试使用 --disable-dynamic-vram 参数但导致 Python 崩溃。
报错原文
[ERROR] !!! Exception during processing !!! hostbuf_file_reader_read failed
[ERROR] Traceback (most recent call last):
File "E:\AI\ComfyUI\execution.py", line 536, in execute
output_data, output_ui, has_subgraph, has_pending_tasks = await get_output_data(...)
...
File "E:\AI\ComfyUI\comfy\text_encoders\ideogram4.py", line 62, in encode_token_weights
out, pooled, extra = super().encode_token_weights(token_weight_pairs)
...
File "E:\AI\ComfyUI\comfy\sd1_clip.py", line 279, in forward
outputs = self.transformer(None, attention_mask_model, embeds=embeds, ...)
...
File "E:\AI\ComfyUI\comfy\text_encoders\llama.py", line 759, in forward
x, current_kv = layer(x=x, ...)
原因分析
可能原因:hostbuf_file_reader_read failed 错误通常表明在读取模型权重或缓存文件时,底层文件系统或 CUDA 内存映射失败。结合用户场景,可能的原因包括:
- 动态 VRAM 管理导致模型加载时内存分配冲突,或文件读取被中断。
- Ideogram 模型(特别是
Ideogram4TEModel_)的权重文件损坏或不完整。 - PyTorch 或 CUDA 版本不兼容,导致内存映射操作失败。
- 系统可用内存不足(包括显存和系统 RAM),导致文件读取操作无法完成。
由于用户尝试 --disable-dynamic-vram 后 Python 崩溃,可能暗示模型体积较大或 VRAM 管理存在更深层问题。
环境排查
- ComfyUI 版本:确认已更新到最新版(用户使用最新版,但建议再次确认)。
- aimdo(Ideogram 模型工具)版本:0.4.8。
- Python 版本:根据日志
.venv-pt210推测为 Python 3.10/3.11。 - PyTorch 版本:日志指向 PyTorch 2.1.0(
.venv-pt210)。 - CUDA 版本:需确认与 PyTorch 兼容。
- 显卡:RTX 3090(24GB VRAM),显存可能并非瓶颈,但动态 VRAM 管理可能触发异常。
- 模型文件完整性:检查
Ideogram4TEModel_对应的权重文件是否下载完整。
解决步骤
- 确认模型文件完整性:删除 Ideogram 模型缓存目录(通常位于
ComfyUI/models/checkpoints/或custom_nodes/aimdo/),重新下载模型权重。 - 尝试稳定 VRAM 设置(可优先尝试):在 ComfyUI 启动参数中添加
--normalvram(而非--disable-dynamic-vram),以避免动态内存调度问题。命令示例:python main.py --normalvram - 检查 PyTorch / CUDA 兼容性:确保 PyTorch 2.1.0 与已安装的 CUDA 运行时版本匹配。可通过以下命令验证:
python -c "import torch; print(torch.__version__); print(torch.version.cuda)"如果版本不匹配,考虑升级 PyTorch 或 CUDA。
- 清理缓存并重启:关闭 ComfyUI,删除临时缓存文件(如
.cache目录),然后以管理员权限重新运行。 - 测试较小模型:暂时更换为其他模型(如 SDXL)运行相同工作流,确认是否仅为 Ideogram 模型专属问题。
验证方法
成功加载 Ideogram 模型并完成文本编码,不再出现 hostbuf_file_reader_read failed 错误,且日志中 [INFO] Model Ideogram4TEModel_ prepared for dynamic VRAM loading 后能正常执行后续步骤。



