github / github/copilot-cli

[Bug] Voice mode crashes CLI with ONNX Runtime assertion in Nemotron ASR on Linux

未关闭
#4,833 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

还没有人认领这个 Issue。

triage
主要语言
Shell
星标
11.2k
派生
1.9k
平均合并
14 小时 16 分钟
30 天内合并 PR
6

描述

Describe the bug

Enabling and using voice input causes GitHub Copilot CLI to abort with signal 6 (SIGABRT) and dump core on Linux x64. The crash occurs while the local Nemotron speech model is processing audio.

Copilot CLI version

1.0.83

Environment
  • OS: Manjaro Linux
  • Kernel: 7.1.13-2-MANJARO
  • Architecture: x86_64
  • glibc: 2.44
  • Node.js runtime shown by CLI logs: v24.20.0
  • Microphone: HD-Audio Generic / ALC257 Analog
  • Voice model: nemotron-3.5-asr-streaming-0.6b-generic-cpu:3
Steps to reproduce
  1. Start Copilot CLI 1.0.83 on Linux x64.
  2. Enable voice input with /voice.
  3. Start recording and speak into the default microphone.
  4. Stop recording / allow transcription to start.
  5. The Copilot CLI process aborts and the system records a core dump.
Expected behavior

The spoken input is transcribed and inserted into the prompt without terminating the CLI.

Actual behavior

The CLI terminates with Signal: 6 (ABRT). The crash stack is in ONNX Runtime GenAI and Foundry Local Core:

__assert_fail (libc.so.6)
libonnxruntime.so
OrtSession::Run (libonnxruntime-genai.so)
Generators::NemotronEncoderSubState::Run
Generators::NemotronSpeechState::StepToken
OgaGenerator_GenerateNextToken
Microsoft.AI.Foundry.Local.Core.so

The process command line was:

/home/soenke/.nvm/versions/node/v24.13.0/lib/node_modules/@github/copilot/node_modules/@github/copilot-linux-x64/copilot --prefer-version 1.0.83

The complete systemd-coredump stack trace is attached in the report supplied with this issue.

Additional context
  • The microphone is detected by ALSA and appears as a capture device.
  • The voice server starts successfully and accepts a client connection.
  • A previous voice-server log entry also reported PvRecorder failed to read audio data frame, but the fatal crash reported here happens later in the Nemotron/ONNX Runtime inference path.
  • Updating with copilot update confirms that 1.0.83 is currently the latest available version.
  • The crash appears to be in the bundled native voice stack (Microsoft.AI.Foundry.Local.Core.so / libonnxruntime-genai.so), rather than in repository code or the prompt UI.
  • Related issue: #4024 (voice transcription routing failure for nemotron_speech); this report is different because the CLI aborts instead of returning an empty transcript.
Logs

A full stack trace is available from the reporter and can be provided if needed. The key frames are:

#4  __assert_fail (libc.so.6)
#5  ... (libonnxruntime.so)
#20 OrtSession::RunEP ... (libonnxruntime-genai.so)
#21 Generators::NemotronEncoderSubState::Run ...
#22 Generators::NemotronSpeechState::StepToken ...
#23 Generators::Generator::GenerateNextToken ...
#24 OgaGenerator_GenerateNextToken ...
#25+ Microsoft.AI.Foundry.Local.Core.so

Could the voice inference path handle this model/runtime error without aborting the entire CLI, and could the Linux CPU Nemotron model compatibility be investigated?

贡献指南

打开贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

调研方向

从提供的 systemd-coredump 跟踪以及随附的 Microsoft.AI.Foundry.Local.Core.so 和 libonnxruntime-genai.so 工件开始。跟踪 /voice 录音路径经过 NemotronSpeechState::StepToken 和 OrtSession::Run 的过程,然后使用列出的模型和 runtime 在 Linux x64 上复现。完成的标准是:兼容性故障已得到分析,且 CLI 在转录期间不再中止,或者问题已缩小到随附的 native stack。

由索引模型根据 Issue 内容生成。

评估

技术栈
linux, machine-learning, node.js
领域
cli, machine-learning, operating-systems
Issue 类型
缺陷
难度
5/5
预计耗时
一周以上
活跃度
活跃
描述清晰度
基本清楚
新手友好度
35/100

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。