You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Voice server segfaults (signal 11) on WSL2 after updating to 1.0.100; /voice stuck on 'Fetching voice models' #5197
After updating to Copilot CLI 1.0.100 (which also pulled a new voice runtime), voice input no longer works on WSL2. The voice server process segfaults (signal 11) a few seconds after starting, so /voice stays on "Fetching voice models" and no model can be downloaded.
Environment
Copilot CLI: 1.0.100 (linux-x64), latest at time of report
OS: Ubuntu (glibc 2.39) on WSL2, kernel 6.18.33.2-microsoft-standard-WSL2
CPU: x64 with AVX2, 8 cores, 16 GB RAM
Audio: WSLg PulseAudio available (/mnt/wslg/PulseServer)
Voice worked on earlier versions (e.g. 1.0.98) with the older runtime (Microsoft.AI.Foundry.Local.Core.so, ~645 MB)
Steps to reproduce
Update to 1.0.100; the update installs a new voice runtime (libfoundry_local.so, ~85 MB).
Start copilot and run /voice, choose Continue.
Status shows "Fetching voice models" indefinitely.
WSL kernel log (repeated on every attempt, ~6-15s after the voice server starts):
copilot: MainThread: potentially unexpected fatal signal 11.
WSL (CaptureCrash): Capturing crash for pid: 1708, executable: .../@github/copilot-linux-x64/copilot, signal: 11
Already tried
Removed stale /run/user/$UID/copilot-voice/* socket/pid files
Deleted ~/.cache/copilot/foundry and ~/.github-copilot-cli/cache/models, then re-ran /voice to reinstall the runtime. The crash still occurs with the freshly downloaded runtime.
ldd on libfoundry_local.so reports no missing libraries.
Expected behaviour
The voice server stays running, the model list loads, and dictation works.
The crash is in the 1DS telemetry HTTP client (Microsoft::Applications::Events) inside libfoundry_local.so: curl_easy_cleanup frees an invalid pointer. Frame #10 resolving to libonnxruntime-genai.so may mean both libraries carry their own copy of the 1DS/curl symbols and they clash (ODR/symbol interposition).
Workaround:copilot --prefer-version 1.0.98 (the voice server is spawned with the same --prefer-version).
Activity
bhardwaj-nakul commentedon Oct 21, 2026
Same crash on native Linux (not WSL), so it isn't WSL-specific. Backtrace below points at the voice runtime's telemetry uploader.
Environment
foundry-local-sdk1.2.3 (1.0.98, works) → 2.1.0 (1.0.101+, crashes); runtime cache~/.cache/copilot/foundry/7deebcd90bf1HTTP(S)_PROXYset). Unsetting all proxy variables does not change the result.Repro (no client, no audio needed)
It crashes with voice disabled and with no PulseAudio server, so device capture isn't involved.
Backtrace (gdb)
The crash is in the 1DS telemetry HTTP client (
Microsoft::Applications::Events) insidelibfoundry_local.so:curl_easy_cleanupfrees an invalid pointer. Frame #10 resolving tolibonnxruntime-genai.somay mean both libraries carry their own copy of the 1DS/curl symbols and they clash (ODR/symbol interposition).Workaround:
copilot --prefer-version 1.0.98(the voice server is spawned with the same--prefer-version).