快速结论:在 Ollama 0.32.4 上,使用 laguna-xs-2.1:q4_K_M 模型连续第二次发起推理请求时,llama-server 崩溃,报错 GGML_ASSERT(tensor->data != NULL) 和 STATUS_STACK_BUFFER_OVERRUN。优先排查 prompt cache 复用(slot reuse)阶段的内存分配问题。
适用环境:Ollama 0.32.4,Windows 11,AMD Radeon AI PRO R7900(32 GB),使用 Vulkan 后端运行模型。
最快修复方案:暂无确认的一步修复方案。每次请求前手动重启 Ollama(ollama serve 再重新加载模型)可使单次请求成功,但第二次仍会崩溃。
注意事项:该崩溃发生在 prompt cache 保存/恢复时,与 slot 复用逻辑(sim_best = 0.848,f_keep = 0.205)相关。在官方修复前,可尝试关闭 context shift、降低 OLLAMA_NUM_PARALLEL 或 OLLAMA_MAX_LOADED_MODELS,但效果未知。
问题场景
用户使用 Ollama 0.32.4 在 Windows 上运行 laguna-xs-2.1:q4_K_M 模型。第一次 ollama run 或 /api/generate 请求成功返回结果,紧接着运行完全相同的第二次请求时,llama-server 进程崩溃并退出,导致后续所有请求失败。
报错原文
[GIN] 2026/07/26 - 13:31:57 | 200 | 24.1802973s | ::1 | POST "/api/generate"
srv server_strea: conv_id= (empty=1)
slot get_availabl: id 9 | task -1 | selected slot by LCP similarity, sim_best = 0.848 (> 0.100 thold), f_keep = 0.205
srv get_availabl: updating prompt cache
srv prompt_save: - saving prompt with length 190, total state size = 29.693 MiB (draft: 0.000 MiB)
C:/a/ollama/ollama/build/llama-server-cpu/_deps/llama_cpp-src/ggml/src/ggml-backend.cpp:348: GGML_ASSERT(tensor->data != NULL && "tensor not allocated") failed
time=2026-07-26T13:32:23.070-05:00 level=ERROR source=llama_server.go:1598 msg="llama-server completion error" error="Post \"http://127.0.0.1:55458/completion\": read tcp 127.0.0.1:57939->127.0.0.1:55458: wsarecv: An existing connection was forcibly closed by the remote host."
[GIN] 2026/07/26 - 13:32:23 | 500 | 9.7883993s | ::1 | POST "/api/generate"
time=2026-07-26T13:32:24.266-05:00 level=ERROR source=llama_server.go:985 msg="llama-server terminated" error="exit status 0xc0000409" exit.code=3221226505 exit.hex=0xc0000409 exit.ntstatus="The system detected an overrun of a stack-based buffer in this application. This overrun could potentially allow a malicious user to gain control of this application."
原因分析
可能原因:第二次请求复用了之前请求的 slot,在 srv prompt_save 保存 prompt cache 状态时,底层 GGML tensor 未能正常分配或内存已被释放,导致 GGML_ASSERT(tensor->data != NULL) 触发。随后 stack buffer overrun(0xc0000409)指示内存写入越界,可能与 Vulkan 后端在处理 cache 恢复时的实现缺陷有关。
环境排查
- 确认 Ollama 版本是否为 0.32.4(日志中可见)。
- 确认操作系统及架构:Windows 11 64-bit。
- 确认 GPU 型号及显存:AMD Radeon AI PRO R7900(32 GB),Vulkan 驱动已安装。
- 查看 OLLAMA_NUM_PARALLEL 和 OLLAMA_MAX_LOADED_MODELS 设置(日志中显示
-np 10,并且环境变量中 OLLAMA_NUM_PARALLEL=10)。 - 检查
OLLAMA_KEEP_ALIVE值(日志显示8h0m0s)。
解决步骤
- 目前官方未发布针对此问题的修复补丁,建议关注 GitHub Issue #17406 以获取更新。
- 作为临时绕过,每次发起新
AI 工具推荐
想把多个 AI 模型放在一个入口?
GamsGo AI 集成 ChatGPT、DeepSeek、Gemini、Claude、Midjourney、Veo 等常用模型,适合写作、绘图、视频和日常 AI 工作流。
推广链接:通过此链接购买,我可能获得佣金,不影响你的价格。
这个方案解决了吗?
可以继续搜索完整报错,或查看同一工具的其他排查指南。


