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

Various rendering related crashes when scrolling

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • P1: Critical
    • 5.11.2
    • 5.11.0
    • WebEngine
    • None
    • Archlinux

    Description

      When scrolling around e.g. with simplebrowser for a minute or two on https://repology.org/metapackage/qutebrowser/versions or https://chaos-party-ulm.de/ I get various crashes related to rendering. So far I've only seen it when scrolling using the finger on a touchscreen (sometimes with some pinch-zooming as well), but that might only be because it requires some patience to reproduce.

      The stacktraces I saw so far:

      ASSERT: "m_nodeIterator != m_sceneGraphNodes->end()" in file ../delegated_frame_node.cpp, line 254
      
      Thread 1 "simplebrowser" received signal SIGABRT, Aborted.
      0x00007fffe58da86b in raise () from /usr/lib/libc.so.6
      (gdb) bt
      #0  0x00007fffe58da86b in raise () at /usr/lib/libc.so.6
      #1  0x00007fffe58c540e in abort () at /usr/lib/libc.so.6
      #2  0x00007fffe6adc1c1 in qt_message_fatal(QtMsgType, QMessageLogContext const&, QString const&) (context=..., message=...)
          at global/qlogging.cpp:1842
      #3  0x00007fffe6adcf4f in QMessageLogger::fatal(char const*, ...) const (this=this@entry=0x7fffffffc860, msg=msg@entry=0x7fffe6d7c9b8 "ASSERT: \"%s\" in file %s, line %d") at global/qlogging.cpp:880
      #4  0x00007fffe6ad5908 in qt_assert(char const*, char const*, int) (assertion=assertion@entry=0x7ffff2b74ba8 "m_nodeIterator != m_sceneGraphNodes->end()", file=file@entry=0x7ffff2bf90e8 "../delegated_frame_node.cpp", line=line@entry=254)
          at ../../include/QtCore/../../src/corelib/global/qlogging.h:91
      #5  0x00007fffe97ed298 in QtWebEngineCore::DelegatedNodeTreeUpdater::setupTiledContentNode(QSGTexture*, QRect const&, QRectF const&, QSGTexture::Filtering, QSGNode*) (this=0x7fffd0008cb0, texture=
          0x7fff80585840, rect=..., sourceRect=..., filtering=QSGTexture::Linear)
          at ../../../../qtbase/include/QtCore/../../src/corelib/global/qflags.h:120
      #6  0x00007fffe97e5ac0 in QtWebEngineCore::DelegatedFrameNode::handleQuad(viz::DrawQuad const*, QSGNode*, QtWebEngineCore::DelegatedNodeTreeHandler*, QHash<unsigned int, QSharedPointer<QtWebEngineCore::ResourceHolder> >&, QtWebEngineCore::RenderWidgetHostViewQtDelegate*) (this=this@entry=
          0x555555afbce0, quad=quad@entry=0x55555a217740, currentLayerChain=currentLayerChain@entry=0x0, nodeHandler=nodeHandler@entry=0x7fffd0008cb0, resourceCandidates=..., apiDelegate=apiDelegate@entry=0x555555b0e780)
          at ../../3rdparty/chromium/components/viz/common/quads/draw_quad.h:76
      #7  0x00007fffe97e975e in QtWebEngineCore::DelegatedFrameNode::commit(QtWebEngineCore::ChromiumCompositorData*, std::vector<viz::ReturnedResource, std::allocator<viz::ReturnedResource> >*, QtWebEngineCore::RenderWidgetHostViewQtDelegate*) (this=this@entry=0x555555afbce0, chromiumCompositorData=<optimized out>, resourcesToRelease=resourcesToRelease@entry=0x555555ab52f8, apiDelegate=<optimized out>) at ../../../../qtbase/include/QtCore/../../src/corelib/tools/qscopedpointer.h:138
      #8  0x00007fffe9826da7 in QtWebEngineCore::RenderWidgetHostViewQt::updatePaintNode(QSGNode*) (this=
          0x555555ab4e30, oldNode=<optimized out>) at ../../../../qtbase/include/QtCore/../../src/corelib/tools/qshareddata.h:148
      #9  0x00007ffff7fe172c in QtWebEngineCore::RenderWidgetHostViewQuickItem::updatePaintNode(QSGNode*, QQuickItem::UpdatePaintNodeData*) (this=<optimized out>, oldNode=<optimized out>) at render_widget_host_view_qt_delegate_widget.cpp:94
      #10 0x00007fffe84f3171 in QQuickWindowPrivate::updateDirtyNode(QQuickItem*) (this=this@entry=0x555555b27e10, item=item@entry=
          0x555555aa2ae0) at items/qquickwindow.cpp:3439
      #11 0x00007fffe84f3694 in QQuickWindowPrivate::updateDirtyNodes() (this=this@entry=0x555555b27e10)
          at items/qquickwindow.cpp:3184
      #12 0x00007fffe84f38fa in QQuickWindowPrivate::syncSceneGraph() (this=0x555555b27e10) at items/qquickwindow.cpp:431
      #13 0x00007fffe85c1f25 in QQuickRenderControl::sync() (this=<optimized out>) at items/qquickrendercontrol.cpp:286
      #14 0x00007ffff7e20ced in QQuickWidgetPrivate::render(bool) (this=this@entry=0x555555a9dad0, needsSync=needsSync@entry=true)
          at qquickwidget.cpp:285
      #15 0x00007ffff7e20e2a in QQuickWidgetPrivate::renderSceneGraph() (this=this@entry=0x555555a9dad0) at qquickwidget.cpp:339
      #16 0x00007ffff7e216db in QQuickWidget::timerEvent(QTimerEvent*) (this=<optimized out>, e=<optimized out>)
          at qquickwidget.cpp:1128
      #17 0x00007fffe6ce00ba in QObject::event(QEvent*) (this=this@entry=0x555555b0e750, e=e@entry=0x7fffffffd840)
          at kernel/qobject.cpp:1232
      #18 0x00007fffe7d5be10 in QWidget::event(QEvent*) (this=this@entry=0x555555b0e750, event=event@entry=0x7fffffffd840)
          at kernel/qwidget.cpp:9344
      #19 0x00007ffff7e256c7 in QQuickWidget::event(QEvent*) (this=0x555555b0e750, e=0x7fffffffd840) at qquickwidget.cpp:1525
      #20 0x00007ffff7fe1634 in QtWebEngineCore::RenderWidgetHostViewQtDelegateWidget::event(QEvent*) (this=0x555555b0e750, event=0x7fffffffd840) at render_widget_host_view_qt_delegate_widget.cpp:481
      #21 0x00007fffe7d13449 in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=this@entry=
          0x5555555ba650, receiver=receiver@entry=0x555555b0e750, e=e@entry=0x7fffffffd840) at kernel/qapplication.cpp:3725
      #22 0x00007fffe7d1d001 in QApplication::notify(QObject*, QEvent*) (this=0x7fffffffdb50, receiver=0x555555b0e750, e=0x7fffffffd840) at kernel/qapplication.cpp:3688
      #23 0x00007fffe6cae3c3 in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=0x555555b0e750, event=event@entry=0x7fffffffd840) at kernel/qcoreapplication.cpp:1048
      #24 0x00007fffe6d0ce2e in QCoreApplication::sendEvent(QObject*, QEvent*) (event=0x7fffffffd840, receiver=<optimized out>)
          at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:234
      #25 0x00007fffe6d0ce2e in QTimerInfoList::activateTimers() (this=0x5555555f3690) at kernel/qtimerinfo_unix.cpp:643
      #26 0x00007fffe6d0d674 in timerSourceDispatch(GSource*, GSourceFunc, gpointer) (source=<optimized out>)
          at kernel/qeventdispatcher_glib.cpp:182
      #27 0x00007fffe4b73368 in g_main_context_dispatch () at /usr/lib/libglib-2.0.so.0
      #28 0x00007fffe4b735b1 in  () at /usr/lib/libglib-2.0.so.0
      #29 0x00007fffe4b7363e in g_main_context_iteration () at /usr/lib/libglib-2.0.so.0
      #30 0x00007fffe6d0da04 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x5555555f6f10, flags=...) at kernel/qeventdispatcher_glib.cpp:423
      #31 0x00007fffd9f6da9f in QPAEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x5555555f6f10, flags=...) at qeventdispatcher_glib.cpp:69
      #32 0x00007fffe6cac2d5 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7fffffffdac0, flags=..., flags@entry=...) at /usr/include/c++/8.1.0/bits/atomic_base.h:707
      #33 0x00007fffe6cac72d in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7fffffffdac0, flags=flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:122
      #34 0x00007fffe6cb6820 in QCoreApplication::exec() () at ../../include/QtCore/../../src/corelib/global/qflags.h:120
      #35 0x00007fffe77189fa in QGuiApplication::exec() () at kernel/qguiapplication.cpp:1750
      #36 0x00007fffe7d133b7 in QApplication::exec() () at kernel/qapplication.cpp:2899
      #37 0x000055555556f97a in main(int, char**) (argc=<optimized out>, argv=<optimized out>) at main.cpp:83
      
      *** stack smashing detected ***: <unknown> terminated
      
      Thread 1 "falkon" received signal SIGABRT, Aborted.
      0x00007ffff61c686b in raise () from /usr/lib/libc.so.6
      (gdb) bt
      #0  0x00007ffff61c686b in raise () at /usr/lib/libc.so.6
      #1  0x00007ffff61b140e in abort () at /usr/lib/libc.so.6
      #2  0x00007ffff62088b8 in __libc_message () at /usr/lib/libc.so.6
      #3  0x00007ffff629980d in __fortify_fail_abort () at /usr/lib/libc.so.6
      #4  0x00007ffff62997c2 in  () at /usr/lib/libc.so.6
      #5  0x00007fffeee488d6 in QtWebEngineCore::DelegatedNodeTreeUpdater::setupSolidColorNode(QRect const&, QColor const&, QSGNode*) (this=this@entry=0x555558d40690, rect=..., color=...) at /usr/include/qt/QtCore/qglobal.h:581
      #6  0x00007fffeee4ca72 in QtWebEngineCore::DelegatedFrameNode::handleQuad(viz::DrawQuad const*, QSGNode*, QtWebEngineCore::DelegatedNodeTreeHandler*, QHash<unsigned int, QSharedPointer<QtWebEngineCore::ResourceHolder> >&, QtWebEngineCore::RenderWidgetHostViewQtDelegate*) (this=this@entry=0x555558cfb1d0, quad=0x5555561e9420, currentLayerChain=0x0, nodeHandler=0x555558d40690, resourceCandidates=..., apiDelegate=apiDelegate@entry=0x555555f3c5a0) at /usr/include/qt/QtCore/qrect.h:184
      #7  0x00007fffeee518e5 in QtWebEngineCore::DelegatedFrameNode::commit(QtWebEngineCore::ChromiumCompositorData*, std::vector<viz::ReturnedResource, std::allocator<viz::ReturnedResource> >*, QtWebEngineCore::RenderWidgetHostViewQtDelegate*) (this=this@entry=0x555558cfb1d0, chromiumCompositorData=<optimized out>, resourcesToRelease=resourcesToRelease@entry=0x555555f00ec0, apiDelegate=<optimized out>)
          at /tmp/makepkg/qt5-webengine-debug/src/qtwebengine-everywhere-src-5.11.0/src/core/delegated_frame_node.cpp:985
      #8  0x00007fffeee82c8d in QtWebEngineCore::RenderWidgetHostViewQt::updatePaintNode(QSGNode*) (this=0x555555f00a20, oldNode=<optimized out>)
          at /usr/include/c++/8.1.0/bits/unique_ptr.h:342
      #9  0x00007fffe90812e0 in QQuickWindowPrivate::updateDirtyNode(QQuickItem*) (this=0x555555f4d120, item=0x555555ed9860)
          at /tmp/makepkg/qt5-declarative-debug/src/qtdeclarative-everywhere-src-5.11.0/src/quick/items/qquickwindow.cpp:3432
      #10 0x00007fffe90817b4 in QQuickWindowPrivate::updateDirtyNodes() (this=this@entry=0x555555f4d120)
          at /tmp/makepkg/qt5-declarative-debug/src/qtdeclarative-everywhere-src-5.11.0/src/quick/items/qquickwindow.cpp:3177
      #11 0x00007fffe9082d17 in QQuickWindowPrivate::syncSceneGraph() (this=0x555555f4d120)
          at /tmp/makepkg/qt5-declarative-debug/src/qtdeclarative-everywhere-src-5.11.0/src/quick/items/qquickwindow.cpp:431
      #12 0x00007fffe9142d6a in QQuickRenderControl::sync() (this=<optimized out>)
          at /tmp/makepkg/qt5-declarative-debug/src/qtdeclarative-everywhere-src-5.11.0/src/quick/items/qquickrendercontrol.cpp:286
      #13 0x00007ffff58892da in QQuickWidgetPrivate::render(bool) (this=0x555555ed7580, needsSync=true)
          at /tmp/makepkg/qt5-declarative-debug/src/qtdeclarative-everywhere-src-5.11.0/src/quickwidgets/qquickwidget.cpp:285
      #14 0x00007ffff58894b7 in QQuickWidgetPrivate::renderSceneGraph() (this=0x555555ed7580)
          at /tmp/makepkg/qt5-declarative-debug/src/qtdeclarative-everywhere-src-5.11.0/src/quickwidgets/qquickwidget.cpp:339
      #15 0x00007ffff6b7330b in QObject::event(QEvent*) (this=0x555555f3c570, e=<optimized out>) at kernel/qobject.cpp:1232
      #16 0x00007ffff717259c in QWidget::event(QEvent*) (this=this@entry=0x555555f3c570, event=event@entry=0x7fffffffd910) at kernel/qwidget.cpp:9343
      #17 0x00007ffff588d1a6 in QQuickWidget::event(QEvent*) (this=0x555555f3c570, e=0x7fffffffd910)
          at /tmp/makepkg/qt5-declarative-debug/src/qtdeclarative-everywhere-src-5.11.0/src/quickwidgets/qquickwidget.cpp:1525
      #18 0x00007ffff5f7fa71 in QtWebEngineCore::RenderWidgetHostViewQtDelegateWidget::event(QEvent*) (this=0x555555f3c570, event=0x7fffffffd910)
          at /tmp/makepkg/qt5-webengine-debug/src/qtwebengine-everywhere-src-5.11.0/src/webenginewidgets/render_widget_host_view_qt_delegate_widget.cpp:477
      #19 0x00007ffff7132a14 in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=this@entry=
          0x555555799bf0, receiver=receiver@entry=0x555555f3c570, e=e@entry=0x7fffffffd910) at kernel/qapplication.cpp:3713
      #20 0x00007ffff713a2eb in QApplication::notify(QObject*, QEvent*) (this=0x7fffffffdc70, receiver=0x555555f3c570, e=0x7fffffffd910) at kernel/qapplication.cpp:3472
      #21 0x00007ffff6b48c39 in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=0x555555f3c570, event=0x7fffffffd910)
          at ../../include/QtCore/5.11.0/QtCore/private/../../../../../src/corelib/thread/qthread_p.h:307
      #22 0x00007ffff6b9b28a in QCoreApplication::sendEvent(QObject*, QEvent*) (event=0x7fffffffd910, receiver=<optimized out>)
          at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:234
      #23 0x00007ffff6b9b28a in QTimerInfoList::activateTimers() (this=0x555555886c70)
          at kernel/qtimerinfo_unix.cpp:643
      #24 0x00007ffff6b9bb12 in timerSourceDispatch(GSource*, GSourceFunc, gpointer) (source=<optimized out>) at kernel/qeventdispatcher_glib.cpp:182
      #25 0x00007fffe954f368 in g_main_context_dispatch () at /usr/lib/libglib-2.0.so.0
      ---Type <return> to continue, or q <return> to quit---
      #26 0x00007fffe954f5b1 in  () at /usr/lib/libglib-2.0.so.0
      #27 0x00007fffe954f63e in g_main_context_iteration () at /usr/lib/libglib-2.0.so.0
      #28 0x00007ffff6b9beb9 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x55555588a7e0, flags=...) at kernel/qeventdispatcher_glib.cpp:423
      #29 0x00007fffd7e892f2 in QPAEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x55555588a7e0, flags=...) at qeventdispatcher_glib.cpp:69
      #30 0x00007ffff6b478cc in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7fffffffdb90, flags=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:140
      #31 0x00007ffff6b4fbc6 in QCoreApplication::exec() () at ../../include/QtCore/../../src/corelib/global/qflags.h:120
      #32 0x0000555555556f21 in  ()
      #33 0x00007ffff61b306b in __libc_start_main () at /usr/lib/libc.so.6
      #34 0x000055555555723a in _start ()
      
      #0  0x0000550000000100 in  ()
      #1  0x00007fffe84575d0 in QSGOpaqueTextureMaterial::compare(QSGMaterial const*) const (this=this@entry=0x55555a1ed760, o=0x55555a156690) at scenegraph/util/qsgtexturematerial.cpp:326
      #2  0x00007fffe843e25b in QSGBatchRenderer::Renderer::prepareOpaqueBatches() (this=this@entry=0x555555ad2950) at /home/florian/code/qt/5.11/qtbase/include/QtQuick/../../../qtdeclarative/src/quick/scenegraph/coreapi/qsgnode.h:241
      #3  0x00007fffe844b32e in QSGBatchRenderer::Renderer::render() (this=0x555555ad2950) at scenegraph/coreapi/qsgbatchrenderer.cpp:2661
      #4  0x00007fffe843a66d in QSGRenderer::renderScene(QSGBindable const&) (this=this@entry=0x555555ad2950, bindable=...) at scenegraph/coreapi/qsgrenderer.cpp:244
      #5  0x00007fffe843ab25 in QSGRenderer::renderScene(unsigned int) (this=0x555555ad2950, fboId=<optimized out>) at scenegraph/coreapi/qsgrenderer.cpp:190
      #6  0x00007fffe84800b3 in QSGDefaultRenderContext::renderNextFrame(QSGRenderer*, unsigned int) (this=0x555555b01b00, renderer=0x555555ad2950, fboId=16) at scenegraph/qsgdefaultrendercontext.cpp:182
      #7  0x00007fffe84ee6b3 in QQuickWindowPrivate::renderSceneGraph(QSize const&) (this=this@entry=0x555555a3e110, size=...) at items/qquickwindow.cpp:481
      #8  0x00007fffe85c203f in QQuickRenderControl::render() (this=<optimized out>) at items/qquickrendercontrol.cpp:344
      #9  0x00007ffff7e20bb2 in QQuickWidgetPrivate::render(bool) (this=this@entry=0x555555a87520, needsSync=needsSync@entry=true) at qquickwidget.cpp:288
      #10 0x00007ffff7e20e2a in QQuickWidgetPrivate::renderSceneGraph() (this=this@entry=0x555555a87520) at qquickwidget.cpp:339
      #11 0x00007ffff7e216db in QQuickWidget::timerEvent(QTimerEvent*) (this=<optimized out>, e=<optimized out>) at qquickwidget.cpp:1128
      #12 0x00007fffe6ce00ba in QObject::event(QEvent*) (this=this@entry=0x555555aea470, e=e@entry=0x7fffffffd840) at kernel/qobject.cpp:1232
      #13 0x00007fffe7d5be10 in QWidget::event(QEvent*) (this=this@entry=0x555555aea470, event=event@entry=0x7fffffffd840) at kernel/qwidget.cpp:9344
      #14 0x00007ffff7e256c7 in QQuickWidget::event(QEvent*) (this=0x555555aea470, e=0x7fffffffd840) at qquickwidget.cpp:1525
      #15 0x00007ffff7fe1634 in QtWebEngineCore::RenderWidgetHostViewQtDelegateWidget::event(QEvent*) (this=0x555555aea470, event=0x7fffffffd840) at render_widget_host_view_qt_delegate_widget.cpp:481
      #16 0x00007fffe7d13449 in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=this@entry=0x5555555ba650, receiver=receiver@entry=0x555555aea470, e=e@entry=0x7fffffffd840) at kernel/qapplication.cpp:3725
      #17 0x00007fffe7d1d001 in QApplication::notify(QObject*, QEvent*) (this=0x7fffffffdb50, receiver=0x555555aea470, e=0x7fffffffd840) at kernel/qapplication.cpp:3688
      #18 0x00007fffe6cae3c3 in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=0x555555aea470, event=event@entry=0x7fffffffd840) at kernel/qcoreapplication.cpp:1048
      #19 0x00007fffe6d0ce2e in QCoreApplication::sendEvent(QObject*, QEvent*) (event=0x7fffffffd840, receiver=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:234
      #20 0x00007fffe6d0ce2e in QTimerInfoList::activateTimers() (this=0x5555555f3690) at kernel/qtimerinfo_unix.cpp:643
      #21 0x00007fffe6d0d674 in timerSourceDispatch(GSource*, GSourceFunc, gpointer) (source=<optimized out>) at kernel/qeventdispatcher_glib.cpp:182
      #22 0x00007fffe4b73368 in g_main_context_dispatch () at /usr/lib/libglib-2.0.so.0
      #23 0x00007fffe4b735b1 in  () at /usr/lib/libglib-2.0.so.0
      #24 0x00007fffe4b7363e in g_main_context_iteration () at /usr/lib/libglib-2.0.so.0
      #25 0x00007fffe6d0da04 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x5555555f6ed0, flags=...) at kernel/qeventdispatcher_glib.cpp:423
      #26 0x00007fffd9f6da9f in QPAEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x5555555f6ed0, flags=...) at qeventdispatcher_glib.cpp:69
      #27 0x00007fffe6cac2d5 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7fffffffdac0, flags=..., flags@entry=...) at /usr/include/c++/8.1.0/bits/atomic_base.h:707
      #28 0x00007fffe6cac72d in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7fffffffdac0, flags=flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:122
      #29 0x00007fffe6cb6820 in QCoreApplication::exec() () at ../../include/QtCore/../../src/corelib/global/qflags.h:120
      #30 0x00007fffe77189fa in QGuiApplication::exec() () at kernel/qguiapplication.cpp:1750
      #31 0x00007fffe7d133b7 in QApplication::exec() () at kernel/qapplication.cpp:2899
      #32 0x000055555556f97a in main(int, char**) (argc=<optimized out>, argv=<optimized out>) at main.cpp:83
      

      Attachments

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

        Activity

          People

            allan.jensen Allan Sandfeld Jensen
            the compiler Florian Bruhin
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes