Windows: captions helper (whisper-stt-server) crashes at boot when the user profile path contains non-ASCII characters
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 1-2 días
- Aptitud para principiantes
- 57/100
- Tipo de issue
- Error
- Claridad
- Bien especificado
- Estado de actividad
- Activo
- Stack tecnológico
- c, electron, typescript
- Área
- backend, desktop, internationalization
Línea de trabajo
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.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
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, ...).
- Lenguaje dominante
- TypeScript
- Estrellas
- 3.7k
- Forks
- 231
- Merge medio
- 15 h 10 min
- PR fusionados (30 d)
- 324
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de getopenscreen/openscreen
-
Native review wanted: machine-translated recording bar tooltips (14 locales)Quizá libre de nuevo @auberginewly la tomó hace 22 días y no hay ningún pull request abierto. Abiertogood first issue help wanted
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
getopenscreen/openscreen#913 · 5 comentarios ·
Los mantenedores suelen responder en 1 día
-
[Bug]: Windows update click opens the full NSIS wizard instead of a UAC promptPosiblemente ocupada @EtienneLescot la tomó hoy. Abiertobug
Dificultad 2/5 1-3 horas Aptitud para principiantes 30/100
getopenscreen/openscreen#1437 ·
Los mantenedores suelen responder en 1 día
-
[Feature]: Cursor size px unitAbiertoenhancement
Dificultad 3/5 1-2 días Aptitud para principiantes 45/100
getopenscreen/openscreen#1436 ·
Los mantenedores suelen responder en 1 día
-
enhancement
Dificultad 4/5 3-5 días Aptitud para principiantes 45/100
getopenscreen/openscreen#1435 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 55/100
getopenscreen/openscreen#1431 · 4 comentarios ·
Los mantenedores suelen responder en 1 día
Todos los issues de getopenscreen/openscreen
Issues similares
-
area:cli bug P4
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
Los mantenedores suelen responder en 1 día
-
bug from-studio
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
esengine/DeepSeek-Reasonix#14868 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
Los mantenedores suelen responder en 1 día
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
loopbackio/loopback-next#11878 ·
Los mantenedores suelen responder en 2 días
-
bug 🐛
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
comunica/comunica#1925 · 1 comentario ·
Los mantenedores suelen responder en 1 día