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

Aberta
#1,237 0 comentários 0 reações 0 responsáveis Ver no GitHub

Mantenedores costumam responder em até 1 dia

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
4/5
Tempo estimado
3-5 dias
Facilidade para iniciantes
38/100
Tipo de issue
Bug
Clareza
Razoavelmente clara
Status de atividade
Ativa
Stack de tecnologia
rust

Direção de pesquisa

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.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

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

Linguagem predominante
Rust
Estrelas
3.7k
Forks
349
Merge médio
2d 14h
PRs com merge (30d)
97

Preparar o ambiente

Este projeto não oferece contêiner de desenvolvimento, Dockerfile nem guia de contribuição, então a configuração fica por sua conta: comece pelo README e veja nosso guia da primeira contribuição para os passos gerais.

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de Open-Less/openless

Todas as issues de Open-Less/openless

Issues semelhantes

Mais issues de Rust

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.