Windows: captions helper (whisper-stt-server) crashes at boot when the user profile path contains non-ASCII characters
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
- Lĩnh vực
- backend, desktop, internationalization
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, ...).
- 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
- Không có Dockerfile hay tệp Docker Compose
- Có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- 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.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của getopenscreen/openscreen
-
Native review wanted: machine-translated recording bar tooltips (14 locales)Có thể làm lại được @auberginewly đã nhận 21 ngày trước và không có pull request nào đang mở. Đang mởgood first issue help wanted
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
getopenscreen/openscreen#913 · 5 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
[Bug]: Windows update click opens the full NSIS wizard instead of a UAC promptCó thể đã có người làm @EtienneLescot đã nhận hôm nay. Đang mởbug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 30/100
getopenscreen/openscreen#1437 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
[Feature]: Cursor size px unitĐang mởenhancement
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 45/100
getopenscreen/openscreen#1436 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
enhancement
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 45/100
getopenscreen/openscreen#1435 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
QA: e2e pass on v2.2.0-rc.1 (macOS, Windows)Có thể đã có người làm Có pull request liên kết đang mở hoặc đã được merge. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 55/100
getopenscreen/openscreen#1431 · 4 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của getopenscreen/openscreen
Issue tương tự
-
bug triage
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 74/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Export the Hemi Earn Router address and the Router and Agent ABIs from `@vetro-protocol/earn`Đang mởhemi-earn
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
vetro-protocol/vetro-monorepo#1043 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
stage 2: bare names resolve against PATH differently from the shell (empty and relative entries)Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
STRML/omp-classifier#206 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 70/100
atlassian-labs/mermaid-diagrams-viewer#188 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
dashboard enhancement
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
Olanetsoft/agent-lookout#225 ·
Maintainer thường phản hồi trong vòng 1 ngày