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

WebEngine massively leaks memory when started on second X11 screen

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: P3: Somewhat important
    • Resolution: Done
    • Affects Version/s: 5.6.0
    • Fix Version/s: 5.6.2
    • Component/s: WebEngine
    • Labels:
    • Environment:
      OpenSuse 13.2
    • Commits:
       e2b8c3fe8f83cf448df4b0476f4f0dd4dd7d1b80

      Description

      This is quite likely a follow up for QTBUG-48969 and this change https://codereview.qt-project.org/#/c/145458/

      When a webengineview is instantiated on an X11 screen differing from the one the app is started at more and more memory is consumed with every repaint.
      Eventually the application is terminated.
      Memory is leaked in the application itself, not in the QtWebengine process.

      My guess is that textures created when "slow copy of mailbox textures when contexts are not shared" is happening are not freed.

      The problem is reproducible with the test app from QTBUG-48969. Just scroll around for some time on a second screen.
      It is even easier when using a site like flightradar24.com.

      I have seen backtraces where memory allocation in unrelated parts of the app fails as well as problems when doing the actual painting.

      Program terminated with signal SIGABRT, Aborted.
      #0 0xb774de4c in __kernel_vsyscall ()
      #0 0xffffffff in __kernel_vsyscall ()
      #1 0xffffffff in raise () at /lib/libc.so.6
      #2 0xffffffff in abort () at /lib/libc.so.6
      #3 0xffffffff in __assert_fail_base () at /lib/libc.so.6
      #4 0xffffffff in () at /lib/libc.so.6
      #5 0xffffffff in _XReply () at /usr/lib/libX11.so.6
      #6 0xffffffff in () at /usr/X11R6/lib/libGL.so.1
      #7 0xffffffff in () at /usr/X11R6/lib/libGL.so.1
      #8 0xffffffff in () at /usr/X11R6/lib/libGL.so.1
      #9 0xffffffff in () at /usr/X11R6/lib/libGL.so.1
      #10 0xffffffff in () at /usr/lib/libnvidia-glcore.so.340.65
      #11 0xffffffff in () at /usr/lib/libnvidia-glcore.so.340.65
      #12 0xffffffff in () at /usr/lib/libnvidia-glcore.so.340.65
      #13 0xffffffff in () at /usr/lib/libnvidia-glcore.so.340.65
      #14 0xffffffff in () at /usr/X11R6/lib/libGL.so.1
      #15 0xffffffff in () at /usr/X11R6/lib/libGL.so.1
      #16 0xffffffff in () at /usr/X11R6/lib/libGL.so.1
      #17 0xffffffff in glXMakeContextCurrent () at /usr/X11R6/lib/libGL.so.1
      #18 0xffffffff in QGLXContext::makeCurrent(QPlatformSurface*) (this=0xc85b828, surface=0xca4a708) at /home/m2puser/devel/qt5/qtbase/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp:487
      #19 0xffffffff in QOpenGLContext::makeCurrent(QSurface*) (this=this@entry=0xc88ebf8, surface=surface@entry=0xbfdcb620) at /home/m2puser/devel/qt5/qtbase/src/gui/kernel/qopenglcontext.cpp:968
      #20 0xffffffff in QtWebEngineCore::DelegatedFrameNode::preprocess() (this=0x1756be30) at /home/m2puser/devel/qt5/qtwebengine/src/core/delegated_frame_node.cpp:452
      #21 0xffffffff in QSGRenderer::preprocess() (this=0x17561b30) at /home/m2puser/devel/qt5/qtdeclarative/src/quick/scenegraph/coreapi/qsgrenderer.cpp:277

        Attachments

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

          Activity

            People

            • Assignee:
              michal Michal Klocek
              Reporter:
              berres Armin Berres
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Gerrit Reviews

                There are no open Gerrit changes