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

Aperta
#1,237 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
38/100
Tipo di issue
Bug
Chiarezza
Abbastanza chiara
Stato di attività
Attiva
Stack tecnologico
rust

Direzione di ricerca

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.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

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

Lingua principale
Rust
Stelle
3.7k
Fork
349
Merge medio
2g 14h
PR unite (30g)
97

Preparare l'ambiente

Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di Open-Less/openless

Tutte le issue di Open-Less/openless

Issue simili

Altre issue su Rust

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.