[umbrello-devel] [umbrello] [Bug 336997] New: Crash on sequence diagrams adding creation message

Ralf Habacker ralf.habacker at freenet.de
Thu Jul 3 08:08:26 UTC 2014


https://bugs.kde.org/show_bug.cgi?id=336997

            Bug ID: 336997
           Summary: Crash on sequence diagrams adding creation message
    Classification: Unclassified
           Product: umbrello
           Version: 2.13.2
          Platform: unspecified
                OS: Linux
            Status: UNCONFIRMED
          Severity: crash
          Priority: NOR
         Component: general
          Assignee: umbrello-devel at kde.org
          Reporter: ralf.habacker at freenet.de

umbrello sequence diagrams supports object creating. Using this feature let
umbrello crash

Reproducible: Always

Steps to Reproduce:
1. open umbrello
2. add two classes
3. add a sequence diagram
4. add objects of both classes to sequence diagram
5. select synchronous message 
6. select vertical line of first object
7. click on the second object to add a creation message
Actual Results:  
umbrello crashes with the following backtrace

0    QTextEngine::itemize() const    /usr/lib64/libQtGui.so.4       
0x7ffff57bc687    
1    QTextEngine::width(int, int) const    /usr/lib64/libQtGui.so.4       
0x7ffff57befa0    
2    QFontMetrics::width(QString const&, int, int) const   
/usr/lib64/libQtGui.so.4        0x7ffff5797900    
3    FloatingTextWidget::minimumSize    floatingtextwidget.cpp    185   
0x5a898b    
4    UMLWidget::constrain    umlwidget.cpp    678    0x5bd42a    
5    UMLWidget::updateGeometry    umlwidget.cpp    1593    0x5be0db    
6    MessageWidget::setTextPosition    messagewidget.cpp    632    0x5acbb5    
7    MessageWidget::setY    messagewidget.cpp    162    0x5ace7b    
8    MessageWidget::slotWidgetMoved    messagewidget.cpp    729    0x5ad26c    
9    MessageWidget::qt_static_metacall    messagewidget.moc    55    0x5ac940   
10    QMetaObject::activate(QObject*, QMetaObject const*, int, void**)   
/usr/lib64/libQtCore.so.4        0x7ffff46a3d68    
11    UMLWidget::sigWidgetMoved    umlwidget.moc    124    0x5be5d0    
12    ObjectWidget::moveEvent    objectwidget.cpp    306    0x5b3027    
13    MessageWidget::setY    messagewidget.cpp    158    0x5ace4c    
14    MessageWidget::slotWidgetMoved    messagewidget.cpp    729    0x5ad26c    
15    MessageWidget::qt_static_metacall    messagewidget.moc    55    0x5ac940  
16    QMetaObject::activate(QObject*, QMetaObject const*, int, void**)   
/usr/lib64/libQtCore.so.4        0x7ffff46a3d68    
17    UMLWidget::sigWidgetMoved    umlwidget.moc    124    0x5be5d0    
18    ObjectWidget::moveEvent    objectwidget.cpp    306    0x5b3027    
19    MessageWidget::setY    messagewidget.cpp    158    0x5ace4c    
20    MessageWidget::slotWidgetMoved    messagewidget.cpp    729    0x5ad26c    
21    MessageWidget::qt_static_metacall    messagewidget.moc    55    0x5ac940  
22    QMetaObject::activate(QObject*, QMetaObject const*, int, void**)   
/usr/lib64/libQtCore.so.4        0x7ffff46a3d68    
23    UMLWidget::sigWidgetMoved    umlwidget.moc    124    0x5be5d0    
24    ObjectWidget::moveEvent    objectwidget.cpp    306    0x5b3027    
25    MessageWidget::setY    messagewidget.cpp    158    0x5ace4c    
26    MessageWidget::slotWidgetMoved    messagewidget.cpp    729    0x5ad26c    
27    MessageWidget::qt_static_metacall    messagewidget.moc    55    0x5ac940  
28    QMetaObject::activate(QObject*, QMetaObject const*, int, void**)   
/usr/lib64/libQtCore.so.4        0x7ffff46a3d68    
29    UMLWidget::sigWidgetMoved    umlwidget.moc    124    0x5be5d0    
30    ObjectWidget::moveEvent    objectwidget.cpp    306    0x5b3027    
31    MessageWidget::setY    messagewidget.cpp    158    0x5ace4c    
32    MessageWidget::slotWidgetMoved    messagewidget.cpp    729    0x5ad26c    
33    MessageWidget::qt_static_metacall    messagewidget.moc    55    0x5ac940  
....
72844    QMetaObject::activate(QObject*, QMetaObject const*, int, void**)   
/usr/lib64/libQtCore.so.4        0x7ffff46a3d68    
72845    UMLWidget::sigWidgetMoved    umlwidget.moc    124    0x5be5d0    
72846    ObjectWidget::moveEvent    objectwidget.cpp    306    0x5b3027    
72847    MessageWidget::setY    messagewidget.cpp    158    0x5ace4c    
72848    MessageWidget::slotWidgetMoved    messagewidget.cpp    729    0x5ad26c 
72849    MessageWidget::qt_static_metacall    messagewidget.moc    55   
0x5ac940    
72850    QMetaObject::activate(QObject*, QMetaObject const*, int, void**)   
/usr/lib64/libQtCore.so.4        0x7ffff46a3d68    
72851    UMLWidget::sigWidgetMoved    umlwidget.moc    124    0x5be5d0    
72852    ObjectWidget::moveEvent    objectwidget.cpp    306    0x5b3027    
72853    MessageWidget::setY    messagewidget.cpp    158    0x5ace4c    
72854    MessageWidget::slotWidgetMoved    messagewidget.cpp    729    0x5ad26c 
72855    MessageWidget::qt_static_metacall    messagewidget.moc    55   
0x5ac940    
72856    QMetaObject::activate(QObject*, QMetaObject const*, int, void**)   
/usr/lib64/libQtCore.so.4        0x7ffff46a3d68    
72857    UMLWidget::sigWidgetMoved    umlwidget.moc    124    0x5be5d0    
72858    ObjectWidget::moveEvent    objectwidget.cpp    306    0x5b3027    
72859    MessageWidget::setY    messagewidget.cpp    158    0x5ace4c    
72860    MessageWidget::slotWidgetMoved    messagewidget.cpp    729    0x5ad26c 
72861    MessageWidget::qt_static_metacall    messagewidget.moc    55   
0x5ac940    
72862    QMetaObject::activate(QObject*, QMetaObject const*, int, void**)   
/usr/lib64/libQtCore.so.4        0x7ffff46a3d68    
72863    UMLWidget::sigWidgetMoved    umlwidget.moc    124    0x5be5d0    
72864    ObjectWidget::moveEvent    objectwidget.cpp    306    0x5b3027    
72865    MessageWidget::setY    messagewidget.cpp    158    0x5ace4c    
72866    MessageWidget::slotWidgetMoved    messagewidget.cpp    729    0x5ad26c 
72867    MessageWidget::qt_static_metacall    messagewidget.moc    55   
0x5ac940    
72868    QMetaObject::activate(QObject*, QMetaObject const*, int, void**)   
/usr/lib64/libQtCore.so.4        0x7ffff46a3d68    
72869    UMLWidget::sigWidgetMoved    umlwidget.moc    124    0x5be5d0    
72870    ObjectWidget::moveEvent    objectwidget.cpp    306    0x5b3027    
72871    MessageWidget::setY    messagewidget.cpp    158    0x5ace4c    
72872    MessageWidget::slotWidgetMoved    messagewidget.cpp    729    0x5ad26c 
72873    MessageWidget::qt_static_metacall    messagewidget.moc    55   
0x5ac940    
72874    QMetaObject::activate(QObject*, QMetaObject const*, int, void**)   
/usr/lib64/libQtCore.so.4        0x7ffff46a3d68    
72875    UMLWidget::sigWidgetMoved    umlwidget.moc    124    0x5be5d0    
72876    ObjectWidget::moveEvent    objectwidget.cpp    306    0x5b3027    
72877    MessageWidget::setY    messagewidget.cpp    158    0x5ace4c    
72878    MessageWidget::slotWidgetMoved    messagewidget.cpp    729    0x5ad26c 
72879    MessageWidget::qt_static_metacall    messagewidget.moc    55   
0x5ac940    
72880    QMetaObject::activate(QObject*, QMetaObject const*, int, void**)   
/usr/lib64/libQtCore.so.4        0x7ffff46a3d68    
72881    UMLWidget::sigWidgetMoved    umlwidget.moc    124    0x5be5d0    
72882    ObjectWidget::moveEvent    objectwidget.cpp    306    0x5b3027    
72883    MessageWidget::setY    messagewidget.cpp    158    0x5ace4c    
72884    MessageWidget::slotWidgetMoved    messagewidget.cpp    729    0x5ad26c 
72885    MessageWidget::qt_static_metacall    messagewidget.moc    55   
0x5ac940    
72886    QMetaObject::activate(QObject*, QMetaObject const*, int, void**)   
/usr/lib64/libQtCore.so.4        0x7ffff46a3d68    
72887    UMLWidget::sigWidgetMoved    umlwidget.moc    124    0x5be5d0    
72888    ObjectWidget::moveEvent    objectwidget.cpp    306    0x5b3027    
72889    MessageWidget::setY    messagewidget.cpp    158    0x5ace4c    
72890    MessageWidget::calculateDimensionsCreation    messagewidget.cpp   
1108    0x5ac483    
72891    MessageWidget::calculateDimensions    messagewidget.cpp    1003   
0x5acedc    
72892    MessageWidget::activate    messagewidget.cpp    851    0x5ada0f    
72893    MessageWidget::MessageWidget    messagewidget.cpp    72    0x5adbda    
72894    ToolBarStateMessages::setSecondWidget    toolbarstatemessages.cpp   
269    0x608bcd    
72895    ToolBarState::mouseRelease    toolbarstate.cpp    121    0x60646f    
72896    QGraphicsScene::event(QEvent*)    /usr/lib64/libQtGui.so.4       
0x7ffff5b544e0    
72897    QApplicationPrivate::notify_helper(QObject*, QEvent*)   
/usr/lib64/libQtGui.so.4        0x7ffff55738ac    
72898    QApplication::notify(QObject*, QEvent*)    /usr/lib64/libQtGui.so.4   
    0x7ffff5579e70    
72899    KApplication::notify(QObject*, QEvent*)    /usr/lib64/libkdeui.so.5   
    0x7ffff628a5ea    
72900    QCoreApplication::notifyInternal(QObject*, QEvent*)   
/usr/lib64/libQtCore.so.4        0x7ffff46900ad    
72901    QGraphicsView::mouseReleaseEvent(QMouseEvent*)   
/usr/lib64/libQtGui.so.4        0x7ffff5b6b1b7    
72902    UMLView::mouseReleaseEvent    umlview.cpp    251    0x6451c0    
72903    QWidget::event(QEvent*)    /usr/lib64/libQtGui.so.4       
0x7ffff55c2dfe    
72904    QFrame::event(QEvent*)    /usr/lib64/libQtGui.so.4       
0x7ffff595fb6e    
72905    QGraphicsView::viewportEvent(QEvent*)    /usr/lib64/libQtGui.so.4     
  0x7ffff5b6bbd9    
72906    QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*,
QEvent*)    /usr/lib64/libQtCore.so.4        0x7ffff4690216    
72907    QApplicationPrivate::notify_helper(QObject*, QEvent*)   
/usr/lib64/libQtGui.so.4        0x7ffff557388c    
72908    QApplication::notify(QObject*, QEvent*)    /usr/lib64/libQtGui.so.4   
    0x7ffff5579fad    
72909    KApplication::notify(QObject*, QEvent*)    /usr/lib64/libkdeui.so.5   
    0x7ffff628a5ea    
72910    QCoreApplication::notifyInternal(QObject*, QEvent*)   
/usr/lib64/libQtCore.so.4        0x7ffff46900ad    
72911    QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*,
QWidget*, QWidget**, QPointer<QWidget>&, bool)    /usr/lib64/libQtGui.so.4     
  0x7ffff5579763    
72912    ??    /usr/lib64/libQtGui.so.4        0x7ffff55eaf7b    
72913    QApplication::x11ProcessEvent(_XEvent*)    /usr/lib64/libQtGui.so.4   
    0x7ffff55e99ec    
72914    ??    /usr/lib64/libQtGui.so.4        0x7ffff5610882    
72915    g_main_context_dispatch    /usr/lib64/libglib-2.0.so.0       
0x7ffff027e316    
72916    ??    /usr/lib64/libglib-2.0.so.0        0x7ffff027e668    
72917    g_main_context_iteration    /usr/lib64/libglib-2.0.so.0       
0x7ffff027e70c    
72918   
QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)   
/usr/lib64/libQtCore.so.4        0x7ffff46bcd55    
72919    ??    /usr/lib64/libQtGui.so.4        0x7ffff5610936    
72920    QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)   
/usr/lib64/libQtCore.so.4        0x7ffff468ed0f    
72921    QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>)   
/usr/lib64/libQtCore.so.4        0x7ffff468f005    
72922    QCoreApplication::exec()    /usr/lib64/libQtCore.so.4       
0x7ffff469413b    
72923    main    main.cpp    123    0x440f6e    


Expected Results:  
umbrello should add a creation message

The crash is a result of a stack overflow caused by a recursive call to
MessageWidget::setY()

-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the umbrello-devel mailing list