Present on git master HEAD of today; the oldest I've tried it with is git master of 2014-05-07, same problem. KCrash is not able to produce a backtrace (apparently due to stack overflow) but here's the relevant part of a gdb run: umbrello(9979) UMLApp::setCurrentView: Changed view to UMLScene: "class diagram" / type="Class" / id="DMwBIoFY89jL" / isOpen=true umbrello(9979) UMLScene::loadMessagesFromXMI: tag = "messagewidget" umbrello(9979) UMLScene::addFloatingTextWidget: "CHdnPVZW9I8Q" type= "wt_Text" : position ( 0 , 0 ) is out of range umbrello(9979) UMLScene::loadMessagesFromXMI: tag = "messagewidget" umbrello(9979) UMLScene::addFloatingTextWidget: "rAa64rmLmxEt" type= "wt_Text" : position ( 0 , 0 ) is out of range umbrello(9979) UMLScene::loadMessagesFromXMI: tag = "messagewidget" umbrello(9979) UMLScene::addFloatingTextWidget: "EOzvNgiDZd0y" type= "wt_Text" : position ( 0 , 0 ) is out of range umbrello(9979) UMLScene::loadMessagesFromXMI: tag = "messagewidget" umbrello(9979) UMLScene::addFloatingTextWidget: "9BlUsbWZ28E9" type= "wt_Text" : position ( 0 , 0 ) is out of range umbrello(9979) UMLScene::loadMessagesFromXMI: tag = "messagewidget" umbrello(9979) UMLScene::addFloatingTextWidget: "VTfaAlJbFrYh" type= "wt_Text" : position ( 0 , 0 ) is out of range umbrello(9979) UMLScene::loadMessagesFromXMI: tag = "messagewidget" umbrello(9979) UMLScene::addFloatingTextWidget: "FpcjoESyhtcF" type= "wt_Text" : position ( 0 , 0 ) is out of range umbrello(9979) UMLScene::loadMessagesFromXMI: tag = "messagewidget" umbrello(9979) UMLScene::addFloatingTextWidget: "NCpuMGm4xpu0" type= "wt_Text" : position ( 0 , 0 ) is out of range umbrello(9979) UMLScene::loadMessagesFromXMI: tag = "messagewidget" umbrello(9979) UMLScene::addFloatingTextWidget: "0abgq2EH6BjT" type= "wt_Text" : position ( 0 , 0 ) is out of range umbrello(9979) WidgetBase::loadFromXMI: Using default font "Sans Serif,10,-1,0,50,0,0,0,0,0" for widget with xmi.id "" umbrello(9979) WidgetBase::loadFromXMI: Using default font "Sans Serif,10,-1,0,50,0,0,0,0,0" for widget with xmi.id "" umbrello(9979) WidgetBase::loadFromXMI: Using default font "Sans Serif,10,-1,0,50,0,0,0,0,0" for widget with xmi.id "" umbrello(9979) WidgetBase::loadFromXMI: Using default font "Sans Serif,10,-1,0,50,0,0,0,0,0" for widget with xmi.id "" umbrello(9979) WidgetBase::loadFromXMI: Using default font "Sans Serif,10,-1,0,50,0,0,0,0,0" for widget with xmi.id "" umbrello(9979) UMLDoc::addView: "gnat1_handling_of_with_clause" to folder UMLFolder: localName="Logical View", folderFile="", diagrams=1 umbrello(9979) UMLListView::slotObjectCreated: "Logical View" , type= 801 , id= "Logical View" : item already exists. umbrello(9979) UMLScene::slotObjectCreated: scene= "class diagram" / object= "Logical View" umbrello(9979) UMLListView::slotObjectCreated: "Datatypes" , type= 830 , id= "Datatypes" : item already exists. umbrello(9979) UMLScene::slotObjectCreated: scene= "class diagram" / object= "Datatypes" umbrello(9979) UMLScene::slotObjectCreated: scene= "class diagram" / object= "int" umbrello(9979) UMLScene::slotObjectCreated: scene= "class diagram" / object= "char" umbrello(9979) UMLScene::slotObjectCreated: scene= "class diagram" / object= "bool" umbrello(9979) UMLScene::slotObjectCreated: scene= "class diagram" / object= "float" umbrello(9979) UMLScene::slotObjectCreated: scene= "class diagram" / object= "double" umbrello(9979) UMLScene::slotObjectCreated: scene= "class diagram" / object= "short" umbrello(9979) UMLScene::slotObjectCreated: scene= "class diagram" / object= "long" umbrello(9979) UMLScene::slotObjectCreated: scene= "class diagram" / object= "unsigned int" umbrello(9979) UMLScene::slotObjectCreated: scene= "class diagram" / object= "unsigned short" umbrello(9979) UMLScene::slotObjectCreated: scene= "class diagram" / object= "unsigned long" umbrello(9979) UMLScene::slotObjectCreated: scene= "class diagram" / object= "string" umbrello(9979) UMLScene::slotObjectCreated: scene= "class diagram" / object= "Boolean" umbrello(9979) UMLScene::slotObjectCreated: scene= "class diagram" / object= "Character" umbrello(9979) UMLScene::slotObjectCreated: scene= "class diagram" / object= "Positive" umbrello(9979) UMLScene::slotObjectCreated: scene= "class diagram" / object= "Natural" umbrello(9979) UMLScene::slotObjectCreated: scene= "class diagram" / object= "Integer" umbrello(9979) UMLScene::slotObjectCreated: scene= "class diagram" / object= "Short_Integer" umbrello(9979) UMLScene::slotObjectCreated: scene= "class diagram" / object= "Long_Integer" umbrello(9979) UMLScene::slotObjectCreated: scene= "class diagram" / object= "Long_Float" umbrello(9979) UMLScene::slotObjectCreated: scene= "class diagram" / object= "Duration" umbrello(9979) UMLScene::slotObjectCreated: scene= "class diagram" / object= "Gnat1drv" umbrello(9979) UMLScene::slotObjectCreated: scene= "class diagram" / object= "Frontend" umbrello(9979) UMLListView::slotObjectCreated: "Call_Frontend" , type= 815 , id= "CHdnPVZW9I8Q" : item already exists. umbrello(9979) UMLScene::slotObjectCreated: scene= "class diagram" / object= "Call_Frontend" umbrello(9979) UMLScene::slotObjectCreated: scene= "class diagram" / object= "Par" umbrello(9979) UMLListView::slotObjectCreated: "Par" , type= 815 , id= "NCpuMGm4xpu0" : item already exists. umbrello(9979) UMLScene::slotObjectCreated: scene= "class diagram" / object= "Par" umbrello(9979) UMLListView::slotObjectCreated: "Load" , type= 815 , id= "EOzvNgiDZd0y" : item already exists. umbrello(9979) UMLScene::slotObjectCreated: scene= "class diagram" / object= "Load" umbrello(9979) UMLScene::slotObjectCreated: scene= "class diagram" / object= "Ch10" umbrello(9979) UMLListView::slotObjectCreated: "P_Compilation_Unit" , type= 815 , id= "VTfaAlJbFrYh" : item already exists. umbrello(9979) UMLScene::slotObjectCreated: scene= "class diagram" / object= "P_Compilation_Unit" umbrello(9979) UMLListView::slotObjectCreated: "P_Context_Clause" , type= 815 , id= "FpcjoESyhtcF" : item already exists. umbrello(9979) UMLScene::slotObjectCreated: scene= "class diagram" / object= "P_Context_Clause" umbrello(9979) UMLScene::slotObjectCreated: scene= "class diagram" / object= "Lib.Load" umbrello(9979) UMLListView::slotObjectCreated: "Load_Main_Source" , type= 815 , id= "rAa64rmLmxEt" : item already exists. umbrello(9979) UMLScene::slotObjectCreated: scene= "class diagram" / object= "Load_Main_Source" umbrello(9979) UMLListView::slotObjectCreated: "Load_Unit" , type= 815 , id= "9BlUsbWZ28E9" : item already exists. umbrello(9979) UMLScene::slotObjectCreated: scene= "class diagram" / object= "Load_Unit" umbrello(9979) UMLScene::slotObjectCreated: scene= "class diagram" / object= "Sem" umbrello(9979) UMLListView::slotObjectCreated: "Semantics" , type= 815 , id= "0abgq2EH6BjT" : item already exists. umbrello(9979) UMLScene::slotObjectCreated: scene= "class diagram" / object= "Semantics" umbrello(9979) UMLListView::slotObjectCreated: "Use Case View" , type= 802 , id= "Use Case View" : item already exists. umbrello(9979) UMLScene::slotObjectCreated: scene= "class diagram" / object= "Use Case View" umbrello(9979) UMLListView::slotObjectCreated: "Component View" , type= 821 , id= "Component View" : item already exists. umbrello(9979) UMLScene::slotObjectCreated: scene= "class diagram" / object= "Component View" umbrello(9979) UMLListView::slotObjectCreated: "Deployment View" , type= 827 , id= "Deployment View" : item already exists. umbrello(9979) UMLScene::slotObjectCreated: scene= "class diagram" / object= "Deployment View" umbrello(9979) UMLListView::slotObjectCreated: "Entity Relationship Model" , type= 836 , id= "Entity Relationship Model" : item already exi sts. umbrello(9979) UMLScene::slotObjectCreated: scene= "class diagram" / object= "Entity Relationship Model" Program received signal SIGSEGV, Segmentation fault. 0xb6945d45 in ?? () from /usr/lib/libQtGui.so.4 (gdb) bt #0 0xb6945d45 in ?? () from /usr/lib/libQtGui.so.4 #1 0xb6947efe in QTextEngine::itemize() const () from /usr/lib/libQtGui.so.4 #2 0xb694a1b0 in QTextEngine::width(int, int) const () from /usr/lib/libQtGui.so.4 #3 0xb691f0b6 in QFontMetrics::width(QString const&, int) const () from /usr/lib/libQtGui.so.4 #4 0x0822b665 in FloatingTextWidget::minimumSize (this=0x86963f8) at /kdesdk/umbrello/umbrello/widgets/floatingtextwidget.cpp:183 #5 0x0822b31e in FloatingTextWidget::setText (this=0x86963f8, t=...) at /kdesdk/umbrello/umbrello/widgets/floatingtextwidget.cpp:120 #6 0x0822fe36 in MessageWidget::setMessageText (this=0x8695ee8, ft=0x86963f8) at /kdesdk/umbrello/umbrello/widgets/messagewidget.cpp:880 #7 0x082307cf in MessageWidget::calculateWidget (this=0x8695ee8) at /kdesdk/umbrello/umbrello/widgets/messagewidget.cpp:710 #8 0x082320f3 in MessageWidget::slotWidgetMoved (this=0x8695ee8, id="7xVVq7gC8ZOl") at /kdesdk/umbrello/umbrello/widgets/messagewidget.cpp:730 #9 0x08231372 in MessageWidget::qt_metacall (this=0x8695ee8, _c=QMetaObject::InvokeMetaMethod, _id=<optimized out>, _a=0xbf804938) at /kdesdk/umbrello/build/umbrello/messagewidget.moc:81 #10 0xb719defd in QMetaObject::metacall(QObject*, QMetaObject::Call, int, void**) () from /usr/lib/libQtCore.so.4 #11 0xb71acfe8 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/libQtCore.so.4 #12 0x08244a25 in UMLWidget::sigWidgetMoved (this=0x868e938, _t1="7xVVq7gC8ZOl") at /kdesdk/umbrello/build/umbrello/umlwidget.moc:111 #13 0x082375bc in ObjectWidget::moveEvent (this=0x868e938, event=0x0) at /kdesdk/umbrello/umbrello/widgets/objectwidget.cpp:305 #14 0x082312bf in MessageWidget::setY (this=0x8698ce8, y=237) at /kdesdk/umbrello/umbrello/widgets/messagewidget.cpp:158 #15 0x082320eb in MessageWidget::slotWidgetMoved (this=0x8698ce8, id="7xVVq7gC8ZOl") at /kdesdk/umbrello/umbrello/widgets/messagewidget.cpp:729 #16 0x08231372 in MessageWidget::qt_metacall (this=0x8698ce8, _c=QMetaObject::InvokeMetaMethod, _id=<optimized out>, _a=0xbf804b98) at /kdesdk/umbrello/build/umbrello/messagewidget.moc:81 #17 0xb719defd in QMetaObject::metacall(QObject*, QMetaObject::Call, int, void**) () from /usr/lib/libQtCore.so.4 #18 0xb71acfe8 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/libQtCore.so.4 #19 0x08244a25 in UMLWidget::sigWidgetMoved (this=0x868e938, _t1="7xVVq7gC8ZOl") at /kdesdk/umbrello/build/umbrello/umlwidget.moc:111 #20 0x082375bc in ObjectWidget::moveEvent (this=0x868e938, event=0x0) at /kdesdk/umbrello/umbrello/widgets/objectwidget.cpp:305 #21 0x082312bf in MessageWidget::setY (this=0x8698ce8, y=237) at /kdesdk/umbrello/umbrello/widgets/messagewidget.cpp:158 #22 0x082320eb in MessageWidget::slotWidgetMoved (this=0x8698ce8, id="7xVVq7gC8ZOl") at /kdesdk/umbrello/umbrello/widgets/messagewidget.cpp:729 #23 0x08231372 in MessageWidget::qt_metacall (this=0x8698ce8, _c=QMetaObject::InvokeMetaMethod, _id=<optimized out>, _a=0xbf804df8) at /kdesdk/umbrello/build/umbrello/messagewidget.moc:81 #24 0xb719defd in QMetaObject::metacall(QObject*, QMetaObject::Call, int, void**) () from /usr/lib/libQtCore.so.4 #25 0xb71acfe8 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/libQtCore.so.4 #26 0x08244a25 in UMLWidget::sigWidgetMoved (this=0x868e938, _t1="7xVVq7gC8ZOl") at /kdesdk/umbrello/build/umbrello/umlwidget.moc:111 #27 0x082375bc in ObjectWidget::moveEvent (this=0x868e938, event=0x0) at /kdesdk/umbrello/umbrello/widgets/objectwidget.cpp:305 #28 0x082312bf in MessageWidget::setY (this=0x8698ce8, y=237) at /kdesdk/umbrello/umbrello/widgets/messagewidget.cpp:158 #29 0x082320eb in MessageWidget::slotWidgetMoved (this=0x8698ce8, id="7xVVq7gC8ZOl") at /kdesdk/umbrello/umbrello/widgets/messagewidget.cpp:729 #30 0x08231372 in MessageWidget::qt_metacall (this=0x8698ce8, _c=QMetaObject::InvokeMetaMethod, _id=<optimized out>, _a=0xbf805058) at /kdesdk/umbrello/build/umbrello/messagewidget.moc:81 #31 0xb719defd in QMetaObject::metacall(QObject*, QMetaObject::Call, int, void**) () from /usr/lib/libQtCore.so.4 #32 0xb71acfe8 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/libQtCore.so.4 #33 0x08244a25 in UMLWidget::sigWidgetMoved (this=0x868e938, _t1="7xVVq7gC8ZOl") at /kdesdk/umbrello/build/umbrello/umlwidget.moc:111 #34 0x082375bc in ObjectWidget::moveEvent (this=0x868e938, event=0x0) at /kdesdk/umbrello/umbrello/widgets/objectwidget.cpp:305 #35 0x082312bf in MessageWidget::setY (this=0x8698ce8, y=237) at /kdesdk/umbrello/umbrello/widgets/messagewidget.cpp:158 #36 0x082320eb in MessageWidget::slotWidgetMoved (this=0x8698ce8, id="7xVVq7gC8ZOl") at /kdesdk/umbrello/umbrello/widgets/messagewidget.cpp:729 #37 0x08231372 in MessageWidget::qt_metacall (this=0x8698ce8, _c=QMetaObject::InvokeMetaMethod, _id=<optimized out>, _a=0xbf8052b8) at /kdesdk/umbrello/build/umbrello/messagewidget.moc:81 #38 0xb719defd in QMetaObject::metacall(QObject*, QMetaObject::Call, int, void**) () from /usr/lib/libQtCore.so.4 #39 0xb71acfe8 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/libQtCore.so.4 #40 0x08244a25 in UMLWidget::sigWidgetMoved (this=0x868e938, _t1="7xVVq7gC8ZOl") at /kdesdk/umbrello/build/umbrello/umlwidget.moc:111 #41 0x082375bc in ObjectWidget::moveEvent (this=0x868e938, event=0x0) at /kdesdk/umbrello/umbrello/widgets/objectwidget.cpp:305 #42 0x082312bf in MessageWidget::setY (this=0x8698ce8, y=237) at /kdesdk/umbrello/umbrello/widgets/messagewidget.cpp:158 #43 0x082320eb in MessageWidget::slotWidgetMoved (this=0x8698ce8, id="7xVVq7gC8ZOl") at /kdesdk/umbrello/umbrello/widgets/messagewidget.cpp:729 #44 0x08231372 in MessageWidget::qt_metacall (this=0x8698ce8, _c=QMetaObject::InvokeMetaMethod, _id=<optimized out>, _a=0xbf805518) at /kdesdk/umbrello/build/umbrello/messagewidget.moc:81 Reproducible: Always Steps to Reproduce: 1. Start recent umbrello built from git. 2. Load an XMI file of your choice containing a sequence diagram (IMHO any ol' file will do.) 3. Witness segfault.
Created attachment 87177 [details] demo XMI file for which the crash happens
Git commit 7e997587b65c1e52530ffba6c2655a54cfbab40e by Oliver Kellogg. Committed on 14/06/2014 at 08:40. Pushed by okellogg into branch 'master'. umbrello/widgets/messagewidget.cpp - In function setY() do not emit sigMessageMoved() if UMLApp::app()->document()->loading() umbrello/widgets/objectwidget.cpp - In function setY() do not moveEvent(0) if UMLApp::app()->document()->loading() M +1 -1 umbrello/widgets/messagewidget.cpp M +2 -1 umbrello/widgets/objectwidget.cpp http://commits.kde.org/umbrello/7e997587b65c1e52530ffba6c2655a54cfbab40e
Git commit 1d99c6a3243d129109cc511bd6d323c237175e45 by Oliver Kellogg. Committed on 14/06/2014 at 08:40. Pushed by okellogg into branch 'KDE/4.13'. umbrello/widgets/messagewidget.cpp - In function setY() do not emit sigMessageMoved() if UMLApp::app()->document()->loading() umbrello/widgets/objectwidget.cpp - In function setY() do not moveEvent(0) if UMLApp::app()->document()->loading() M +1 -1 umbrello/widgets/messagewidget.cpp M +2 -1 umbrello/widgets/objectwidget.cpp http://commits.kde.org/umbrello/1d99c6a3243d129109cc511bd6d323c237175e45