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

Crash in QtWebEngineCore upon a few resizes if the web page contains certain JS code

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • P2: Important
    • 5.11.0 Beta 4
    • 5.10.1, 5.11
    • WebEngine
    • Windows 8.1, Windows 10, macOS 10.13.3, Linux (openSUSE Leap 42.3)

    Description

      Reproduce:
      0. Build the (very simple) desktop application from the sources attached: CrashOnResize_sources.7z
      1. Ensure there is an Internet connection. Run the application.
      2. Reduce the window width several times (2—5), preferably once the web view fully accommodated for the previous one.

      Expected: no crashes.

      Actual: eventually, a crash happens:

      ---------------------------
      Exception Triggered
      ---------------------------
      <p>The inferior stopped because it triggered an exception.<p>Stopped in thread 31 by: 
      Exception at 0x7ff956f86114, code: 0xc0000005: read access violation at: 0x0, flags=0x0 (first chance).
      ---------------------------
      OK   
      ---------------------------

      Call stack (Windows):

      1  QtWebEngineCore::DelegatedFrameNode::preprocess delegated_frame_node.cpp    736 0x7ff956f86114 
      2  QSGRenderer::preprocess                         qsgrenderer.cpp             304 0x7ff96ed76648 
      3  QSGRenderer::renderScene                        qsgrenderer.cpp             223 0x7ff96ed76988 
      4  QSGRenderer::renderScene                        qsgrenderer.cpp             202 0x7ff96ed76d1d 
      5  QSGDefaultRenderContext::renderNextFrame        qsgdefaultrendercontext.cpp 182 0x7ff96eda6856 
      6  QQuickWindowPrivate::renderSceneGraph           qquickwindow.cpp            481 0x7ff96edf8b47 
      7  QSGRenderThread::syncAndRender                  qsgthreadedrenderloop.cpp   646 0x7ff96edb0e2c 
      8  QSGRenderThread::run                            qsgthreadedrenderloop.cpp   732 0x7ff96edb0283 
      9  QThreadPrivate::start                           qthread_win.cpp             378 0x7ff96f36873b 
      10 BaseThreadInitThunk                             KERNEL32                        0x7ff9903913d2 
      11 RtlUserThreadStart                              ntdll                           0x7ff990a154f4 
      

      MacOS crash log is attached: CrashOnResize_2018-03-29-183741_macos13-build64-d.crash

      Note:
      Here's the key source file illustrating the crash:

      import QtQuick 2.10
      import QtQuick.Window 2.10
      import QtWebView 1.1
      
      Window {
          visible: true
          width  : 640
          height : 480
          title  : qsTr("Crash after a few width changes")
      
          WebView {
              anchors.fill: parent
              // Crashes on sites using https://www.intercom.com/in-app-messaging:
              // http://websummit.com/
              // http://producthunt.com/
              // http://parkernewyork.com/home/
              // http://borisfx.com
              url: "http://intercom.com/"
          }
      }

      Attachments

        Issue Links

          For Gerrit Dashboard: QTBUG-67414
          # Subject Branch Project Status CR V

          Activity

            People

              allan.jensen Allan Sandfeld Jensen
              mik wells Mik Wells
              Votes:
              2 Vote for this issue
              Watchers:
              9 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Gerrit Reviews

                  There are no open Gerrit changes