Application: umbrello (2.23.0-22682b2) KDE Platform Version: 4.14.33 (Compiled from sources) Qt Version: 4.8.7 Operating System: Linux 3.12.62-55-desktop x86_64 Distribution: "openSUSE 13.1 (Bottle) (x86_64)" -- Information about the crash: - What I was doing when the application crashed: 1. open appended file 2. open component diagram 3. delete component 'webserver' 4. click on any object in the scene The crash can be reproduced every time. -- Backtrace: Application: Umbrello UML Modeller (umbrello), signal: Segmentation fault Using host libthread_db library "/lib64/libthread_db.so.1". [KCrash Handler] #6 QGraphicsItem::parentItem (this=this@entry=0xffff00000001) at graphicsview/qgraphicsitem.cpp:1576 #7 0x00007fde2d4b313b in QGraphicsItem::topLevelItem (this=<optimized out>) at graphicsview/qgraphicsitem.cpp:1589 #8 0x00007fde2d4ff5d3 in QGraphicsSceneFindItemBspTreeVisitor::visit (this=0x2afd070, items=0x2c18da0) at graphicsview/qgraphicsscene_bsp.cpp:80 #9 0x00007fde2d4fe482 in QGraphicsSceneBspTree::climbTree (this=0x2c1df78, visitor=0x2afd070, rect=..., index=<optimized out>) at graphicsview/qgraphicsscene_bsp.cpp:261 #10 0x00007fde2d4fe482 in QGraphicsSceneBspTree::climbTree (this=0x2c1df78, visitor=0x2afd070, rect=..., index=<optimized out>) at graphicsview/qgraphicsscene_bsp.cpp:261 #11 0x00007fde2d4fe4de in QGraphicsSceneBspTree::climbTree (this=0x2c1df78, visitor=0x2afd070, rect=..., index=<optimized out>) at graphicsview/qgraphicsscene_bsp.cpp:252 #12 0x00007fde2d4feb8f in QGraphicsSceneBspTree::items (this=this@entry=0x2c1df78, rect=..., onlyTopLevelItems=onlyTopLevelItems@entry=true) at graphicsview/qgraphicsscene_bsp.cpp:154 #13 0x00007fde2d501860 in QGraphicsSceneBspTreeIndexPrivate::estimateItems (this=0x2c1ded0, rect=..., order=Qt::AscendingOrder, onlyTopLevelItems=onlyTopLevelItems@entry=true) at graphicsview/qgraphicsscenebsptreeindex.cpp:387 #14 0x00007fde2d5019f3 in QGraphicsSceneBspTreeIndex::estimateTopLevelItems (this=<optimized out>, rect=..., order=<optimized out>) at graphicsview/qgraphicsscenebsptreeindex.cpp:540 #15 0x00007fde2d504ba6 in items_helper (order=Qt::DescendingOrder, mode=Qt::IntersectsItemShape, viewTransform=..., items=0x7ffcb9bb7a90, intersector=0x2ad9b20, rect=..., this=0x2c1ded0) at graphicsview/qgraphicssceneindex_p.h:157 #16 QGraphicsSceneIndex::items (this=<optimized out>, pos=..., mode=mode@entry=Qt::IntersectsItemShape, order=order@entry=Qt::DescendingOrder, deviceTransform=...) at graphicsview/qgraphicssceneindex.cpp:423 #17 0x00007fde2d4dfaac in QGraphicsScene::items (this=<optimized out>, pos=...) at graphicsview/qgraphicsscene.cpp:1976 #18 0x00007fde2d4e0ec7 in QGraphicsScene::itemAt (this=<optimized out>, position=...) at graphicsview/qgraphicsscene.cpp:2211 #19 0x0000000000479cc9 in UMLScene::widgetAt (this=<optimized out>, p=...) at /home/ralf.habacker/src/umbrello-17.08/umbrello/umlscene.cpp:978 #20 0x0000000000674e9d in ToolBarState::setCurrentElement (this=0x2a57b00) at /home/ralf.habacker/src/umbrello-17.08/umbrello/toolbarstate.cpp:303 #21 0x00000000006744fc in ToolBarState::mousePress (this=0x2a57b00, ome=<optimized out>) at /home/ralf.habacker/src/umbrello-17.08/umbrello/toolbarstate.cpp:90 #22 0x000000000047eed0 in UMLScene::mousePressEvent (this=0x2c1d910, event=0x7ffcb9bb7e70) at /home/ralf.habacker/src/umbrello-17.08/umbrello/umlscene.cpp:852 #23 0x00007fde2d4f95c0 in QGraphicsScene::event (this=0x2c1d910, event=0x7ffcb9bb7e70) at graphicsview/qgraphicsscene.cpp:3455 #24 0x00007fde2cf12d9c in QApplicationPrivate::notify_helper (this=this@entry=0x22227a0, receiver=receiver@entry=0x2c1d910, e=e@entry=0x7ffcb9bb7e70) at kernel/qapplication.cpp:4565 #25 0x00007fde2cf1931d in QApplication::notify (this=this@entry=0x7ffcb9bb8c90, receiver=receiver@entry=0x2c1d910, e=e@entry=0x7ffcb9bb7e70) at kernel/qapplication.cpp:4351 #26 0x00007fde2ea3389a in KApplication::notify (this=0x7ffcb9bb8c90, receiver=0x2c1d910, event=0x7ffcb9bb7e70) at /usr/src/debug/kdelibs-4.14.33/kdeui/kernel/kapplication.cpp:311 #27 0x00007fde2c9cbe6d in QCoreApplication::notifyInternal (this=0x7ffcb9bb8c90, receiver=0x2c1d910, event=event@entry=0x7ffcb9bb7e70) at kernel/qcoreapplication.cpp:955 #28 0x00007fde2cf11736 in sendSpontaneousEvent (event=event@entry=0x7ffcb9bb7e70, receiver=<optimized out>) at ../../src/corelib/kernel/qcoreapplication.h:234 #29 qt_sendSpontaneousEvent (receiver=<optimized out>, event=event@entry=0x7ffcb9bb7e70) at kernel/qapplication.cpp:5563 #30 0x00007fde2d50ff9f in QGraphicsView::mousePressEvent (this=this@entry=0x2c196a0, event=event@entry=0x7ffcb9bb8450) at graphicsview/qgraphicsview.cpp:3164 #31 0x000000000048a683 in UMLView::mousePressEvent (this=0x2c196a0, event=0x7ffcb9bb8450) at /home/ralf.habacker/src/umbrello-17.08/umbrello/umlview.cpp:206 #32 0x00007fde2cf652c1 in QWidget::event (this=this@entry=0x2c196a0, event=event@entry=0x7ffcb9bb8450) at kernel/qwidget.cpp:8385 #33 0x00007fde2d303b6e in QFrame::event (this=0x2c196a0, e=0x7ffcb9bb8450) at widgets/qframe.cpp:557 #34 0x00007fde2d510cf9 in QGraphicsView::viewportEvent (this=0x2c196a0, event=0x7ffcb9bb8450) at graphicsview/qgraphicsview.cpp:2866 #35 0x00007fde2c9cbfd6 in QCoreApplicationPrivate::sendThroughObjectEventFilters (this=this@entry=0x22227a0, receiver=receiver@entry=0x2c24ac0, event=event@entry=0x7ffcb9bb8450) at kernel/qcoreapplication.cpp:1065 #36 0x00007fde2cf12d7c in QApplicationPrivate::notify_helper (this=this@entry=0x22227a0, receiver=receiver@entry=0x2c24ac0, e=e@entry=0x7ffcb9bb8450) at kernel/qapplication.cpp:4561 #37 0x00007fde2cf1945a in QApplication::notify (this=this@entry=0x7ffcb9bb8c90, receiver=receiver@entry=0x2c24ac0, e=e@entry=0x7ffcb9bb8450) at kernel/qapplication.cpp:4108 #38 0x00007fde2ea3389a in KApplication::notify (this=0x7ffcb9bb8c90, receiver=0x2c24ac0, event=0x7ffcb9bb8450) at /usr/src/debug/kdelibs-4.14.33/kdeui/kernel/kapplication.cpp:311 #39 0x00007fde2c9cbe6d in QCoreApplication::notifyInternal (this=0x7ffcb9bb8c90, receiver=receiver@entry=0x2c24ac0, event=event@entry=0x7ffcb9bb8450) at kernel/qcoreapplication.cpp:955 #40 0x00007fde2cf18c53 in sendEvent (event=<optimized out>, receiver=<optimized out>) at ../../src/corelib/kernel/qcoreapplication.h:231 #41 QApplicationPrivate::sendMouseEvent (receiver=receiver@entry=0x2c24ac0, event=event@entry=0x7ffcb9bb8450, alienWidget=alienWidget@entry=0x2c24ac0, nativeWidget=nativeWidget@entry=0x28beab0, buttonDown=buttonDown@entry=0x7fde2d9fa2e8 <qt_button_down>, lastMouseReceiver=..., spontaneous=spontaneous@entry=true) at kernel/qapplication.cpp:3173 #42 0x00007fde2cf8d5cb in QETWidget::translateMouseEvent (this=this@entry=0x28beab0, event=event@entry=0x7ffcb9bb87c0) at kernel/qapplication_x11.cpp:4536 #43 0x00007fde2cf8c03c in QApplication::x11ProcessEvent (this=0x7ffcb9bb8c90, event=event@entry=0x7ffcb9bb87c0) at kernel/qapplication_x11.cpp:3653 #44 0x00007fde2cfb2ef2 in x11EventSourceDispatch (s=0x22142b0, callback=0x0, user_data=0x0) at kernel/qguieventdispatcher_glib.cpp:146 #45 0x00007fde29a0c316 in g_main_context_dispatch () from /usr/lib64/libglib-2.0.so.0 #46 0x00007fde29a0c668 in ?? () from /usr/lib64/libglib-2.0.so.0 #47 0x00007fde29a0c70c in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0 #48 0x00007fde2c9f8d4e in QEventDispatcherGlib::processEvents (this=0x213e700, flags=...) at kernel/qeventdispatcher_glib.cpp:450 #49 0x00007fde2cfb2fa6 in QGuiEventDispatcherGlib::processEvents (this=<optimized out>, flags=...) at kernel/qguieventdispatcher_glib.cpp:204 #50 0x00007fde2c9caa3f in QEventLoop::processEvents (this=this@entry=0x7ffcb9bb8ba0, flags=...) at kernel/qeventloop.cpp:149 #51 0x00007fde2c9cad35 in QEventLoop::exec (this=this@entry=0x7ffcb9bb8ba0, flags=...) at kernel/qeventloop.cpp:204 #52 0x00007fde2c9d01bb in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1227 #53 0x00007fde2cf1155c in QApplication::exec () at kernel/qapplication.cpp:3823 #54 0x000000000043ffe5 in main (argc=<optimized out>, argv=<optimized out>) at /home/ralf.habacker/src/umbrello-17.08/umbrello/main.cpp:248 Reported using DrKonqi
Created attachment 107309 [details] test case
Git commit de5622502762d26dc9ba5e3ea9eb9e2600256b45 by Ralf Habacker. Committed on 17/08/2017 at 10:23. Pushed by habacker into branch 'Applications/17.08'. Fix 'Crash in component diagram after deleting component' In case a QGraphicsItem instance is on a scene and should be deleted QGraphicsScenePrivate::removeItemHelper() is called. The documentation say it leaves stale index in the tree, which let QGraphicsScene crash on the next paint. For now using the index has been disabled to avoid this issue. FIXED-IN:2.23.1 (KDE Applications 17.08.1) M +3 -0 umbrello/umlscene.cpp https://commits.kde.org/umbrello/de5622502762d26dc9ba5e3ea9eb9e2600256b45
Git commit ffdd4bfabdf830c859c2a4abfa711e715beeefdc by Ralf Habacker. Committed on 17/08/2017 at 10:04. Pushed by habacker into branch 'Applications/17.08'. Fix memory leaks M +9 -0 umbrello/toolbarstatearrow.cpp M +1 -0 umbrello/toolbarstatearrow.h M +2 -0 umbrello/toolbarstatemessages.cpp M +4 -0 umbrello/umlappprivate.h M +4 -0 umbrello/umlwidgets/associationline.cpp M +1 -0 umbrello/umlwidgets/associationwidget.cpp M +1 -0 umbrello/umlwidgets/seqlinewidget.cpp https://commits.kde.org/umbrello/ffdd4bfabdf830c859c2a4abfa711e715beeefdc
*** Bug 384618 has been marked as a duplicate of this bug. ***