github / github/copilot-cli

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

Open
#4,833 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

triage
Dominant language
Shell
Stars
11.2k
Forks
1.9k
Avg merge
14h 16m
Merged PRs (30d)
6

Description

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?

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the supplied systemd-coredump trace and the bundled Microsoft.AI.Foundry.Local.Core.so and libonnxruntime-genai.so artifacts. Trace the /voice recording path through NemotronSpeechState::StepToken and OrtSession::Run, then reproduce on Linux x64 with the listed model and runtime. Done means the compatibility failure is characterized and the CLI no longer aborts during transcription, or the issue is narrowed to the bundled native stack.

Written by the indexing model from the issue text.

Assessment

Tech stack
linux, machine-learning, node.js
Domain
cli, machine-learning, operating-systems
Issue type
Bug
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.