Bug 75789 - Deleting an attribute of class causes a crash
Summary: Deleting an attribute of class causes a crash
Status: RESOLVED FIXED
Alias: None
Product: umbrello
Classification: Applications
Component: general (show other bugs)
Version: 1.2
Platform: unspecified Linux
: NOR crash
Target Milestone: ---
Assignee: Umbrello Development Group
URL:
Keywords:
: 76624 (view as bug list)
Depends on:
Blocks:
 
Reported: 2004-02-21 20:19 UTC by Jaakko Holster
Modified: 2007-09-27 23:43 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Jaakko Holster 2004-02-21 20:19:28 UTC
Version:           1.2 (using KDE 3.2.0, Gentoo)
Compiler:          gcc version 3.2.3 20030422 (Gentoo Linux 1.4 3.2.3-r1, propolice)
OS:          Linux (i686) release 2.6.2

In class diagram, if I try to delete an attribute of any class, umbrello crashes immediately. Seems very serious bug for a program released as stable.

An xmi file causing the crash can be downloaded here:

http://ee.oulu.fi/~yaggo/umbrello_crash_example.xmi
Comment 1 YeHaa 2004-02-26 14:57:51 UTC
I cannot confirm this bug. Not with the xmi-file provided by you, and not with one I created myself.

Comment 2 Jeff Woods 2004-03-11 16:01:40 UTC
I have also seen this bug, though slightly different than was described above.

Once a class has been created, right clicking on either an attribute or a method in the tree view to the left (the UML diagrams window) and selecting delete will cause a crash (segmentation violation).

Steps to reproduce (works every time with 1.2):

1.  Start umbrello
2.  Select "Code->New Class Wizard"
3.  Press "Next" on New Class dialog, this opens Class Attributes dialog.
4.  Press "New Attribute" on Class Attributes dialog, then "OK" on Attribute Properties dialog
5.  Press Next on Class Attributes dialog., this opens Class Operations dialog
6.  Press "New Operation" on Class Operations dialog, then "OK" on Operation properties dialog.
7.  Press "Finish" on Class Operations dialog.

At this point, there is a new class in the "UML diagrams" docked window with a single attribute named "new_attribute" and a single operation named "new operation".

8.  Right click on either "new_attribute" or "new_operation" in the tree view (in the UML diagrams window) and select "Delete".

This results in a crash every time.

System:
KDE-3.2, built from sources
RedHat 8.0, with all current patches (including Fedora Legacy)
Intel CPU
Comment 3 Jeff Woods 2004-03-11 16:05:04 UTC
Backtrace to accompany above report:

0x4110e877 in waitpid () from /lib/i686/libpthread.so.0
#0  0x4110e877 in waitpid () from /lib/i686/libpthread.so.0
#1  0x407c02c9 in KCrash::defaultCrashHandler(int) ()
   from /opt/kde-3.2/lib/libkdecore.so.4
#2  0x4110d7ce in __pthread_clock_settime () from /lib/i686/libpthread.so.0
#3  0x42028518 in killpg () from /lib/i686/libc.so.6
#4  0x0813184e in OwnedCodeBlock::setAttributesOnNode(QDomDocument&, QDomElement&) ()
#5  0x08107b38 in CodeMethodBlock::setAttributesOnNode(QDomDocument&, QDomElement&) ()
#6  0x080f8a48 in CodeAccessorMethod::setAttributesOnNode(QDomDocument&, QDomElement&) ()
#7  0x080f89fe in CodeAccessorMethod::saveToXMI(QDomDocument&, QDomElement&) ()
#8  0x0810695d in CodeGenObjectWithTextBlocks::setAttributesOnNode(QDomDocument&, QDomElement&) ()
#9  0x08114930 in HierarchicalCodeBlock::setAttributesOnNode(QDomDocument&, QDomElement&) ()
#10 0x081148d6 in HierarchicalCodeBlock::saveToXMI(QDomDocument&, QDomElement&)
    ()
#11 0x0810695d in CodeGenObjectWithTextBlocks::setAttributesOnNode(QDomDocument&, QDomElement&) ()
#12 0x080fe6c2 in CodeDocument::setAttributesOnNode(QDomDocument&, QDomElement&) ()
#13 0x080f2864 in ClassifierCodeDocument::setAttributesOnNode(QDomDocument&, QDomElement&) ()
#14 0x080f2801 in ClassifierCodeDocument::saveToXMI(QDomDocument&, QDomElement&) ()
#15 0x08226a5b in CPPCodeGenerator::saveToXMI(QDomDocument&, QDomElement&) ()
#16 0x0814d323 in UMLDoc::saveToXMI(QIODevice&) ()
#17 0x08151c06 in UMLDoc::addToUndoStack() ()
#18 0x08150b4a in UMLDoc::setModified(bool, bool) ()
#19 0x0814bd87 in UMLDoc::removeUMLObject(UMLObject*) ()
#20 0x0815464d in UMLListView::popupMenuSel(int) ()
#21 0x0815bf33 in UMLListView::qt_invoke(int, QUObject*) ()
#22 0x40b75c7a in QObject::activate_signal(QConnectionList*, QUObject*) ()
   from /usr/lib/qt-3.2.3/lib/libqt-mt.so.3
#23 0x40b75dad in QObject::activate_signal(int, int) ()
   from /usr/lib/qt-3.2.3/lib/libqt-mt.so.3
#24 0x40e2ea91 in QPopupMenu::activated(int) ()
   from /usr/lib/qt-3.2.3/lib/libqt-mt.so.3
#25 0x40c55b85 in QPopupMenu::actSig(int, bool) ()
   from /usr/lib/qt-3.2.3/lib/libqt-mt.so.3
#26 0x40c59959 in QPopupMenu::mouseReleaseEvent(QMouseEvent*) ()
   from /usr/lib/qt-3.2.3/lib/libqt-mt.so.3
#27 0x40ba3a63 in QWidget::event(QEvent*) ()
   from /usr/lib/qt-3.2.3/lib/libqt-mt.so.3
#28 0x40b24ec9 in QApplication::internalNotify(QObject*, QEvent*) ()
   from /usr/lib/qt-3.2.3/lib/libqt-mt.so.3
#29 0x40b246dd in QApplication::notify(QObject*, QEvent*) ()
   from /usr/lib/qt-3.2.3/lib/libqt-mt.so.3
#30 0x4073cb5a in KApplication::notify(QObject*, QEvent*) ()
   from /opt/kde-3.2/lib/libkdecore.so.4
#31 0x40acbb34 in QETWidget::translateMouseEvent(_XEvent const*) ()
   from /usr/lib/qt-3.2.3/lib/libqt-mt.so.3
#32 0x40ac9c9a in QApplication::x11ProcessEvent(_XEvent*) ()
   from /usr/lib/qt-3.2.3/lib/libqt-mt.so.3
#33 0x40adda7a in QEventLoop::processEvents(unsigned) ()
   from /usr/lib/qt-3.2.3/lib/libqt-mt.so.3
#34 0x40b35ab3 in QEventLoop::enterLoop() ()
   from /usr/lib/qt-3.2.3/lib/libqt-mt.so.3
#35 0x40b35970 in QEventLoop::exec() ()
   from /usr/lib/qt-3.2.3/lib/libqt-mt.so.3
#36 0x40b250e4 in QApplication::exec() ()
   from /usr/lib/qt-3.2.3/lib/libqt-mt.so.3
#37 0x08129187 in main ()
#38 0x42015967 in __libc_start_main () from /lib/i686/libc.so.6
Comment 4 Jonathan Riddell 2004-03-12 09:48:25 UTC
The attached diagram does crash for me still (it can be fixed by removing the <codegeneration>...</codegeneration> data.

The underlying problem of crashes when deleteing attributes and operations has been fixed.
Comment 5 Jonathan Riddell 2004-03-12 10:35:24 UTC
*** Bug 76624 has been marked as a duplicate of this bug. ***
Comment 6 dalemcl.1 2007-09-27 23:43:19 UTC
This still isn't fixed:

kde 3.5.7; Umbrello 1.5.7; fedora 6

1. create a new project
2. create a new class, new_class
3. add an int attribute to the class, new_attribute
4. create another new class, new_class_1
5. add a new_class_1 attribute, called new_attribute_1, to new_class
6. delete new_attribute from new_class
7. crash!