Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-91715

[REG 5.15.2 -> 5.15.3] Non-english country-specific locales causes renderer process to crash

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: P1: Critical
    • Resolution: Done
    • Affects Version/s: 5.15.3
    • Fix Version/s: 5.15.4
    • Component/s: WebEngine
    • Labels:
      None
    • Environment:
      Archlinux, gcc 10.2.0, glibc 2.33, icu 68.2, qtbase 5.15.2
    • Platform/s:
      Linux/X11
    • Commits:
      199ea00a9eea13315a652c62778738629185b059 (qt/qtwebengine/5.15)

      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

          No reviews matched the request. Check your Options in the drop-down menu of this sections header.

            Activity

              People

              Assignee:
              qt_webengine_team Qt WebEngine Team
              Reporter:
              the compiler Florian Bruhin
              Votes:
              0 Vote for this issue
              Watchers:
              7 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved:

                  Gerrit Reviews

                  There are no open Gerrit changes