Version: (using KDE Devel) Installed from: Compiled sources Adding two state transition associations between the same two states gives the following error as output umbrello: ERROR: cannot addAssocInViewAndDoc() and causes a crash when it is loaded (undo/redo): #0 0x00000049 in ?? () #1 0x40efa5ce in QGList::clear() () from /usr/lib/libqt-mt.so.3 #2 0x08123deb in LinePath::cleanup() (this=0x856dfcc) at qptrlist.h:93 #3 0x080e203a in ~AssociationWidget (this=0x856df08) at associationwidget.cpp:96 #4 0x40c881ed in QWidget::~QWidget() () from /usr/lib/libqt-mt.so.3 #5 0x40d6495f in QScrollView::~QScrollView() () from /usr/lib/libqt-mt.so.3 #6 0x40e50d6f in QCanvasView::~QCanvasView() () from /usr/lib/libqt-mt.so.3 #7 0x08174ff8 in ~UMLView (this=0x854a318) at qstring.h:848 #8 0x08152cfe in QPtrList<UMLView>::deleteItem(void*) (this=0x8549c78, d=0x85c5100) at qptrlist.h:150 #9 0x40efa5ce in QGList::clear() () from /usr/lib/libqt-mt.so.3 #10 0x0815f5d4 in UMLDoc::removeAllViews() (this=0x83e6688) at qptrlist.h:93 #11 0x0815626d in UMLDoc::deleteContents() (this=0x83e66d8) at umldoc.cpp:383 #12 0x081614ea in UMLDoc::loadUndoData() (this=0x83e6688) at umldoc.cpp:2285 #13 0x0814e9e0 in UMLApp::slotEditUndo() (this=0x8331ed8) at uml.cpp:721 #14 0x0815290d in UMLApp::qt_invoke(int, QUObject*) (this=0x8331ed8, _id=123, _o=0xbfffed40) at uml.moc:284 #15 0x40c588bc in QObject::activate_signal(QConnectionList*, QUObject*) () from /usr/lib/libqt-mt.so.3 #16 0x40c586f4 in QObject::activate_signal(int) () from /usr/lib/libqt-mt.so.3 #17 0x4058864b in KAction::activated() () from /usr/lib/libkdeui.so.4 #18 0x40587bef in KAction::slotActivated() () from /usr/lib/libkdeui.so.4 #19 0x40588851 in KAction::qt_invoke(int, QUObject*) () from /usr/lib/libkdeui.so.4 #20 0x40c58836 in QObject::activate_signal(QConnectionList*, QUObject*) () from /usr/lib/libqt-mt.so.3 #21 0x40c586f4 in QObject::activate_signal(int) () from /usr/lib/libqt-mt.so.3 #22 0x40f7c20e in QButton::clicked() () from /usr/lib/libqt-mt.so.3 #23 0x40ce714a in QButton::mouseReleaseEvent(QMouseEvent*) () from /usr/lib/libqt-mt.so.3 #24 0x40c8d917 in QWidget::event(QEvent*) () from /usr/lib/libqt-mt.so.3 #25 0x40bfd2df in QApplication::internalNotify(QObject*, QEvent*) () from /usr/lib/libqt-mt.so.3 #26 0x40bfc9e1 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libqt-mt.so.3 #27 0x407d07ed in KApplication::notify(QObject*, QEvent*) () from /usr/lib/libkdecore.so.4 #28 0x40b96148 in QETWidget::translateMouseEvent(_XEvent const*) () from /usr/lib/libqt-mt.so.3 #29 0x40b93a5e in QApplication::x11ProcessEvent(_XEvent*) () from /usr/lib/libqt-mt.so.3 #30 0x40ba9d91 in QEventLoop::processEvents(unsigned) () from /usr/lib/libqt-mt.so.3 #31 0x40c10ac8 in QEventLoop::enterLoop() () from /usr/lib/libqt-mt.so.3 #32 0x40c10978 in QEventLoop::exec() () from /usr/lib/libqt-mt.so.3 #33 0x40bfd531 in QApplication::exec() () from /usr/lib/libqt-mt.so.3 #34 0x08132f2e in main (argc=139762808, argv=0x8549c78) at main.cpp:86
this can also be triggered by a CTRL-Z: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=229101
Confirm the problem with undo on adding two associations in opposite directions between two classes.
I made two associations in the wrong direction. After deleting one, the other wasn't selectable any more. I deleted the two objects, but the association stayed there blankly. Finally I got both associations removed, but wasn't able to create an association in the other direction. A look in the xmi-file showed that all trials where still in the file without being showed in the editor. I deleted the following snippet: <UML:Association visibility="public" xmi.id="263" > <UML:Association.connection> <UML:AssociationEnd visibility="public" aggregation="composite" type="233" /> <UML:AssociationEnd visibility="public" type="233" /> </UML:Association.connection> </UML:Association> <UML:Association visibility="public" xmi.id="264" > <UML:Association.connection> <UML:AssociationEnd visibility="public" aggregation="composite" type="233" multiplicity="1" /> <UML:AssociationEnd visibility="public" type="242" multiplicity="*" /> </UML:Association.connection> </UML:Association> <UML:Association visibility="public" xmi.id="265" > <UML:Association.connection> <UML:AssociationEnd visibility="public" aggregation="none" type="242" /> <UML:AssociationEnd visibility="public" isNavigable="true" type="233" /> </UML:Association.connection> </UML:Association> <UML:Association visibility="public" xmi.id="266" > <UML:Association.connection> <UML:AssociationEnd visibility="public" aggregation="composite" type="242" /> <UML:AssociationEnd visibility="public" type="242" /> </UML:Association.connection> </UML:Association> <UML:Association visibility="public" xmi.id="267" > <UML:Association.connection> <UML:AssociationEnd visibility="public" aggregation="shared" type="233" /> <UML:AssociationEnd visibility="public" type="242" /> </UML:Association.connection> </UML:Association> an was be able to create the association in the correct direction.
This seems to have been fixed in CVS, it is no longer possible to make two associations between two states in the same direction.