Version: 1.5.7 (using KDE KDE 3.5.7) Installed from: Fedora RPMs OS: Linux I've got an uml file (for sql) containing some classes and connections between them. Umbrello crashed quited often when trying to delete a connection, be in most cases I got the connection removed after I first deleted the comment and changed the data type of the attributes referencing. Now I've got two classes and a connection between them left where there is no attribute requiring this connection but I still cannot delete it.
Created attachment 21323 [details] A test file Please try to delete the association between "Dienste" and "Personen".
This is what gdb tells me after installing all required -debuginfo packages (e.g. kdesdk-debuginfo, fontconfig-debuginfo, gdb-debuginfo). gdb: GNU gdb Red Hat Linux (6.6-15.fc7rh) Copyright (C) 2006 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "i386-redhat-linux-gnu"... Using host libthread_db library "/lib/libthread_db.so.1". (gdb) run Starting program: /usr/bin/umbrello [Thread debugging using libthread_db enabled] [New Thread -1208673600 (LWP 10753)] [Detaching after fork from child process 10758. (Try `set detach-on-fork off'.)] [Detaching after fork from child process 10759.] Program received signal SIGSEGV, Segmentation fault. [Switching to Thread -1208673600 (LWP 10753)] 0x0810fef4 in AssociationWidget::saveToXMI (this=0x97a22d8, qDoc=@0xbff41d24, qElement=@0xbff41900) at associationwidget.cpp:3305 3305 m_role[A].m_pMulti -> saveToXMI( qDoc, assocElement ); (gdb) backtrace #0 0x0810fef4 in AssociationWidget::saveToXMI (this=0x97a22d8, qDoc=@0xbff41d24, qElement=@0xbff41900) at associationwidget.cpp:3305 #1 0x081d4bed in UMLView::saveToXMI (this=0x973e0e8, qDoc=@0xbff41d24, qElement=@0xbff41a28) at umlview.cpp:2957 #2 0x0814c8ed in UMLFolder::saveContents (this=0x9469c50, qDoc=@0xbff41d24, qElement=@0xbff41aa8) at folder.cpp:192 #3 0x0814cac2 in UMLFolder::save (this=0x9469c50, qDoc=@0xbff41d24, qElement=@0xbff41cbc) at folder.cpp:208 #4 0x0814d8c0 in UMLFolder::saveToXMI (this=0x9469c50, qDoc=@0xbff41d24, qElement=@0xbff41cbc) at folder.cpp:214 #5 0x081a3058 in UMLDoc::saveToXMI (this=0x94699b0, file=@0x962e6f8) at umldoc.cpp:1307 #6 0x081a3e17 in UMLDoc::addToUndoStack (this=0x94699b0) at umldoc.cpp:2149 #7 0x081a3ebe in UMLDoc::setModified (this=0x94699b0, modified=true, addToUndo=true) at umldoc.cpp:1941 #8 0x081d0713 in UMLView::removeWidget (this=0x973e0e8, o=0x97a3348) at umlview.cpp:828 #9 0x08111811 in AssociationWidget::cleanup (this=0x97a22d8) at associationwidget.cpp:730 #10 0x081d02ba in UMLView::removeAssoc (this=0x973e0e8, pAssoc=0x97a22d8) at umlview.cpp:1756 #11 0x081d093d in UMLView::deleteSelection (this=0x973e0e8) at umlview.cpp:1104 #12 0x0819bc23 in UMLApp::slotDeleteSelectedWidget (this=0x940bcf8) ---Type <return> to continue, or q <return> to quit--- at uml.cpp:1455 #13 0x0819d005 in UMLApp::qt_invoke (this=0x940bcf8, _id=128, _o=0xbff42178) at uml.moc:328 #14 0x07877d1a in QObject::activate_signal () from /usr/lib/qt-3.3/lib/libqt-mt.so.3 #15 0x0787870d in QObject::activate_signal () from /usr/lib/qt-3.3/lib/libqt-mt.so.3 #16 0x023ca429 in KAction::activated () from /usr/lib/libkdeui.so.4 #17 0x02403b52 in KAction::slotActivated () from /usr/lib/libkdeui.so.4 #18 0x024cc2af in KAction::qt_invoke () from /usr/lib/libkdeui.so.4 #19 0x07877d1a in QObject::activate_signal () from /usr/lib/qt-3.3/lib/libqt-mt.so.3 #20 0x0787870d in QObject::activate_signal () from /usr/lib/qt-3.3/lib/libqt-mt.so.3 #21 0x020d1ba9 in KAccelPrivate::menuItemActivated () from /usr/lib/libkdecore.so.4 #22 0x02122207 in KAccelPrivate::emitActivatedSignal () from /usr/lib/libkdecore.so.4 #23 0x021b136e in KAccelPrivate::eventFilter () from /usr/lib/libkdecore.so.4 #24 0x078770cc in QObject::activate_filters () from /usr/lib/qt-3.3/lib/libqt-mt.so.3 #25 0x0787714b in QObject::event () from /usr/lib/qt-3.3/lib/libqt-mt.so.3 #26 0x078b401c in QWidget::event () from /usr/lib/qt-3.3/lib/libqt-mt.so.3 ---Type <return> to continue, or q <return> to quit--- #27 0x07983482 in QMainWindow::event () from /usr/lib/qt-3.3/lib/libqt-mt.so.3 #28 0x0780e53b in QApplication::internalNotify () from /usr/lib/qt-3.3/lib/libqt-mt.so.3 #29 0x07810141 in QApplication::notify () from /usr/lib/qt-3.3/lib/libqt-mt.so.3 #30 0x021b6f22 in KApplication::notify () from /usr/lib/libkdecore.so.4 #31 0x0780af5e in QAccelManager::tryAccelEvent () from /usr/lib/qt-3.3/lib/libqt-mt.so.3 #32 0x0780b3cc in qt_tryAccelEvent () from /usr/lib/qt-3.3/lib/libqt-mt.so.3 #33 0x077a3741 in QETWidget::translateKeyEvent () from /usr/lib/qt-3.3/lib/libqt-mt.so.3 #34 0x077a4633 in QApplication::x11ProcessEvent () from /usr/lib/qt-3.3/lib/libqt-mt.so.3 #35 0x077b638b in QEventLoop::processEvents () from /usr/lib/qt-3.3/lib/libqt-mt.so.3 #36 0x07827e30 in QEventLoop::enterLoop () from /usr/lib/qt-3.3/lib/libqt-mt.so.3 #37 0x07827ce6 in QEventLoop::exec () from /usr/lib/qt-3.3/lib/libqt-mt.so.3 #38 0x0780e17f in QApplication::exec () from /usr/lib/qt-3.3/lib/libqt-mt.so.3 #39 0x08167657 in main (argc=132215272, argv=0x95fe2b0) at main.cpp:137 (gdb) info frame Stack level 0, frame at 0xbff418e0: eip = 0x810fef4 in AssociationWidget::saveToXMI(QDomDocument&, QDomElement&) (associationwidget.cpp:3305); saved eip 0x81d4bed called by frame at 0xbff419f0 source language c++. Arglist at 0xbff418d8, args: this=0x97a22d8, qDoc=@0xbff41d24, qElement=@0xbff41900 Locals at 0xbff418d8, Previous frame's sp is 0xbff418e0 Saved registers: ebx at 0xbff418cc, ebp at 0xbff418d8, esi at 0xbff418d0, edi at 0xbff418d4, eip at 0xbff418dc
Created attachment 21324 [details] XMI of attachment 21323 [details], fixed Very strange, that file contained an <assocwidget widgetbid="YPALSJkqXLyt" widgetaid="s7EEhxOFMWZp" type="509"> which is a Containment association from "Dienste" to "Personen" meaning that Personen would be a nested class in Dienste which of course was not the case. Hmm. I wonder how that association came about.
Please update to 1.5.71 where deleting the bogus association does not crash. (BTW if you disable Undo/Redo then the thing will probably not crash even with 1.5.7.)
*** Bug 148704 has been marked as a duplicate of this bug. ***
Thanks, I'll try as soon as I get some fc7 packages of umbrello.
Well, I meant ... I'll try as soon as I get some *1.5.71* fc7 packages of umbrello.