Details
-
Bug
-
Resolution: Unresolved
-
P1: Critical
-
None
-
5.15.2
-
None
Description
Removing and Adding items on the graphicsview caused a segmentation fault.
Backtrace:
Thread 1 "test-qgv" received signal SIGSEGV, Segmentation fault. QGraphicsSceneFindItemBspTreeVisitor::visit (this=0x555556f1deb0, items=0x555555e50d88) at ../../include/QtCore/../../src/corelib/tools/qscopedpointer.h:116 116 ../../include/QtCore/../../src/corelib/tools/qscopedpointer.h: Directory not empty. (gdb) bt #0 QGraphicsSceneFindItemBspTreeVisitor::visit(QList<QGraphicsItem*>*) (this=0x555556f1deb0, items=0x555555e50d88) at ../../include/QtCore/../../src/corelib/tools/qscopedpointer.h:116 #1 0x00007fffeb85588a in QGraphicsSceneBspTree::climbTree(QGraphicsSceneBspTreeVisitor*, QRectF const&, int) const (this=0x555556f1ddd0, visitor=0x555556f1deb0, rect=..., index=<optimized out>) at graphicsview/qgraphicsscene_bsp.cpp:257 #2 0x00007fffeb8558de in QGraphicsSceneBspTree::climbTree(QGraphicsSceneBspTreeVisitor*, QRectF const&, int) const (this=0x555556f1ddd0, visitor=0x555556f1deb0, rect=..., index=<optimized out>) at graphicsview/qgraphicsscene_bsp.cpp:248 #3 0x00007fffeb85588a in QGraphicsSceneBspTree::climbTree(QGraphicsSceneBspTreeVisitor*, QRectF const&, int) const (this=0x555556f1ddd0, visitor=0x555556f1deb0, rect=..., index=<optimized out>) at graphicsview/qgraphicsscene_bsp.cpp:257 #4 0x00007fffeb85588a in QGraphicsSceneBspTree::climbTree(QGraphicsSceneBspTreeVisitor*, QRectF const&, int) const (this=0x555556f1ddd0, visitor=0x555556f1deb0, rect=..., index=<optimized out>) at graphicsview/qgraphicsscene_bsp.cpp:257 #5 0x00007fffeb85588a in QGraphicsSceneBspTree::climbTree(QGraphicsSceneBspTreeVisitor*, QRectF const&, int) const (this=0x555556f1ddd0, visitor=0x555556f1deb0, rect=..., index=<optimized out>) at graphicsview/qgraphicsscene_bsp.cpp:257 #6 0x00007fffeb8558de in QGraphicsSceneBspTree::climbTree(QGraphicsSceneBspTreeVisitor*, QRectF const&, int) const (this=0x555556f1ddd0, visitor=0x555556f1deb0, rect=..., index=<optimized out>) at graphicsview/qgraphicsscene_bsp.cpp:248 #7 0x00007fffeb85588a in QGraphicsSceneBspTree::climbTree(QGraphicsSceneBspTreeVisitor*, QRectF const&, int) const (this=0x555556f1ddd0, visitor=0x555556f1deb0, rect=..., index=<optimized out>) at graphicsview/qgraphicsscene_bsp.cpp:257 #8 0x00007fffeb85ad36 in QGraphicsSceneBspTree::items(QRectF const&, bool) const (onlyTopLevelItems=true, rect=..., this=0x555556f1ddd0) at graphicsview/qgraphicsscene_bsp.cpp:150 #9 QGraphicsSceneBspTreeIndexPrivate::estimateItems(QRectF const&, Qt::SortOrder, bool) (this=0x555556f1dd70, rect=..., order=Qt::AscendingOrder, onlyTopLevelItems=onlyTopLevelItems@entry=true) at graphicsview/qgraphicsscenebsptreeindex.cpp:387 #10 0x00007fffeb85b09c in QGraphicsSceneBspTreeIndex::estimateTopLevelItems(QRectF const&, Qt::SortOrder) const (this=<optimized out>, rect=<optimized out>, order=<optimized out>) at graphicsview/qgraphicsscenebsptreeindex.cpp:541 #11 0x00007fffeb86fe8f in QGraphicsScenePrivate::drawItems(QPainter*, QTransform const*, QRegion*, QWidget*) (widget=0x555556f1d9e0, exposedRegion=0x555556f1d4c0, viewTransform=0x7fffffffb050, painter=0x7fffffffb000, this=0x555556ddb8c0) at graphicsview/qgraphicsscene.cpp:4733 #12 QGraphicsView::paintEvent(QPaintEvent*) (this=<optimized out>, event=<optimized out>) at graphicsview/qgraphicsview.cpp:3561 #13 0x00007fffeb5564dc in QWidget::event(QEvent*) (this=0x555556f19940, event=0x7fffffffb3c0) at kernel/qwidget.cpp:8814 #14 0x00007fffeb6074c3 in QFrame::event(QEvent*) (this=0x555556f19940, e=0x7fffffffb3c0) at widgets/qframe.cpp:550 #15 0x00007fffea9e332a in QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) (event=<optimized out>, receiver=<optimized out>) at kernel/qcoreapplication.cpp:1190 #16 QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) (receiver=receiver@entry=0x555556f1d9e0, event=event@entry=0x7fffffffb3c0) at kernel/qcoreapplication.cpp:1179 #17 0x00007fffeb5201b5 in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=<optimized out>, receiver=0x555556f1d9e0, e=0x7fffffffb3c0) at kernel/qapplication.cpp:3631 #18 0x00007fffea9e45aa in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=0x555556f1d9e0, event=0x7fffffffb3c0) at kernel/qcoreapplication.cpp:1064 #19 0x00007fffeb54a1fc in QWidgetPrivate::sendPaintEvent(QRegion const&) (this=this@entry=0x555556f1da20, toBePainted=...) at kernel/qwidget.cpp:5467 #20 0x00007fffeb54b592 in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) (this=0x555556f1da20, pdev=0x555555927be0, rgn=..., offset=<optimized out>, flags=..., sharedPainter=<optimized out>, repaintManager=<optimized out>) at kernel/qwidget.cpp:5417 #21 0x00007fffeb54c075 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) (this=0x555556f1d000, pdev=0x555555927be0, siblings=<optimized out>, index=<optimized out>, rgn=..., offset=..., flags=..., sharedPainter=0x0, repaintManager=0x5555577939e0) at kernel/qwidget.cpp:5598 #22 0x00007fffeb54be96 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) (this=0x555556f1d000, pdev=0x555555927be0, siblings=..., index=3, rgn=..., offset=..., flags=..., sharedPainter=0x0, repaintManager=0x5555577939e0) at kernel/qwidget.cpp:5584 #23 0x00007fffeb54be96 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) (this=0x555556f1d000, pdev=0x555555927be0, siblings=..., index=4, rgn=..., offset=..., flags=..., sharedPainter=0x0, repaintManager=0x5555577939e0) at kernel/qwidget.cpp:5584 #24 0x00007fffeb54be96 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) (this=0x555556f1d000, pdev=0x555555927be0, siblings=..., index=5, rgn=..., offset=..., flags=..., sharedPainter=0x0, repaintManager=0x5555577939e0) at kernel/qwidget.cpp:5584 #25 0x00007fffeb54be96 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) (this=this@entry=0x555556f1d000, pdev=pdev@entry=0x555555927be0, siblings=..., index=6, rgn=..., offset=..., flags=..., sharedPainter=0x0, repaintManager=0x5555577939e0) at kernel/qwidget.cpp:5584 #26 0x00007fffeb54aac3 in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) (this=0x555556f1d000, pdev=0x555555927be0, rgn=..., offset=<optimized out>, flags=..., sharedPainter=<optimized out>, repaintManager=<optimized out>) at kernel/qwidget.cpp:5458 #27 0x00007fffeb54c075 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) (this=this@entry=0x555557a36340, pdev=pdev@entry=0x555555927be0, siblings=..., index=<optimized out>, rgn=..., offset=..., flags=..., sharedPainter=0x0, repaintManager=0x5555577939e0) at kernel/qwidget.cpp:5598 #28 0x00007fffeb54aac3 in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) (this=0x555557a36340, pdev=0x555555927be0, rgn=..., offset=<optimized out>, flags=..., sharedPainter=<optimized out>, repaintManager=<optimized out>) at kernel/qwidget.cpp:5458 #29 0x00007fffeb54c075 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) (this=this@entry=0x5555558ed250, pdev=pdev@entry=0x555555927be0, siblings=..., index=<optimized out>, rgn=..., offset=..., flags=..., sharedPainter=0x0, repaintManager=0x5555577939e0) at kernel/qwidget.cpp:5598 #30 0x00007fffeb54aac3 in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) (this=0x5555558ed250, pdev=0x555555927be0, rgn=..., offset=<optimized out>, flags=..., sharedPainter=<optimized out>, repaintManager=<optimized out>) at kernel/qwidget.cpp:5458 #31 0x00007fffeb54c075 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) (this=this@entry=0x5555558ceb60, pdev=pdev@entry=0x555555927be0, siblings=..., index=<optimized out>, rgn=..., offset=..., flags=..., sharedPainter=0x0, repaintManager=0x5555577939e0) at kernel/qwidget.cpp:5598 #32 0x00007fffeb54aac3 in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) (this=0x5555558ceb60, pdev=0x555555927be0, rgn=..., offset=<optimized out>, flags=..., sharedPainter=<optimized out>, repaintManager=<optimized out>) at kernel/qwidget.cpp:5458 #33 0x00007fffeb54c075 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) --Type <RET> for more, q to quit, c to continue without paging--c (this=this@entry=0x555555919090, pdev=pdev@entry=0x555555927be0, siblings=..., index=<optimized out>, rgn=..., offset=..., flags=..., sharedPainter=0x0, repaintManager=0x5555577939e0) at kernel/qwidget.cpp:5598 #34 0x00007fffeb54aac3 in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) (this=0x555555919090, pdev=0x555555927be0, rgn=..., offset=<optimized out>, flags=..., sharedPainter=<optimized out>, repaintManager=<optimized out>) at kernel/qwidget.cpp:5458 #35 0x00007fffeb54c075 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) (this=this@entry=0x5555558f3200, pdev=pdev@entry=0x555555927be0, siblings=..., index=<optimized out>, rgn=..., offset=..., flags=..., sharedPainter=0x0, repaintManager=0x5555577939e0) at kernel/qwidget.cpp:5598 #36 0x00007fffeb54aac3 in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) (this=0x5555558f3200, pdev=0x555555927be0, rgn=..., offset=<optimized out>, flags=..., sharedPainter=<optimized out>, repaintManager=<optimized out>) at kernel/qwidget.cpp:5458 #37 0x00007fffeb54c075 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) (this=0x555555711d00, pdev=0x555555927be0, siblings=<optimized out>, index=<optimized out>, rgn=..., offset=..., flags=..., sharedPainter=0x0, repaintManager=0x5555577939e0) at kernel/qwidget.cpp:5598 #38 0x00007fffeb54be96 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) (this=0x555555711d00, pdev=0x555555927be0, siblings=..., index=28, rgn=..., offset=..., flags=..., sharedPainter=0x0, repaintManager=0x5555577939e0) at kernel/qwidget.cpp:5584 #39 0x00007fffeb54be96 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) (this=0x555555711d00, pdev=0x555555927be0, siblings=..., index=29, rgn=..., offset=..., flags=..., sharedPainter=0x0, repaintManager=0x5555577939e0) at kernel/qwidget.cpp:5584 #40 0x00007fffeb54be96 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) (this=this@entry=0x555555711d00, pdev=pdev@entry=0x555555927be0, siblings=..., index=30, rgn=..., offset=..., flags=..., sharedPainter=0x0, repaintManager=0x5555577939e0) at kernel/qwidget.cpp:5584 #41 0x00007fffeb54aac3 in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) (this=0x555555711d00, pdev=0x555555927be0, rgn=..., offset=<optimized out>, flags=..., sharedPainter=<optimized out>, repaintManager=<optimized out>) at kernel/qwidget.cpp:5458 #42 0x00007fffeb52bb90 in QWidgetRepaintManager::paintAndFlush() (this=<optimized out>) at kernel/qwidgetrepaintmanager.cpp:1009 #43 0x00007fffeb556855 in QWidget::event(QEvent*) (this=0x7fffffffdba0, event=0x7fffe0018c70) at kernel/qwidget.cpp:8978 #44 0x00007fffeb5201c6 in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=<optimized out>, receiver=0x7fffffffdba0, e=0x7fffe0018c70) at kernel/qapplication.cpp:3637 #45 0x00007fffea9e45aa in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=0x7fffffffdba0, event=0x7fffe0018c70) at kernel/qcoreapplication.cpp:1064 #46 0x00007fffea9e50a9 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) (receiver=0x7fffffffdba0, event_type=77, data=0x555555701180) at kernel/qcoreapplication.cpp:1821 #47 0x00007fffeb856f0f in QGraphicsViewPrivate::dispatchPendingUpdateRequests() (this=<optimized out>, this=<optimized out>) at ../../include/QtWidgets/5.15.3/QtWidgets/private/../../../../../src/widgets/graphicsview/qgraphicsview_p.h:191 #48 QGraphicsViewPrivate::dispatchPendingUpdateRequests() (this=0x555556f1d000) at ../../include/QtWidgets/5.15.3/QtWidgets/private/../../../../../src/widgets/graphicsview/qgraphicsview_p.h:186 #49 QGraphicsScenePrivate::_q_processDirtyItems() (this=0x555556ddb8c0) at graphicsview/qgraphicsscene.cpp:516 #50 QGraphicsScene::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) (_o=<optimized out>, _c=<optimized out>, _id=<optimized out>, _a=<optimized out>) at .moc/moc_qgraphicsscene.cpp:197 #51 0x00007fffeaa087d6 in QObject::event(QEvent*) (this=<optimized out>, e=0x555555f1fe00) at kernel/qobject.cpp:1314 #52 0x00007fffeb5201c6 in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=<optimized out>, receiver=0x5555577e8190, e=0x555555f1fe00) at kernel/qapplication.cpp:3637 #53 0x00007fffea9e45aa in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=0x5555577e8190, event=0x555555f1fe00) at kernel/qcoreapplication.cpp:1064 #54 0x00007fffea9e50a9 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) (receiver=0x0, event_type=0, data=0x555555701180) at kernel/qcoreapplication.cpp:1821 #55 0x00007fffeaa2c678 in postEventSourceDispatch(GSource*, GSourceFunc, gpointer) (s=0x555555880100) at kernel/qeventdispatcher_glib.cpp:277 #56 0x00007fffe958eee3 in g_main_dispatch (context=0x7fffe0005010) at ../glib/glib/gmain.c:3381 #57 g_main_context_dispatch (context=0x7fffe0005010) at ../glib/glib/gmain.c:4099 #58 0x00007fffe95e50f9 in g_main_context_iterate.constprop.0 (context=context@entry=0x7fffe0005010, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/glib/gmain.c:4175 #59 0x00007fffe958c455 in g_main_context_iteration (context=0x7fffe0005010, may_block=1) at ../glib/glib/gmain.c:4240 #60 0x00007fffeaa3057a in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x5555558856e0, flags=...) at kernel/qeventdispatcher_glib.cpp:423 #61 0x00007fffea9dc88b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7fffffffdac0, flags=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:69 #62 0x00007fffea9e7fd7 in QCoreApplication::exec() () at ../../include/QtCore/../../src/corelib/global/qflags.h:121 #63 0x000055555557a2c9 in main(int, char**) (argc=1, argv=0x7fffffffde58) at /home/tcanabrava/Projects/diagram-server/desktopapp/desktopapp.m.cpp:72 (gdb)