[windows][foundry-local] audio_transcribe 静默挂起:模型加载成功但转录永不返回(无错误、无超时、CPU fallback 不触发)

未關閉
#1,237 0 則留言 0 個 reaction 已指派 0 人 在 GitHub 檢視

維護者通常 1 天內回覆

還沒有人認領這個 Issue。

評估

難度
4/5
預估耗時
3-5 天
新手友好度
38/100
Issue 類型
缺陷
描述清晰度
基本清楚
活躍度
活躍
技術堆疊
rust

研究方向

Start by tracing the Foundry Local Whisper audio_transcribe call and the GPU-to-CPU fallback path in the Rust code; the issue does not name files or tests. Check how the call handles a request that never responds and whether fallback is reached. Done means transcription returns or reports a clear error within a reasonable time, and a hung GPU request can trigger CPU fallback.

由索引模型根據 Issue 內容生成。

描述

环境
  • OS: Windows 11(26200)
  • OpenLess: 2.0.1+build.20261016(C:\Program Files\OpenLess)
  • ASR: foundry-local-whisper / whisper-large-v3-turbo(openai-whisper-large-v3-turbo-cuda-gpu:3,已完整下载缓存)
  • 硬件: RTX 5090 Laptop GPU,驱动 32.0.16.1088(2026-07-22)
  • 相关配置:foundryLocalAsrKeepLoadedSecs: 300、foundryLocalAsrLanguageHint: zh
现象

模型每次都能正常加载到 GPU(日志 Model loaded successfully,耗时 1.1–2.2s),但 audio_transcribe 命令发出后永远没有任何返回——无转录结果、无异常、无超时回调。Foundry 日志在此命令之后只剩下每 3 秒一次的 ModelInfo 轮询,直到进程退出。

OpenLess 侧最终只在 app 自己的动态超时后报错:

[WARN] [coord] core dictation press failed: native ASR provider failed: transcribe Foundry Local Whisper recording (1 chunks) with model whisper-large-v3-turbo

源码中设计的 GPU→CPU fallback 完全没有触发(日志中没有任何 cpu_variant_selected / cpu_download_started 事件),用户侧就是无限等待。

复现步骤
  1. 设置 → 本地 ASR → 选择 Foundry Local Whisper + whisper-large-v3-turbo
  2. 按热键录音,松开送出
  3. 观察:模型加载成功 → audio_transcribe 发出 → 再无下文

已稳定复现 3/3 次(同日 14:00、22:25、22:26)。

关键日志

foundry.core20261019.log:

22:25:39.887 [INF] Model loaded successfully: openai-whisper-large-v3-turbo-cuda-gpu:3
22:25:39.895 [INF] ExecuteCommandWithCallbackManaged: audio_transcribe Data:{"Params":{"OpenAICreateRequest":"{\"FileName\":\"...foundry-whisper-aa863a91-....wav\",\"Language\":\"zh\",\"Model\":\"openai-whisper-large-v3-turbo-cuda-gpu:3\"}"}
—— 之后无任何该命令的响应/错误/完成日志 ——
22:26:34.013 [INF] [Telemetry] Command:ModelInfo Status:Invalid ...(只剩轮询)

(对照:14:00 那次同样 ModelLoad Status: Success Time:1267ms 后 audio_transcribe 发出,同样无下文。)

一台机器上的特殊情况(可能是线索)

该机 nvidia-smi 报 Failed to initialize NVML: Unknown Error(重启 + 已用 powercfg /h off 排除 Fast Startup 后仍然复现)。但 CUDA 计算本身正常:ComfyUI 日常使用正常,Foundry 的 EP registration complete: ... CUDAExecutionProvider ... 成功,ModelLoad 也成功。即问题不是"GPU 完全不可用",而是 Foundry Local Core 在 audio_transcribe 推理路径上静默卡死。

期望
  • audio_transcribe 应在合理时间内返回结果或抛出明确错误
  • GPU 推理失败/挂起时应触发已实现的 CPU fallback,而不是让用户无限等待
  • 建议为 Foundry 调用增加更短的服务端心跳/进度日志,便于定位卡在哪一步
附注

同日该机 sherpa-onnx-local(sense-voice-small-zh)亦无法完成安装(模型从未出现在 models 目录,界面无明确错误提示),如需要可另行开 issue 补充。

主要語言
Rust
星號
3.7k
分支
349
平均合併
2 天 14 小時
30 天內合併 PR
97

環境準備

這個專案沒有提供開發容器、Dockerfile 或貢獻指南,環境需要你自己搭建:先看它的 README,通用步驟見我們的新手貢獻指南。

從這裡開始

  1. 先讀完整個 Issue,再讀專案的貢獻指南。
  2. 在 Issue 下留言說明你要接手 —— 這能避免兩個人做同樣的事。
  3. Fork 儲存庫,在一個分支上完成修改。
  4. 送出 Pull Request,並在描述裡引用這個 Issue 編號。

Open-Less/openless 的其他 Issue

查看 Open-Less/openless 的全部 Issue

相似的 Issue

更多 Rust Issue

把新 issue 寄到你的電子郵件信箱

精選適合新手參與的 GitHub issue 摘要。