Details
-
Bug
-
Resolution: Done
-
P1: Critical
-
6.3.0
-
None
-
-
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.