环境
- DSH Desktop 2.0.0(Electron),应用内置 sharp 0.35.3 / libvips 8.18.3(app.asar)
- profile:
~/.dsh/profiles/desktop,装有 pptfast@0.19.2(依赖 sharp 0.34.5 / libvips-cpp 8.17.3)
复现步骤
- profile 同时存在 pptfast(sharp 0.34.5)与应用内置的 sharp 0.35.3
- 启动应用,启动日志出现警告
- 任意触发原生图片处理的工具调用 → 渲染器进程崩溃、所有窗口瞬间消失;进行中的 tool_use 变成孤儿,后续对话持续报校验错误 "an assistant message with tool_calls must be followed by tool messages"
启动警告
Class GNotificationCenterDelegate ... may cause spurious casting failures and mysterious crashes
原因分析
同一 Electron 进程内同时加载了两个版本的 libvips(8.17.3 与 8.18.3),macOS Objective-C 类重复 + 原生 ABI 不匹配,导致原生层崩溃,进而拖垮渲染器进程。
临时解决办法
在 pnpm-workspace.yaml 加 override 强制统一 sharp 版本:
注意:pnpm 11 已不读 package.json 里的 pnpm.overrides,override 必须放 pnpm-workspace.yaml。
建议
- 放宽 sharp 依赖范围(如
^0.35),不要锁死在 0.34.x;或
- 延迟/隔离加载原生依赖,避免与宿主应用内置版本在同一进程内共存;或
- 直接使用宿主应用提供的 sharp 实例。
环境
~/.dsh/profiles/desktop,装有pptfast@0.19.2(依赖 sharp 0.34.5 / libvips-cpp 8.17.3)复现步骤
启动警告
原因分析
同一 Electron 进程内同时加载了两个版本的 libvips(8.17.3 与 8.18.3),macOS Objective-C 类重复 + 原生 ABI 不匹配,导致原生层崩溃,进而拖垮渲染器进程。
临时解决办法
在
pnpm-workspace.yaml加 override 强制统一 sharp 版本:注意:pnpm 11 已不读 package.json 里的
pnpm.overrides,override 必须放pnpm-workspace.yaml。建议
^0.35),不要锁死在 0.34.x;或