Repository navigation
Description
Before submitting
- I searched existing issues and did not find a duplicate.
- I included enough detail to reproduce or investigate the problem.
Area
apps/desktop
Steps to reproduce
- On Linux desktop, set the local transcription model to
handy-computer/parakeet-unified-en-0.6b-gguf(parakeet-unified-en-0.6b-Q8_0.gguf). The file size and SHA-256 match the catalog (731357568bytes,4b50b6dd862bf6e346929aaf4f5eaacec003bfa3f56462d6c874b41ef2f38795). - Dictate into the composer long enough for live streaming to produce text.
- Keep speaking. In this case the worker died during an otherwise working session, after live text had already been coming through.
This has happened once on this machine. I do not have a shorter deterministic repro.
Expected behavior
The speech worker keeps streaming the transcript. A failure inside transcription stays in that worker and does not kill the desktop backend.
Actual behavior
The speech worker segfaulted during live Parakeet transcription. The desktop backend was then SIGKILL'd and restarted.
This is the only t3code coredump on the machine. Hex, which uses the same Parakeet weights, kept transcribing through the same minute.
Impact
Minor bug or occasional failure
When it hits, the backend process dies and the app restarts. Seen once.
Version or commit
T3 Code desktop 0.1.8 (desktop-last-started-version). Speech native package @transcribe-cpp/linux-x64-cpu-vulkan 0.4.1 (handy-computer/transcribe.cpp).
Environment
Linux 7.2.15-1-omarchy, Hyprland, AMD Ryzen 9 4900HS. Speech acceleration was the default (auto). The crashing library is the CPU Haswell build even though the installed package is linux-x64-cpu-vulkan. Model: Parakeet Unified English 0.6B Q8_0.
Logs or stack traces
TIME: 2026-11-10 03:09:01 +0330
PID: 1928680 (t3code speech worker)
TID: 1968888 (libuv-worker)
Signal: 11 (SEGV) si_code: SI_TKILL
#0 libggml-cpu-haswell.so + 0x98700
ggml_quantize_mat_t<8, ggml_type 15> (Q8_K)
vmovups (%rax), %ymm4
Command line is the desktop speech worker (`t3code --input-type=module -e …`),
loading transcribe.cpp and streaming Parakeet. It is not the main UI process.
Backend, same moment:
pid 1788249 killed by SIGKILL
desktop.backendInstance: "backend exited unexpectedly; restart scheduled"
reason: "killed by SIGKILL"
The backend then came back up.
Workaround
The app restarted on its own. Dictation worked again afterward. No other workaround.
Activity
shivamhwp commentedon Nov 10, 2026
Handing this over to Julius's fix in #33624. No competing changes or PR from this investigation.
Independent checks on Linux corex at
bbdc7dca320ee4fbc7131498aaffef2fa1eb3d41: all 9native.test.tscases and 6 selected SpeechService crash/finalization recovery cases passed. Forcing an isolated worker to SIGSEGV rejected its request withSpeech process exited (SIGSEGV).; the parent stayed alive and a fresh worker completed transcription. This supports distinguishing the backend's SIGKILL from the worker's crash.One diagnostic detail for any further native investigation: in the npm 0.4.1 Haswell library,
0x98700isggml_vec_dot_f32 + 0x40, verified throughggml_get_type_traits_cpu(F32).vec_dot. The Q8_K label is the nearest exported symbol in this stripped binary. Library SHA-256:5787b42303af149aeb18c05463d214e3a966c7630b5ee46cd1884091f8949394.Unverified here: the original spontaneous crash and the fix. The desktop attempt reached setup but was blocked by the locked OS keyring and unavailable background controls; the exact-model download was stopped when Julius's PR appeared.