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

Offen
#1,237 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Maintainer antworten meist innerhalb von 1 Tag

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Anfängerfreundlichkeit
38/100
Issue-Typ
Bug
Klarheit
Größtenteils klar
Aktivitätsstatus
Aktiv
Tech-Stack
rust

Rechercherichtung

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.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

环境
  • 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 补充。

Vorherrschende Sprache
Rust
Sterne
3.7k
Forks
349
Ø Merge
2 T. 14 Std.
Gemergte PRs (30 T.)
97

Entwicklungsumgebung

Dieses Projekt bietet weder Dev-Container noch Dockerfile noch Beitragsleitfaden – die Einrichtung liegt bei Ihnen. Beginnen Sie mit der README; die allgemeinen Schritte stehen in unserem Leitfaden für den ersten Beitrag.

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus Open-Less/openless

Alle Issues in Open-Less/openless

Ähnliche Issues

Weitere Issues zu Rust

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.