MLX runner crashes on Qwen3.8 27B with Unable to load kernel v_copyfloat32bfloat16 / MTLCompilerService error

该报错通常发生在 Apple Silicon 上通过 Ollama MLX runner 加载 Qwen3.8 27B 模型时,Metal 编译器服务(MTLCompilerService)失效导致内核加载失败。优先尝试重启 Ollama 服务,因为该问题已被确认可以通过重启解决。

快速结论:该报错通常发生在 Apple Silicon 上通过 Ollama MLX runner 加载 Qwen3.8 27B 模型时,Metal 编译器服务(MTLCompilerService)失效导致内核加载失败。优先尝试重启 Ollama 服务,因为该问题已被确认可以通过重启解决。

适用环境:Ollama(MLX runner),Apple Silicon(M 系列芯片),macOS,模型为 qwen3.8:27b-mlx(也可复现于 qwen3.8:27b-mxfp8)。

最快修复方案:重启 Ollama 服务。Issue 中唯一确认有效的修复方案是重启 Ollama 后问题消失。

注意事项:该方案并未解释底层原因,属于临时恢复手段。如果频繁出现,可能需要进一步排查 Metal 编译器服务的系统级问题。

问题场景

在 Apple Silicon 设备上通过 Ollama 运行 Qwen3.8 27B 模型时,MLX runner 在模型加载阶段崩溃。无论通过 ollama run qwen3.8:27b-mlx 直接运行,还是通过 OpenAI 兼容的 /v1/chat/completions 接口发送请求,均会触发该问题。MLX 初始化正常、张量加载成功,但在加载 Metal 内核 v_copyfloat32bfloat16 时发生 panic,Ollama 返回 HTTP 500 错误。

报错原文

panic: mlx: [metal::Device] Unable to load kernel v_copyfloat32bfloat16
        Unable to reach MTLCompilerService. The process is unavailable because the compiler is no longer active.
        Latest invalidation reason: Connection init failed at lookup with error 141 - Reentrancy avoided
         at /Users/runner/work/ollama/ollama/build/darwin-sources/_deps/mlx-c-src/mlx/c/transforms.cpp:73

error loading llama server error="mlx runner failed: panic: mlx: [metal::Device] Unable to load kernel v_copyfloat32bfloat16 (exit: exit status 2)"

[GIN] 2026/08/25 - 09:56:28 | 500 |  322.435417ms |   193.51.100.23 | POST     "/v1/chat/completions"

原因分析

可能原因:MLX runner 在初始化 Metal 内核时无法连接 MTLCompilerService。错误信息中的 error 141 - Reentrancy avoided 表明 Metal 编译器服务设备可能处于异常状态,拒绝接受新的编译请求。这并非模型文件损坏或 Ollama 配置错误,而是系统层 Metal 编译器服务在进程生命周期内不可用。具体触发条件尚未明确,但从 Issue 中“重启 Ollama 后修复”的结果来看,MLX runner 子进程与 Metal 编译器服务之间的连接状态可能是关键因素。

环境排查

  • 确认 Ollama 版本是否为较新版本(Issue 中 MLX 版本为 0.32.0-213-gadf21de,可能对应 Ollama 某一特定版本)。
  • 确认 macOS 系统版本及 Metal 驱动状态(是否为最新)。
  • 确认 Apple Silicon 芯片型号(M1/M2/M3/M4 等)及统一内存大小(Issue 上报错环境为 128GB 内存)。
  • 尝试 ollama list 确认模型已正确拉取,排除模型文件不完整。

解决步骤

  1. 重启 Ollama 服务:ollama stop 然后 ollama serve,或者直接终止 Ollama 进程后重新启动(可通过活动监视器或 pkill ollama)。
  2. 重启完成后,再次尝试 ollama run qwen3.8:27b-mlx 或发送 API 请求验证。
  3. 如果问题仍然存在,可尝试重启 macОS(更彻底地重置 Metal 编译器服务状态)。
  4. 如果频繁重复出现,可尝试删除并重新拉取模型:ollama rm qwen3.8:27b-mlx 然后 ollama pull qwen3.8:27b-mlx(注意:此方法仅为推测,Issue 中未明确验证)。

验证方法

重启 Ollama 后,确认以下任一项即可判定问题已解决:ollama run qwen3.8:27b-mlx 能正常进入对话界面;或通过 curl/v1/chat/completions 发送请求返回正常 JSON 响应(HTTP 200),而非之前的 HTTP 500 错误。

参考来源

ollama/ollama #17986

GamsGo AI

AI 工具推荐

想把多个 AI 模型放在一个入口?

GamsGo AI 集成 ChatGPT、DeepSeek、Gemini、Claude、Midjourney、Veo 等常用模型,适合写作、绘图、视频和日常 AI 工作流。

了解 GamsGo AI

推广链接:通过此链接购买,我可能获得佣金,不影响你的价格。

这个方案解决了吗?

celebrityanime
celebrityanime
文章: 20365

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注