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

[REG 6.2 -> 6.3] QT_QUICK_BACKEND=software segfaults with QtWebEngine in QSGSoftwareRenderableNode::update

    XMLWordPrintable

Details

    • Linux/X11
    • 6fa8836d43 (qt/qtwebengine/dev) e2c04460bf (qt/qtwebengine/6.3) e2c04460bf (qt/qtwebengine/6.3.1) e2c04460bf (qt/tqtc-qtwebengine/6.3.1)

    Description

      Launching e.g. the QtWebEngine simplebrowser example with QT_QUICK_BACKEND=software segfaults:

      Thread 1 "simplebrowser" received signal SIGSEGV, Segmentation fault.
      0x00007fffec99b5cd in QSGSoftwareRenderableNode::update (this=this@entry=0x555555b0b1e0) at /usr/src/debug/qtdeclarative-everywhere-src-6.3.0/src/quick/scenegraph/adaptations/software/qsgsoftwarerenderablenode.cpp:187
      Downloading 0.01 MB source file /usr/src/debug/qtdeclarative-everywhere-src-6.3.0/src/quick/scenegraph/adaptations/software/qsgsoftwarerenderablenode.cpp
      187            if (!m_handle.simpleImageNode->texture()->hasAlphaChannel())
      (gdb) bt
      #0  0x00007fffec99b5cd in QSGSoftwareRenderableNode::update() (this=this@entry=0x555555b0b1e0) at /usr/src/debug/qtdeclarative-everywhere-src-6.3.0/src/quick/scenegraph/adaptations/software/qsgsoftwarerenderablenode.cpp:187
      #1  0x00007fffec99d815 in QSGSoftwareRenderableNodeUpdater::updateRenderableNode<QSGSimpleRectNode>(QSGSoftwareRenderableNode::NodeType, QSGSimpleRectNode*) (this=0x555555ad09b0, type=<optimized out>, node=0x555555a8bf30)
          at /usr/src/debug/qtdeclarative-everywhere-src-6.3.0/src/quick/scenegraph/adaptations/software/qsgsoftwarerenderablenodeupdater_p.h:135
      #2  0x00007fffec99e4af in QSGSoftwareRenderableNodeUpdater::updateNodes(QSGNode*, bool) (this=0x555555ad09b0, node=<optimized out>, isNodeRemoved=<optimized out>)
          at /usr/src/debug/qtdeclarative-everywhere-src-6.3.0/src/quick/scenegraph/adaptations/software/qsgsoftwarerenderablenodeupdater.cpp:268
      #3  0x00007fffec995089 in QSGAbstractSoftwareRenderer::nodeChanged(QSGNode*, QFlags<QSGNode::DirtyStateBit>) (this=0x555556149270, node=0x555555a8bf30, state=...)
          at /usr/src/debug/qtdeclarative-everywhere-src-6.3.0/src/quick/scenegraph/adaptations/software/qsgabstractsoftwarerenderer.cpp:108
      #4  0x00007fffec9c10b8 in QSGRootNode::notifyNodeChange(QSGNode*, QFlags<QSGNode::DirtyStateBit>) (this=this@entry=0x555556133020, node=node@entry=0x555555a8bf30, state=state@entry=...)
          at /usr/src/debug/qtdeclarative-everywhere-src-6.3.0/src/quick/scenegraph/coreapi/qsgnode.cpp:1277
      #5  0x00007fffec9c1141 in QSGNode::markDirty(QFlags<QSGNode::DirtyStateBit>) (this=0x555555a8bf30, bits=...) at /usr/src/debug/qtdeclarative-everywhere-src-6.3.0/src/quick/scenegraph/coreapi/qsgnode.cpp:671
      #6  0x00007fffec98ae9a in QQuickWindowPrivate::updateDirtyNodes() (this=0x55555621be00) at /usr/src/debug/qtdeclarative-everywhere-src-6.3.0/src/quick/items/qquickwindow.cpp:1892
      #7  0x00007fffec98014d in QQuickWindowPrivate::syncSceneGraph() (this=<optimized out>) at /usr/src/debug/qtdeclarative-everywhere-src-6.3.0/src/quick/items/qquickwindow.cpp:568
      #8  0x00007fffec91f7e5 in QQuickRenderControl::sync() (this=<optimized out>) at /usr/src/debug/qtdeclarative-everywhere-src-6.3.0/src/quick/items/qquickrendercontrol.cpp:390
      #9  0x00007fffeaba251a in QQuickWidgetPrivate::render(bool) (this=0x5555558fd220, needsSync=<optimized out>) at /usr/src/debug/qtdeclarative-everywhere-src-6.3.0/src/quickwidgets/qquickwidget.cpp:436
      #10 0x00007fffeaba380c in QQuickWidgetPrivate::renderSceneGraph() (this=0x5555558fd220) at /usr/src/debug/qtdeclarative-everywhere-src-6.3.0/src/quickwidgets/qquickwidget.cpp:473
      #11 QQuickWidget::timerEvent(QTimerEvent*) (this=<optimized out>, e=<optimized out>) at /usr/src/debug/qtdeclarative-everywhere-src-6.3.0/src/quickwidgets/qquickwidget.cpp:1318
      #12 0x00007fffeb2406e6 in QObject::event(QEvent*) (this=0x55555611d9d0, e=0x7fffffffc790) at /usr/src/debug/qtbase-everywhere-src-6.3.0/src/corelib/kernel/qobject.cpp:1333
      #13 0x00007ffff796ab5d in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=<optimized out>, receiver=0x55555611d9d0, e=0x7fffffffc790) at /usr/src/debug/qtbase-everywhere-src-6.3.0/src/widgets/kernel/qapplication.cpp:3337
      #14 0x00007fffeb1fa43a in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=0x55555611d9d0, event=0x7fffffffc790) at /usr/src/debug/qtbase-everywhere-src-6.3.0/src/corelib/kernel/qcoreapplication.cpp:1068
      #15 0x00007fffeb34a39d in QTimerInfoList::activateTimers() (this=0x555555655a90) at /usr/src/debug/qtbase-everywhere-src-6.3.0/src/corelib/kernel/qtimerinfo_unix.cpp:646
      #16 0x00007fffeb4156fa in timerSourceDispatch(GSource*, GSourceFunc, gpointer) (source=<optimized out>) at /usr/src/debug/qtbase-everywhere-src-6.3.0/src/corelib/kernel/qeventdispatcher_glib.cpp:185
      #17 0x00007fffe835a163 in g_main_dispatch (context=0x7fffd0005040) at ../glib/glib/gmain.c:3417
      #18 g_main_context_dispatch (context=0x7fffd0005040) at ../glib/glib/gmain.c:4135
      #19 0x00007fffe83b09e9 in g_main_context_iterate.constprop.0 (context=context@entry=0x7fffd0005040, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/glib/gmain.c:4211
      #20 0x00007fffe83576c5 in g_main_context_iteration (context=0x7fffd0005040, may_block=1) at ../glib/glib/gmain.c:4276
      #21 0x00007fffeb4138d0 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x55555564c780, flags=...) at /usr/src/debug/qtbase-everywhere-src-6.3.0/src/corelib/kernel/qeventdispatcher_glib.cpp:429
      #22 0x00007fffeb20294b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7fffffffca40, flags=...) at /usr/src/debug/qtbase-everywhere-src-6.3.0/src/corelib/global/qflags.h:70
      #23 0x00007fffeb1fcfb9 in QCoreApplication::exec() () at /usr/src/debug/qtbase-everywhere-src-6.3.0/src/corelib/global/qflags.h:110
      #24 0x00005555555667a9 in main ()
      

      Also reproducible with the 6.4.0-0-202205061236 snapshot from MaintenanceTool. Works fine on Qt 6.2.4 and 5.15.3, however.

      Attachments

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

        Activity

          People

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

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes