Skip to content

[macos][local-asr] stable 1.3.18 包缺少 mlx.metallib,点击「加载并测试」进程直接退出(无崩溃报告) #1098

Description

@HeliumCYH

Describe the bug

macOS stable 1.3.18(Homebrew cask 安装):设置 → 本地模型下载 Qwen3-ASR 0.6B 成功后,点击「加载并测试」应用立即自行退出。不生成任何崩溃报告(~/Library/Logs/DiagnosticReports 无新 .ips,无 jetsam 事件),日志戛然而止。

To Reproduce

  1. brew tap Open-Less/openless https://github.com/Open-Less/openless && brew install --cask openless(1.3.18,ad-hoc 签名,xattr -cr 后正常启动)
  2. 设置 → 本地模型,下载 qwen3-asr-0.6b:下载完成,model.safetensors SHA256 与 HF 官方一致(79d6cbd4…23ea),.openless-asr-ready 标记已写入
  3. 点击「加载并测试」→ 应用秒退

Evidence

终端直接运行二进制捕获 stderr,退出前最后一行:

MLX error: Failed to load the default metallib. library not found library not found library not found library not found  at /Users/runner/work/openless/openless/openless-all/app/src-tauri/vendor/qwen3-asr-rs/mlx-c/mlx/c/stream.cpp:40

包体对比(同一台机器实测):

stable 1.3.18 v2.0.0-Beta.1-tauri
find OpenLess.app -iname "*.metallib" -o -iname "*mlx*" 空 Contents/Resources/mlx.metallib ✅
app 总体积 46 MB 181 MB

即 stable 发行包缺少 MLX 后端必需的 mlx.metallib 资源,但可执行文件内仍编入了 qwen3-asr-rs/mlx-c 调用路径,且失败后进程直接退出而非报错回退。

Device information

  • Type of Mac: MacBook Air, Apple M5 (10C CPU + 8C GPU), 16 GB
  • macOS version: 26 (Tahoe)
  • OpenLess version: 1.3.18 stable(Homebrew cask)

Additional information

Activity

  1. HeliumCYH commented on Sep 21, 2026

    @HeliumCYH
    Author

    补充:v2.0.0-Beta.1 同机复现,问题不止于 stable 缺 metallib

    同一台机器(MacBook Air M5 10+8 / 16GB / macOS 26),两种官方分发形态、同一模型文件(model.safetensors SHA256 = 79d6cbd4…23ea 与 HF 官方一致;preferences:activeAsrProvider=local-qwen3-mlx,localAsrActiveModel=qwen3-asr-0.6b):

    stable 1.3.18 (cask) v2.0.0-Beta.1-tauri (aarch64.dmg)
    包内 mlx.metallib ❌ 缺失(bundle 46MB) ✅ Contents/Resources/mlx.metallib(bundle 181MB)
    点「加载并测试」 stderr 打 MLX error: Failed to load the default metallib(mlx-c/stream.cpp:40)→ 进程退出 UI 提示「验证失败」→ 约 2 秒后进程仍然退出
    验证路径日志 仅上述 MLX 一行 0 行——stdout / stderr / openless.log 均无任何 local-asr / MLX / 错误输出
    崩溃报告 (.ips) / jetsam 无 无

    即:Beta.1 打包补上了 metallib,MLX 加载错误消失,但验证失败后依旧带走整个宿主进程,且全程零日志,用户侧无法定位任何原因。

    时间线提示:v2.0.0-Beta.1 的 tag 打于 9/10,而 #1058(把本地验证改为实际加载模型跑内置转写 + 修 MLX worker 握手)与 #1072(修 HF LFS oid 下载)合入于 9/12–9/13——Beta.1 里仍是 #1006 描述的坏验证路径,这很可能就是「验证失败」的直接原因。

    请求

    1. 从当前 beta 分支再切一个新 beta release(含 fix/cannot-use-local-mlx-qwen3-asr: 修复不能使用本地qwen3-asr模型的问题 #1058/fix(model-store): 接受 HF tree API 返回的裸 LFS oid,修复本地模型下载失败 #1072),确认 packaged Beta 能否通过「加载并测试」;
    2. 无论根因是哪个:验证失败不应静默终止宿主进程。请在退出前往 openless.log 写入 error kind/message,否则「UI 一闪提示、进程消失、无日志无 crash report」对用户而言等同于不可报告的崩溃。
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions