
Crash in Vulkan backend on Intel Arc when using Ollama through VS Code Continue (Exception 0xe06d7363 during llama_decode)
快速结论:此报错发生在 Windows 11 + Intel Arc GPU(如 Arc 140V)上,仅当通过 VS Code Continue 插件调用 Ollama 进行流式解码时触发。直接使用终端 `ollama run` 不会崩溃。优先排查 Ollama Vulkan 后端在高频小批量解码下的同步问题,或 Intel Arc Vulkan 驱动兼容性。
问题场景
用户在 Windows 11 系统上使用 Ollama 0.15.6 运行 Qwen2.5-7B(Q4_K 量化)模型,通过 VS Code Continue 扩展发送流式请求。模型加载成功,29 层全部卸载到 Intel Arc 140V GPU,Flash Attention 已启用。在 Continue 触发解码流程(`llama_decode`)后,Ollama runner 进程崩溃,返回 500 错误。
报错原文
Exception 0xe06d7363 0x19930520 0x1de98f9550 0x7ffa3647a80a signal arrived during external code execution
llama_decode → crash
wsarecv: An existing connection was forcibly closed by the remote host
原因分析
可能原因包括:
- Vulkan 后端在高频解码调用下的 bug: Continue 触发流式、增量、小批量解码请求,与直接终端调用的模式不同,导致 GPU 后端在 `llama_decode` 期间出现未处理的异常。
- Intel Arc Vulkan 驱动兼容性问题: 类似的高频解码工作负载在 GGML 项目中也出现过崩溃,可能与驱动的内存同步或批处理处理有关。
- CPU↔GPU 同步失败: 增量解码时的同步机制可能触发 `Exception 0xe06d7363`(微软结构化异常 C++ 异常),这表明是从 C++ 运行时抛出的未处理异常。
环境排查
- Ollama 版本:0.15.6(建议更新到最新版测试)
- 显卡驱动:Intel 32.0.101.8425(可能原因;有用户更新驱动后问题缓解)
- Vulkan API:1.4.333
- 操作系统:Windows 11
- 模型:Qwen2.5-7B(Q4_K 量化)
- 触发方式:仅 VS Code Continue 扩展,终端直接运行无问题
解决步骤
- 更新 Ollama 和 Vulkan 后端: 升级到最新版 Ollama(Issue 关闭时版本为 0.15.6 后的版本),可能已包含后端修复。
- 更新 Intel 显卡驱动: 从 Intel 官网更新显卡驱动到最新版本(社区用户反馈某些驱动版本可缓解此问题)。
- 尝试关闭 Flash Attention: 在 Ollama 配置或模型中禁用 Flash Attention,可降低崩溃频率(但非根治)。
- 减少 GPU 层数或降低批次大小: 调整
num_gpu_layers或batch_size参数,降低 GPU 负载,可优先尝试。 - 切换后端(如果可用): 尝试使用 CUDA 或 CPU 后端(若硬件支持),确认问题是否仅存在于 Vulkan。
- 检查 Ollama 服务器日志: 查看
ollama server的完整日志,定位崩溃前的 Vulkan 内存报告或层卸载信息,有助于进一步调试。
验证方法
执行解决步骤后,通过 VS Code Continue 触发同样的流式请求,观察是否不再报错。确认 wsarecv 连接断开和 500 错误不再出现,且模型能完整输出。同时使用 ollama run 验证基础功能仍然正常。



