Windows: captions helper (whisper-stt-server) crashes at boot when the user profile path contains non-ASCII characters
Les mainteneurs répondent en général sous 1 jour
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 4/5
- Temps estimé
- 1-2 jours
- Accessibilité débutants
- 57/100
- Type d'issue
- Bug
- Clarté
- Clairement spécifiée
- Activité
- Active
- Stack technique
- c, electron, typescript
- Domaine
- backend, desktop, internationalization
Piste de recherche
Start with electron/native/whisper-stt/src/main.cpp and trace how the model path and environment variables reach the whisper.cpp loaders. Read the attached patch and check how the Windows build links shell32; the issue says the proposed change has not been built on Windows. Done when the helper starts with a model path under a non-ASCII Windows profile, while non-Windows behavior remains unchanged.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
What happens
On Windows with a non-ASCII user name (e.g. C:\Users\홍길동\), auto captions never start. whisper-stt-server.exe exits during boot, before / reports ready. The model download itself succeeds.
Repro path
C:\Users\홍길동\AppData\Roaming\openscreen\stt-models\whisper-ggml\ggml-small-q8_0.bin → the helper exits with code 3221226505 (0xC0000409).
Environment
- OpenScreen 2.1.2 (x64 installer), Windows 11, Korean locale (ANSI code page 949)
- Model: the default 264 MB model, stored under
%APPDATA%(which contains the non-ASCII user name)
Cause
electron/native/whisper-stt/src/main.cpp takes the model path from char** argv / getenv(). On Windows those arrive in the ANSI code page (CP949 here), not UTF-8. whisper.cpp v1.9.1 converts the path with std::wstring_convert<std::codecvt_utf8<wchar_t>>::from_bytes (whisper_init_from_file_with_params_no_state, and the VAD loader), which throws std::range_error on non-UTF-8 bytes, so the process terminates.
Confirmed by copying the same model to an ASCII path and launching the same binary with that --model: it boots and transcribes Korean correctly.
Workaround
OPENSCREEN_WHISPER_SERVER_EXE pointing at a small wrapper that rewrites --model to an ASCII copy of the model.
Proposed fix (patch attached)
On _WIN32, rebuild the arguments from GetCommandLineW() + CommandLineToArgvW() and read the env vars with _wgetenv(), converting both to UTF-8 with WideCharToMultiByte(CP_UTF8, ...). Non-Windows behaviour is unchanged. Links shell32 for CommandLineToArgvW. The patch has not been built on Windows yet; only the cause was confirmed.
This affects every Windows user whose profile name is not ASCII (Korean, Chinese, Japanese, Cyrillic, accented Latin names, ...).
- Langage dominant
- TypeScript
- Étoiles
- 3.7k
- Forks
- 231
- Merge moyen
- 15 h 10 min
- PR mergées (30 j)
- 324
Préparer son environnement
- Aucun Dockerfile ni fichier Docker Compose
- Propose un modèle de pull request
- Lire le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de getopenscreen/openscreen
-
Native review wanted: machine-translated recording bar tooltips (14 locales)Peut-être à nouveau libre @auberginewly l’a pris il y a 21 jours, et aucune pull request n’est ouverte. Ouvertegood first issue help wanted
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
getopenscreen/openscreen#913 · 5 commentaires ·
Les mainteneurs répondent en général sous 1 jour
-
[Bug]: Windows update click opens the full NSIS wizard instead of a UAC promptPeut-être pris @EtienneLescot l’a pris aujourd’hui. Ouvertebug
Difficulté 2/5 1-3 heures Accessibilité débutants 30/100
getopenscreen/openscreen#1437 ·
Les mainteneurs répondent en général sous 1 jour
-
[Feature]: Cursor size px unitOuverteenhancement
Difficulté 3/5 1-2 jours Accessibilité débutants 45/100
getopenscreen/openscreen#1436 ·
Les mainteneurs répondent en général sous 1 jour
-
enhancement
Difficulté 4/5 3-5 jours Accessibilité débutants 45/100
getopenscreen/openscreen#1435 ·
Les mainteneurs répondent en général sous 1 jour
-
QA: e2e pass on v2.2.0-rc.1 (macOS, Windows)Peut-être pris Une pull request liée à cette issue est ouverte ou déjà fusionnée. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 55/100
getopenscreen/openscreen#1431 · 4 commentaires ·
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de getopenscreen/openscreen
Issues similaires
-
Difficulté 2/5 1-3 heures Accessibilité débutants 85/100
Automattic/data-liberation-agent#1115 ·
Les mainteneurs répondent en général sous 1 jour
-
bug
Difficulté 2/5 1-3 heures Accessibilité débutants 88/100
Les mainteneurs répondent en général sous 1 jour
-
Enhance blog readabilityOuverteCSS enhancement good first issue
Difficulté 2/5 1-3 heures Accessibilité débutants 70/100
pychess/pychess-variants#2448 ·
Les mainteneurs répondent en général sous 1 jour
-
[architect] Stale planning/scratch files at repo root (COMPONENT_SPLIT_SUMMARY.md etc.) describe already-completed workPeut-être pris @hivecommons-hive l’a pris aujourd’hui. Ouverteagent/architect architecture help wanted stage/040-covered-by-pr tech-debt
Difficulté 2/5 1-3 heures Accessibilité débutants 85/100
kubestellar/console#24716 ·
Les mainteneurs répondent en général sous 1 jour
-
helm-knative-apply.sh fails with Helm 4Peut-être pris Une pull request liée à cette issue est ouverte ou déjà fusionnée. Ouvertearea: triage theme: undefined
Difficulté 2/5 1-3 heures Accessibilité débutants 85/100
jhipster/generator-jhipster#35895 ·
Les mainteneurs répondent en général sous 1 jour