Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

Windows: captions helper (whisper-stt-server) crashes at boot when the user profile path contains non-ASCII characters

Đã đóng
#1,405 1 bình luận 0 reaction 0 người được giao Xem trên GitHub

Maintainer thường phản hồi trong vòng 1 ngày

Chưa có ai nhận issue này.

Đánh giá

Độ khó
4/5
Thời gian dự kiến
1-2 ngày
Mức phù hợp với người mới
57/100
Loại issue
Lỗi
Độ rõ ràng
Đặc tả rõ ràng
Mức độ hoạt động
Sôi nổi
Công nghệ
c, electron, typescript

Hướng nghiên cứu

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.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

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, ...).

openscreen-utf8-paths.patch

Ngôn ngữ chính
TypeScript
Star
3.7k
Fork
231
Merge trung bình
15 giờ 10 phút
Pull request đã merge (30 ngày)
324

Chuẩn bị môi trường

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của getopenscreen/openscreen

Tất cả issue của getopenscreen/openscreen

Issue tương tự

Thêm issue về TypeScript

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.