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

QWebEngineView consumes much larger memory size on AMD Ryzen and leads to a crash

    XMLWordPrintable

Details

    • Windows

    Description

      How to reproduce :
      1) Prepare a windows PC (Windows10/11) which is equiped with AMD Ryzen.
      2) Create a directory C:\test, and place sample1.html and sample2.html there. (The only difference between them is the character strings they display.)
      3) Run the attached reproducer ( BrowserSample.exe ). The application shows  9 QWebEngineView instances on page 1.
      4) Click "Next" button to move to page 2. At this moment, the memory usage increases, and the application crashes. Depending on the memory size the device has, the application may be able to survive.

      Memory usage observed with Windows Task Manager:
      1) With AMD Ryzen:

      • About 1.1 GB at step 3
      • Momentarily increases up to 1.2 GB between step 3 and 4, and the application can crash at the moment.
      • In case the application survives, it decreases to 900 MB at step 4

      2) With Intel CPU (e.g. 13th Gen Intel(R) Core(TM) i7-13700H   2.40 GHz, not using extenal GPU):

      • About 200 MB at step 3
      • About 120 MB at step 4

      The issue is reproduced on following equipments:
       - Laptop PCs equipped with following AMD Ryzen
        1)AMD Ryzen 7 PRO 6850U with Radeon Grahics 2.70 GHz
        2)AMD Ryzen 5 PRO 4650U with Radeon Grahics 2.10 GHz

      Side note:

      • This issue is reproducible with the latest graphics driver for AMD Ryzen. Not reproducible with older driver versions.
      • Switching the pages is just a trigger to increase memory usage, and it's not necessary for reproducing the issue. If you put 18 QWebEngineView instances at once on page 1, it causes the memory increase and crashing, even without switching the pages.
      • Laptop PCs with Intel CPUs do not reproduce the issue.
      • The reproducer can change the number of QWebEngineView instances displayed on a page, according to the command parameters aquired from the command line.
          For example, "BrowserSample.exe 18 6" will request 18 instances in page1 and 6 instances in page2.
      • Reducing the number of instances prevents the issue, even on the PCs where the issue was once reproduced.

      Attachments

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

        Activity

          People

            qt_webengine_team Qt WebEngine Team
            hitoshiito Hitoshi Ito
            Votes:
            0 Vote for this issue
            Watchers:
            6 Start watching this issue

            Dates

              Created:
              Updated:

              Gerrit Reviews

                There are no open Gerrit changes