Details
Description
When using a locale which is not en_GB.UTF-8 or en_US.UTF-8, QtWebEngine 5.15.3 is unusable. This can be reproduced by e.g. doing LANG=de_DE.UTF-8 ./simplebrowser.
Simplebrowser will immediately display "Render process exited with code: 1002", and [262119:262119:0310/130117.346919:ERROR:network_service_instance_impl.cc(286)] Network service crashed, restarting service. is constantly logged in the terminal.
Doing something like LANG=de_CH.UTF-8 strace -e trace=%file -f ./simplebrowser 2>&1 | grep qtwebengine_locales reveals that the subprocesses seem to try accessing a wrong locale file:
Main process:
[pid 264999] access("/usr/share/qt/translations/qtwebengine_locales", F_OK) = 0 [pid 264999] access("/usr/share/qt/translations/qtwebengine_locales", F_OK) = 0 [pid 264999] readlink("/usr/share/qt/translations/qtwebengine_locales", 0x7ffcab189340, 1023) = -1 EINVAL (Das Argument ist ungültig) [pid 264999] access("/usr/share/qt/translations/qtwebengine_locales/de-CH.pak", F_OK) = -1 ENOENT (Datei oder Verzeichnis nicht gefunden) [pid 264999] access("/usr/share/qt/translations/qtwebengine_locales/de.pak", F_OK) = 0 [pid 264999] openat(AT_FDCWD, "/usr/share/qt/translations/qtwebengine_locales/de.pak", O_RDONLY) = 15
Subprocesses:
[pid 265117] access("/usr/share/qt/translations/qtwebengine_locales", F_OK) = 0 [pid 265117] access("/usr/share/qt/translations/qtwebengine_locales", F_OK) = 0 [pid 265117] readlink("/usr/share/qt/translations/qtwebengine_locales", 0x7ffe87738ef0, 1023) = -1 EINVAL (Das Argument ist ungültig) [pid 265115] access("/usr/share/qt/translations/qtwebengine_locales", F_OK) = 0 [pid 265115] access("/usr/share/qt/translations/qtwebengine_locales", F_OK <unfinished ...> [pid 265117] access("/usr/share/qt/translations/qtwebengine_locales/de-CH.pak", F_OK <unfinished ...> [pid 265115] readlink("/usr/share/qt/translations/qtwebengine_locales", <unfinished ...> [pid 265117] access("/usr/share/qt/translations/qtwebengine_locales/de.pak", F_OK <unfinished ...> [pid 265117] openat(AT_FDCWD, "/usr/share/qt/translations/qtwebengine_locales/de.pak", O_RDONLY) = 10 [pid 265115] access("/usr/share/qt/translations/qtwebengine_locales/de-CH.pak", F_OK <unfinished ...> [pid 265115] access("/usr/share/qt/translations/qtwebengine_locales/de.pak", F_OK) = 0 [pid 265115] openat(AT_FDCWD, "/usr/share/qt/translations/qtwebengine_locales/de.pak", O_RDONLY) = 10 [pid 265167] openat(AT_FDCWD, "/usr/share/qt/translations/qtwebengine_locales/de-CH.pak", O_RDONLY) = -1 ENOENT (Datei oder Verzeichnis nicht gefunden) [pid 265167] openat(AT_FDCWD, "/usr/share/qt/translations/qtwebengine_locales/de-CH.pak", O_RDONLY) = -1 ENOENT (Datei oder Verzeichnis nicht gefunden) [pid 265167] openat(AT_FDCWD, "/usr/share/qt/translations/qtwebengine_locales/de-CH.pak", O_RDONLY) = -1 ENOENT (Datei oder Verzeichnis nicht gefunden) [pid 265167] openat(AT_FDCWD, "/usr/share/qt/translations/qtwebengine_locales/de-CH.pak", O_RDONLY) = -1 ENOENT (Datei oder Verzeichnis nicht gefunden) [...]
As a workaround, running ./simplebrowser --lang=de (or any other existing locale pak in /usr/share/qt/translations/qtwebengine_locales/) makes everything work again.
Relevant downstream bugs:
Attachments
Issue Links
- relates to
-
QTBUG-90490 Crash on system with non-standard locale
- Closed
For Gerrit Dashboard: QTBUG-91715 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
338355,6 | Fix normalization of app locales | 5.15 | qt/qtwebengine | Status: MERGED | +2 | 0 |