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 摘要。