Bug 198829

Summary: Umbrello crashes if save file after removing a use cases.
Product: [Applications] umbrello Reporter: Anatoly <anatoly.a.petrov>
Component: generalAssignee: Umbrello Development Group <umbrello-devel>
Status: RESOLVED FIXED    
Severity: crash CC: andresbajotierra, ralf.habacker
Priority: NOR    
Version: 2.2.4   
Target Milestone: ---   
Platform: Gentoo Packages   
OS: Linux   
Latest Commit: Version Fixed In: 4.11.5
Sentry Crash Report:

Description Anatoly 2009-07-03 22:01:20 UTC
Version:           2.2.4 (using KDE 4.2.4)
Compiler:          gcc/g++ (Gentoo 4.4.0 p1.1) 4.4.0 
OS:                Linux
Installed from:    Gentoo Packages

Umbrello crashes when I try to save changes after removing two use cases from “Use case view” (using “Delete” command in right-click menu) which does not present on the sole “Use case diagram” (because was removed from it before) and after I “Save” a file.

I get this backtrace:
Application: Umbrello UML Modeller (umbrello), signal SIGSEGV

Thread 1 (Thread 0xb5cc7710 (LWP 27436)):
#0  0xb8096424 in __kernel_vsyscall ()
#1  0xb6350f20 in nanosleep () from /lib/libc.so.6
#2  0xb6350d64 in sleep () from /lib/libc.so.6
#3  0xb796daa8 in ?? () from /usr/lib/libkdeui.so.5
#4  0x00000000 in ?? ()

Not rather informative though. I have no debug versions of qt and kdelibs (I have debug version of Umbrello only), so gdb does not provide good enough backtrace:
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0xb5bdd710 (LWP 27443)]
0x083420b7 in ?? ()
(gdb) bt
#0  0x083420b7 in ?? ()
#1  0x0834244c in ?? ()
#2  0x08342c5e in ?? ()
#3  0x083b23de in ?? ()
#4  0x083b60b3 in ?? ()
#5  0x0839ccd9 in ?? ()
#6  0x083a4131 in ?? ()
#7  0xb6891698 in QMetaObject::activate () from /usr/lib/qt4/libQtCore.so.4
#8  0x090d5700 in ?? ()
#9  0xb623c0ba in malloc () from /lib/libc.so.6
#10 0xbfe675dc in ?? ()

Expected behaviour: have these two use cases removed from “Use case view” and successfuly save file afterwards.
Comment 1 Dario Andres 2009-07-07 12:21:55 UTC
I wonder why even when you have debug symbols for umbrello the backtrace is mostly empty. Are they properly installed? (or may be the backtrace is qt+kdelibs only?)
Thanks
Comment 2 Anatoly 2009-07-07 19:58:19 UTC
They are properly installed (I've just checked it out) and backtrace (which just popped up in KDE when Umbrello crashed) might be of qt+kdelibs.
Comment 3 Anatoly 2009-07-10 23:17:42 UTC
After rebuilding some libs with debugging support and disabling stripping of umbrello's binary I have got more informative log:

Application: Umbrello UML Modeller (umbrello), signal SIGSEGV

Thread 1 (Thread 0xb58e4710 (LWP 30043)):
[KCrash Handler]
#6  0x083420b7 in UMLFolder::saveContents (this=0x864f7d8, qDoc=@0xbfeb65d8, qElement=@0xbfeb6308) at /var/tmp/portage/kde-base/umbrello-4.2.4/work/umbrello-4.2.4/umbrello/umbrello/folder.cpp:204
#7  0x0834244c in UMLFolder::save (this=0x864f7d8, qDoc=@0xbfeb65d8, qElement=@0x8a2be30) at /var/tmp/portage/kde-base/umbrello-4.2.4/work/umbrello-4.2.4/umbrello/umbrello/folder.cpp:234
#8  0x08342c5e in UMLFolder::saveToXMI (this=0x864f7d8, qDoc=@0xbfeb65d8, qElement=@0xbfeb64c8) at /var/tmp/portage/kde-base/umbrello-4.2.4/work/umbrello-4.2.4/umbrello/umbrello/folder.cpp:241
#9  0x083b23de in UMLDoc::saveToXMI (this=0x864f0a0, file=@0xbfeb6644) at /var/tmp/portage/kde-base/umbrello-4.2.4/work/umbrello-4.2.4/umbrello/umbrello/umldoc.cpp:1351
#10 0x083b60b3 in UMLDoc::saveDocument (this=0x864f0a0, url=@0x864f0d4, format=0x0) at /var/tmp/portage/kde-base/umbrello-4.2.4/work/umbrello-4.2.4/umbrello/umbrello/umldoc.cpp:637
#11 0x0839ccd9 in UMLApp::slotFileSave (this=0x865a850) at /var/tmp/portage/kde-base/umbrello-4.2.4/work/umbrello-4.2.4/umbrello/umbrello/uml.cpp:969
#12 0x083a4131 in UMLApp::qt_metacall (this=0x865a850, _c=QMetaObject::InvokeMetaMethod, _id=144883248, _a=0xbfeb6908)
    at /var/tmp/portage/kde-base/umbrello-4.2.4/work/umbrello-4.2.4_build/umbrello/umbrello/uml.moc:226
#13 0xb65f5a58 in QMetaObject::activate () from /usr/lib/qt4/libQtCore.so.4
#14 0xb65f5da5 in QMetaObject::activate () from /usr/lib/qt4/libQtCore.so.4
#15 0xb67e54d5 in QAction::triggered () from /usr/lib/qt4/libQtGui.so.4
#16 0xb67e65c8 in QAction::activate () from /usr/lib/qt4/libQtGui.so.4
#17 0xb6ce75ee in QToolButton::nextCheckState () from /usr/lib/qt4/libQtGui.so.4
#18 0xb6bec89b in ?? () from /usr/lib/qt4/libQtGui.so.4
#19 0xb6becbd6 in QAbstractButton::mouseReleaseEvent () from /usr/lib/qt4/libQtGui.so.4
#20 0xb6ce7b6d in QToolButton::mouseReleaseEvent () from /usr/lib/qt4/libQtGui.so.4
#21 0xb6856e3a in QWidget::event () from /usr/lib/qt4/libQtGui.so.4
#22 0xb6bea780 in QAbstractButton::event () from /usr/lib/qt4/libQtGui.so.4
#23 0xb6cea84c in QToolButton::event () from /usr/lib/qt4/libQtGui.so.4
#24 0xb67ec94c in QApplicationPrivate::notify_helper () from /usr/lib/qt4/libQtGui.so.4
#25 0xb67f4e3d in QApplication::notify () from /usr/lib/qt4/libQtGui.so.4
#26 0xb774de47 in KApplication::notify () from /usr/lib/libkdeui.so.5
#27 0xb65db4cd in QCoreApplication::notifyInternal () from /usr/lib/qt4/libQtCore.so.4
#28 0xb67f3ce3 in QApplicationPrivate::sendMouseEvent () from /usr/lib/qt4/libQtGui.so.4
#29 0xb686f8c9 in ?? () from /usr/lib/qt4/libQtGui.so.4
#30 0xb686e261 in QApplication::x11ProcessEvent () from /usr/lib/qt4/libQtGui.so.4
#31 0xb689c548 in ?? () from /usr/lib/qt4/libQtGui.so.4
#32 0xb5a18a1c in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#33 0x085d8e94 in ?? ()
#34 0x085d9d68 in ?? ()
#35 0x00000001 in ?? ()
#36 0xb5a172c1 in g_main_context_query () from /usr/lib/libglib-2.0.so.0
#37 0x00000000 in ?? ()
Comment 4 Dario Andres 2009-07-15 01:05:22 UTC
The backtrace looks related to the one in bug 168273. Thanks
Comment 5 Ralf Habacker 2014-02-19 08:53:01 UTC
do not crash in release 4.11.5