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
For Gerrit Dashboard: QTBUG-68699 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
231668,2 | Fix crash with non-integer Qt scaling | 5.11 | qt/qtwebengine | Status: MERGED | +2 | 0 |
232822,3 | Fix mismatch of updated scenegraphs when clipping | 5.11 | qt/qtwebengine | Status: MERGED | +2 | 0 |