Bug 168752

Summary: Crash on new synchronous message in sequence diagram
Product: [Applications] umbrello Reporter: jakyra <jtegwen>
Component: generalAssignee: Umbrello Development Group <umbrello-devel>
Status: RESOLVED FIXED    
Severity: crash CC: damien.rieu, ewoerner, giannimanzone, ralf.habacker, ralf.habacker, Regnaron
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: Fedora RPMs   
OS: Linux   
Latest Commit: Version Fixed In: 4.9.0
Sentry Crash Report:
Attachments: New crash information added by DrKonqi

Description jakyra 2008-08-08 16:43:20 UTC
Version:            (using KDE 4.1.0)
Installed from:    Fedora RPMs
Compiler:          Fedora Core 7 
OS:                Linux

It seems to be related to the class having a method where the data type of a parameter is unspecified. 

How to replicate:
Create a class.
Create a method for the class
Add a parameter and don't set the datatype.

Create a sequence diagram and make a synchronous message using the above method.

Application crashes.

Umbrello says
"The application Umbrello crashed and caused the signal 11.

Backtrace 
(no debugging symbols found)
Using host libthread_db library "/lib/libthread_db.so.1".
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
[Thread debugging using libthread_db enabled]
[New Thread -1208268096 (LWP 19924)]
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
[KCrash handler]
#6  0x06f58ca9 in QString::QString () from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#7  0x0810557c in UMLObject::getName ()
#8  0x0812f2ba in UMLClassifier::findOperation ()
#9  0x081d2fe7 in FloatingTextWidget::showOpDlg ()
#10 0x081d3416 in ToolBarStateMessages::setSecondWidget ()
#11 0x081d3518 in ToolBarStateMessages::mouseReleaseWidget ()
#12 0x08115cf4 in ToolBarState::mouseRelease ()
#13 0x06d6c791 in QScrollView::viewportMouseReleaseEvent ()
   from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#14 0x06d6a25f in QScrollView::eventFilter ()
   from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#15 0x06c3affc in QObject::activate_filters ()
   from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#16 0x06c3b07b in QObject::event () from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#17 0x06c77f4c in QWidget::event () from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#18 0x06bd23db in QApplication::internalNotify ()
   from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#19 0x06bd3bd9 in QApplication::notify ()
   from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#20 0x00841122 in KApplication::notify () from /usr/lib/libkdecore.so.4
#21 0x06b69346 in QETWidget::translateMouseEvent ()
   from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#22 0x06b68116 in QApplication::x11ProcessEvent ()
   from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#23 0x06b79d8b in QEventLoop::processEvents ()
   from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#24 0x06bebd02 in QEventLoop::enterLoop ()
   from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#25 0x06bebbc6 in QEventLoop::exec () from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#26 0x06bd201f in QApplication::exec () from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#27 0x081d0527 in main ()
Comment 1 Oliver Putz 2008-08-09 21:37:18 UTC
Confirming with the following backtrace:

Application: Umbrello UML Modeller (umbrello), signal SIGSEGV
[Thread debugging using libthread_db enabled]
[New Thread 0xb5ef7700 (LWP 9310)]
[KCrash handler]
#6  QString (this=0xbfeedb7c, other=@0x18)
    at /usr/include/qt4/QtCore/qstring.h:676
#7  0x0832f136 in UMLObject::getName (this=0x0)
    at /var/tmp/portage/kde-base/umbrello-4.1.0/work/umbrello-4.1.0/umbrello/umbrello/umlobject.cpp:125
#8  0x082837db in UMLClassifier::findOperation (this=0x865ed68, 
    name=@0xbfeedc20, params=
          {<QLinkedList<Model_Utils::NameAndType>> = {{d = 0xbfeedc30, e = 0xbfeedc30}}, <No data fields>})
    at /var/tmp/portage/kde-base/umbrello-4.1.0/work/umbrello-4.1.0/umbrello/umbrello/classifier.cpp:157
#9  0x082ae2f0 in FloatingTextWidget::showOpDlg (this=0x86e1158)
    at /var/tmp/portage/kde-base/umbrello-4.1.0/work/umbrello-4.1.0/umbrello/umbrello/floatingtextwidget.cpp:327
#10 0x082fc77a in ToolBarStateMessages::setSecondWidget (this=0x86e18c8, 
    secondObject=0x864fcc0, messageType=ToolBarStateMessages::NormalMessage)
    at /var/tmp/portage/kde-base/umbrello-4.1.0/work/umbrello-4.1.0/umbrello/umbrello/toolbarstatemessages.cpp:215
#11 0x082fce4a in ToolBarStateMessages::mouseReleaseWidget (this=0x86e18c8)
    at /var/tmp/portage/kde-base/umbrello-4.1.0/work/umbrello-4.1.0/umbrello/umbrello/toolbarstatemessages.cpp:111
#12 0x082fa71d in ToolBarState::mouseRelease (this=0x86e18c8, ome=0xbfeedd48)
    at /var/tmp/portage/kde-base/umbrello-4.1.0/work/umbrello-4.1.0/umbrello/umbrello/toolbarstate.cpp:86
#13 0xb7d8ddc2 in Q3ScrollView::viewportMouseReleaseEvent (this=0x86fbd08, 
    e=0xbfeee330) at widgets/q3scrollview.cpp:1761
#14 0xb7d8efed in Q3ScrollView::eventFilter (this=0x86fbd08, obj=0x86dd110, 
    e=0xbfeee330) at widgets/q3scrollview.cpp:1479
#15 0xb72e4192 in QCoreApplicationPrivate::sendThroughObjectEventFilters (
    this=0x846cbe8, receiver=0x86dd110, event=0xbfeee330)
    at kernel/qcoreapplication.cpp:694
#16 0xb6450884 in QApplicationPrivate::notify_helper (this=0x846cbe8, 
    receiver=0x86dd110, e=0xbfeee330) at kernel/qapplication.cpp:3768
#17 0xb6454b60 in QApplication::notify (this=0xbfeee90c, receiver=0x86dd110, 
    e=0xbfeee330) at kernel/qapplication.cpp:3501
#18 0xb78bb6c3 in KApplication::notify (this=0xbfeee90c, receiver=0x86dd110, 
    event=0xbfeee330)
    at /var/tmp/portage/kde-base/kdelibs-4.1.0/work/kdelibs-4.1.0/kdeui/kernel/kapplication.cpp:311
#19 0xb72e3d59 in QCoreApplication::notifyInternal (this=0xbfeee90c, 
    receiver=0x86dd110, event=0xbfeee330) at kernel/qcoreapplication.cpp:587
#20 0xb645667f in QApplicationPrivate::sendMouseEvent (receiver=0x86dd110, 
    event=0xbfeee330, alienWidget=0x86dd110, nativeWidget=0x850d2e0, 
    buttonDown=0xb6c37c40, lastMouseReceiver=@0xb6c37c44)
    at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:218
#21 0xb64bb91e in QETWidget::translateMouseEvent (this=0x850d2e0, 
    event=0xbfeee728) at kernel/qapplication_x11.cpp:4133
#22 0xb64ba48d in QApplication::x11ProcessEvent (this=0xbfeee90c, 
    event=0xbfeee728) at kernel/qapplication_x11.cpp:3133
#23 0xb64e0ed8 in QEventDispatcherX11::processEvents (this=0x846ccf0, 
    flags=@0xbfeee818) at kernel/qeventdispatcher_x11.cpp:134
#24 0xb72e30d3 in QEventLoop::processEvents (this=0xbfeee890, 
    flags=@0xbfeee858) at kernel/qeventloop.cpp:149
#25 0xb72e3246 in QEventLoop::exec (this=0xbfeee890, flags=@0xbfeee898)
    at kernel/qeventloop.cpp:200
#26 0xb72e5401 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:845
#27 0xb645023f in QApplication::exec () at kernel/qapplication.cpp:3304
#28 0x082cf245 in main (argc=1, argv=0xbfeeea64)
    at /var/tmp/portage/kde-base/umbrello-4.1.0/work/umbrello-4.1.0/umbrello/umbrello/main.cpp:110
#0  0xffffe424 in __kernel_vsyscall ()
Comment 2 Eckhart Wörner 2010-03-10 01:41:14 UTC
Looks like a duplicate of bug 131373
Comment 3 gianni 2011-04-21 11:29:18 UTC
Created attachment 59179 [details]
New crash information added by DrKonqi

umbrello (2.5.5) on KDE Platform 4.5.5 (KDE 4.5.5) using Qt 4.6.3

- What I was doing when the application crashed:
add syncronus messagge with parameter without data type.

-- Backtrace (Reduced):
#6  QString (this=0x0) at /usr/include/QtCore/qstring.h:714
#7  UMLObject::getName (this=0x0) at /usr/src/debug/kdesdk-4.5.5/umbrello/umbrello/umlobject.cpp:186
#8  0x0000000000a77bd5 in UMLClassifier::findOperation (this=<value optimized out>, name=<value optimized out>, params=...) at /usr/src/debug/kdesdk-4.5.5/umbrello/umbrello/classifier.cpp:193
#9  0x0000000000a45f9d in FloatingTextWidget::showOperationDialog (this=0x2e1b700) at /usr/src/debug/kdesdk-4.5.5/umbrello/umbrello/widgets/floatingtextwidget.cpp:358
#10 0x0000000000ac7e2b in ToolBarStateMessages::setSecondWidget (this=0x2e85230, secondObject=0x32d77e0, messageType=<value optimized out>)
    at /usr/src/debug/kdesdk-4.5.5/umbrello/umbrello/toolbarstatemessages.cpp:293
Comment 4 Ralf Habacker 2011-12-07 07:59:42 UTC
At the second stack frame in /usr/src/debug/kdesdk-4.5.5/umbrello/umbrello/classifier.cpp around 193

            Model_Utils::NameAndType_ListIt nt(params.begin() + i);
            UMLClassifier *c = dynamic_cast<UMLClassifier*>((*nt).m_type);
>            UMLClassifier *testType = testParams.at(i)->getType();
            if (c == NULL) {  //template parameter
                if (testType->name() != "class")
                    break;

in the related case the testType param is zero and let crash theaccess to name() in the following line

                if (testType->name() != "class")
Comment 5 Ralf Habacker 2011-12-09 07:47:58 UTC
fixed in svn
Comment 6 Jekyll Wu 2012-07-05 23:46:19 UTC
*** Bug 272276 has been marked as a duplicate of this bug. ***
Comment 7 Ralf Habacker 2013-11-06 17:19:09 UTC
apply fixed bug from 4.9.0 changelog