Bug 188300

Summary: Crash when changing Class package value in properties
Product: [Applications] umbrello Reporter: Onno Hommes <ohommes>
Component: generalAssignee: Umbrello Development Group <umbrello-devel>
Status: RESOLVED DUPLICATE    
Severity: crash CC: fropeter, jonas.vejlin, ralf.habacker, samirhin72, vitormr, watermy
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: Fedora RPMs   
OS: Linux   
Latest Commit: Version Fixed In: 4.9.0
Sentry Crash Report:
Attachments: KDE crash handler and gdb dumps of Umbrello crash, bug 188300
New crash information added by DrKonqi
New crash information added by DrKonqi
New crash information added by DrKonqi

Description Onno Hommes 2009-03-28 03:13:58 UTC
Version:           2.2.1 (using KDE 4.2.1)
OS:                Linux
Installed from:    Fedora RPMs

Umbrello crashes consistently when you try to assign a class to a particular package. To recreate follow these steps:
1) Create a class in the logical view
2) Create a package in the logical view
3) Open the create class properties
4) Select the create package in the package field of the class properties
5) Press OK

Observe crash!

This is just one of many crashes that happens in umbrello. The application feels very unstable and to do anything you must after every step save to prevent data loss. This stability prevents any serious modelling. I tried hard to use Umbrello but this is just not workable. Has anyone seriously modelled with the 2.2.1 version in KDE 4.2.1 ? Anyway I hope things will get stable again.
Comment 1 Onno Hommes 2009-03-28 18:11:25 UTC
Here is the trace after hitting the OK button:

Application: Umbrello UML Modeller (umbrello), signal SIGSEGV
[Current thread is 1 (Thread 0xb7fb0770 (LWP 7306))]

Thread 1 (Thread 0xb7fb0770 (LWP 7306)):
[KCrash Handler]
#6  0x0534d349 in main_arena () from /lib/libc.so.6
#7  0x08769ad4 in UMLListView::popupMenuSel (this=0x948c868, action=0x947b2c8) at /u01/tmp/kdesdk-944099/umbrello/umbrello/umllistview.cpp:568
#8  0x0876a4d4 in UMLListView::qt_metacall (this=0x948c868, _c=QMetaObject::InvokeMetaMethod, _id=9, _a=0xbf9f16ac) at /u01/tmp/kdesdk-944099/umbrello/umbrello/umllistview.moc:104
#9  0x06509750 in QMetaObject::activate () from /usr/lib/libQtCore.so.4
#10 0x0650a4d2 in QMetaObject::activate () from /usr/lib/libQtCore.so.4
#11 0x01351af3 in QMenu::triggered () from /usr/lib/libQtGui.so.4
#12 0x01352dbb in ?? () from /usr/lib/libQtGui.so.4
#13 0x0135bf86 in QMenu::qt_metacall () from /usr/lib/libQtGui.so.4
#14 0x009377fa in KMenu::qt_metacall () from /usr/lib/libkdeui.so.5
#15 0x06509750 in QMetaObject::activate () from /usr/lib/libQtCore.so.4
#16 0x06509b50 in QMetaObject::activate () from /usr/lib/libQtCore.so.4
#17 0x00f7ccf1 in QAction::triggered () from /usr/lib/libQtGui.so.4
#18 0x00f7d65f in QAction::activate () from /usr/lib/libQtGui.so.4
#19 0x013597c4 in ?? () from /usr/lib/libQtGui.so.4
#20 0x0135a252 in QMenu::mouseReleaseEvent () from /usr/lib/libQtGui.so.4
#21 0x009361b5 in KMenu::mouseReleaseEvent () from /usr/lib/libkdeui.so.5
#22 0x00fdb052 in QWidget::event () from /usr/lib/libQtGui.so.4
#23 0x0135c549 in QMenu::event () from /usr/lib/libQtGui.so.4
#24 0x00f82fec in QApplicationPrivate::notify_helper () from /usr/lib/libQtGui.so.4
#25 0x00f8b7e1 in QApplication::notify () from /usr/lib/libQtGui.so.4
#26 0x008570fd in KApplication::notify () from /usr/lib/libkdeui.so.5
#27 0x064f4b21 in QCoreApplication::notifyInternal () from /usr/lib/libQtCore.so.4
#28 0x00f8aa6e in QApplicationPrivate::sendMouseEvent () from /usr/lib/libQtGui.so.4
#29 0x00ff503e in ?? () from /usr/lib/libQtGui.so.4
#30 0x00ff4145 in QApplication::x11ProcessEvent () from /usr/lib/libQtGui.so.4
#31 0x0101c77a in ?? () from /usr/lib/libQtGui.so.4
#32 0x017e1238 in g_main_context_dispatch () from /lib/libglib-2.0.so.0
#33 0x017e48e3 in ?? () from /lib/libglib-2.0.so.0
#34 0x017e4aa1 in g_main_context_iteration () from /lib/libglib-2.0.so.0
#35 0x0651f158 in QEventDispatcherGlib::processEvents () from /usr/lib/libQtCore.so.4
#36 0x0101be75 in ?? () from /usr/lib/libQtGui.so.4
#37 0x064f31ea in QEventLoop::processEvents () from /usr/lib/libQtCore.so.4
#38 0x064f33aa in QEventLoop::exec () from /usr/lib/libQtCore.so.4
#39 0x064f5a65 in QCoreApplication::exec () from /usr/lib/libQtCore.so.4
#40 0x00f82e67 in QApplication::exec () from /usr/lib/libQtGui.so.4
#41 0x087098b5 in main (argc=3, argv=0xbf9f2964) at /u01/tmp/kdesdk-944099/umbrello/umbrello/main.cpp:118
Comment 2 Jonas Vejlin 2009-03-30 15:05:17 UTC
I Cannot reproduce it on Debian sid/experimentla using kde 4.2.1 with Umbrello 2.2.1
Comment 3 Onno Hommes 2009-03-31 03:28:14 UTC
The fc10 4.2.1 rpm has this problem and I have no outstanding other package updates. So I assume everyone running fc10 must have this issue. I also took a 3/25/2009 kdesdk source (svn 944099) and build the sources and I have the same problem. Is there any other evidence I can collect?
Comment 4 Onno Hommes 2009-03-31 03:59:11 UTC
Here is some data from the debugger kdbg:
In the file umllistview.cpp I am getting the SIGSEGV at line 568 (see snippet below:

            UMLCheckConstraintDialog dialog(this, selectedCheckConstraint);
            dialog.exec();
        } else {
            uWarning() << "calling properties on unknown type";
        }
        temp->cancelRename(0);  /*LINE 568: RIGHT HERE IS THE SIGEGV *******/
        break;
Comment 5 Onno Hommes 2009-03-31 04:06:38 UTC
If I place a breakpoint at line 568 and halt execution and then place the program counter after the switch statement and continue running it all seems to work the way you expect but not knowing the side effects of the skipped call makes me feel uneasy. At least I can get my model fixed but it is an interesting way of continuing to work. Anyway I hope this helps you more. It seems for some reason the temp object is not what you expect it to be.
Comment 6 fropeter 2009-07-14 23:02:55 UTC
Created attachment 35324 [details]
KDE crash handler and gdb dumps of Umbrello crash, bug 188300
Comment 7 fropeter 2009-07-14 23:05:26 UTC
This is similar to my case, so I'll enter it here instead of entering a new bug
report.

When removing package value in a class' properties, pressing OK or Cancel
causes Umbrello to crash. This only occurs when the property dialog was opened
through context menu for the class in the tree view, but not if it was opened
through the context menu for the same class in the class diagram. In the latter
case I can remove the package name without problems.


Steps to reproduce:

1. Create a new class in class diagram
2. Right click the class in the class diagram, open the properties dialog
3. Enter a name for the package name, click OK
4. Right click on class in tree view, choose properties
5. remove package name
6. click on 'OK' or 'Cancel'
Result: The Umbrello window is closed immediately

Alternatively:
If I skip step 5, Umbrello does not crash.

If I in step 6 click on 'Apply' instead, I can see that 
the change is made in the tree view and the class diagram, 
but as soon as I press 'OK' or 'Cancel', Umbrello crashes again, so 
the changes can not be saved. (I tried to set autosave to 1 minute 
and wait well past that time before causing the crash, but Umbrello
will not be fooled!)

The file I attached just before this comment has the dump from the KDE crash
handler (in KDE), as well as from ddd/gdb running Umbrello (in Gnome)
Comment 8 Samir 2010-08-08 20:01:15 UTC
Created attachment 49924 [details]
New crash information added by DrKonqi

1) create a class
2) add atributes
3) apply changes
4) ok
5) umbrello crash
Comment 9 Samir 2010-08-08 20:27:37 UTC
Created attachment 49925 [details]
New crash information added by DrKonqi

1) i have a class
2) i  add new atribute to class
3) i apply changes
4) i close properties
5) umbrello crash
Comment 10 watermy 2011-02-03 22:40:18 UTC
Created attachment 56839 [details]
New crash information added by DrKonqi

umbrello (2.5.1) on KDE Platform 4.5.1 (KDE 4.5.1) using Qt 4.7.0

- What I was doing when the application crashed:

- New class
- New packages
- Change package of the new class
- "OK" button

=> Crash (Always)

-- Backtrace (Reduced):
#7  0x085e7038 in UMLListView::popupMenuSel (this=0x8f1bde0, action=0x914a318) at ../../../umbrello/umbrello/umllistview.cpp:590
#8  0x085e7cdc in UMLListView::qt_metacall (this=0x8f1bde0, _c=QMetaObject::InvokeMetaMethod, _id=9, _a=0xbffe20c8) at ./umllistview.moc:111
[...]
[...]
#11 0x07102e63 in QMenu::triggered (this=0x90cebd8, _t1=0x914a318) at .moc/release-shared/moc_qmenu.cpp:164
#12 0x07105bfa in QMenuPrivate::_q_actionTriggered (this=0x90ffae0) at widgets/qmenu.cpp:1111
#13 0x0710a116 in QMenu::qt_metacall (this=0x90cebd8, _c=QMetaObject::InvokeMetaMethod, _id=8, _a=0xbffe22b8) at .moc/release-shared/moc_qmenu.cpp:105
Comment 11 Jekyll Wu 2013-11-09 04:38:13 UTC
*** Bug 291623 has been marked as a duplicate of this bug. ***
Comment 12 Ralf Habacker 2013-11-19 20:24:37 UTC

*** This bug has been marked as a duplicate of bug 268469 ***