Bug 225290 - Umbrello segmentation fault crash modifying attribute
Summary: Umbrello segmentation fault crash modifying attribute
Status: RESOLVED FIXED
Alias: None
Product: umbrello
Classification: Unclassified
Component: general (show other bugs)
Version: 2.3.2
Platform: Unlisted Binaries Linux
: NOR crash (vote)
Target Milestone: ---
Assignee: Umbrello Development Group
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-02-02 18:27 UTC by Stefano
Modified: 2014-01-01 22:16 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In: 4.11.5


Attachments
XMI reproducing the described issue (88.02 KB, patch)
2013-12-30 08:19 UTC, Joris Steyn
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Stefano 2010-02-02 18:27:04 UTC
Application that crashed: umbrello
Version of the application: 2.3.2
KDE Version: 4.3.2 (KDE 4.3.2)
Qt Version: 4.5.2
Operating System: Linux 2.6.31-17-generic i686
Distribution: Ubuntu 9.10

What I was doing when the application crashed:
Umbrello keeps on crashing each and every time i try to create or modify an attribute or an operation.

 -- Backtrace:
Application: Umbrello UML Modeller (umbrello), signal: Segmentation fault
[Current thread is 1 (Thread 0xb76fd920 (LWP 2778))]

Thread 2 (Thread 0xb3afeb70 (LWP 2989)):
#0  0x00fcd422 in __kernel_vsyscall ()
#1  0x002f8e15 in pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/pthread_cond_wait.S:122
#2  0x00c6d87d in __pthread_cond_wait (cond=0xa3f5660, mutex=0xa3f5648) at forward.c:139
#3  0x02ecae67 in QWaitConditionPrivate::wait (this=0xa4500b8, mutex=0xa4500b4, time=4294967295) at thread/qwaitcondition_unix.cpp:87
#4  QWaitCondition::wait (this=0xa4500b8, mutex=0xa4500b4, time=4294967295) at thread/qwaitcondition_unix.cpp:159
#5  0x05ef9922 in QHostInfoAgent::run (this=0xa4500a8) at kernel/qhostinfo.cpp:260
#6  0x02ec9e32 in QThreadPrivate::start (arg=0xa4500a8) at thread/qthread_unix.cpp:188
#7  0x002f480e in start_thread (arg=0xb3afeb70) at pthread_create.c:300
#8  0x00c608de in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130

Thread 1 (Thread 0xb76fd920 (LWP 2778)):
[KCrash Handler]
#6  0x002b57bc in __dynamic_cast () from /usr/lib/libstdc++.so.6
#7  0x08207e84 in CPPSourceCodeOperation::updateMethodDeclaration (this=0xa0f26d8) at ../../../umbrello/umbrello/codegenerators/cpp/cppsourcecodeoperation.cpp:49
#8  0x08191473 in CodeMethodBlock::syncToParent (this=0xa0f26dc) at ../../../umbrello/umbrello/codegenerators/codemethodblock.cpp:178
#9  0x0819ff0d in OwnedCodeBlock::qt_metacall (this=0xa0f26dc, _c=QMetaObject::InvokeMetaMethod, _id=4, _a=0xbfbfcd0c) at ./ownedcodeblock.moc:66
#10 0x0819122c in CodeMethodBlock::qt_metacall (this=0xa0f26dc, _c=QMetaObject::InvokeMetaMethod, _id=4, _a=0xbfbfcd0c) at ./codemethodblock.moc:63
#11 0x02fd0263 in QMetaObject::activate (sender=0x9e65c90, from_signal_index=4, to_signal_index=4, argv=0x0) at kernel/qobject.cpp:3113
#12 0x02fd0ec2 in QMetaObject::activate (sender=0x9e65c90, m=0x87ddc80, local_signal_index=0, argv=0x0) at kernel/qobject.cpp:3187
#13 0x08753cf9 in UMLObject::modified (this=0x9e65c90) at ./umlobject.moc:81
#14 0x0864d2fb in Uml::CmdRenameUMLObject::redo (this=0xa3f2cb8) at ../../../umbrello/umbrello/cmds/generic/cmd_rename_umlobject.cpp:35
#15 0x057c1135 in QUndoStack::push (this=0x9c4afe8, cmd=0xa3f2cb8) at util/qundostack.cpp:543
#16 0x08718f69 in UMLApp::executeCommand (this=0x9c4a310, cmd=0xa3f2cb8) at ../../../umbrello/umbrello/uml.cpp:2782
#17 0x080dcd0a in UMLOperationDialog::apply (this=0xbfbff308) at ../../../umbrello/umbrello/dialogs/umloperationdialog.cpp:443
#18 0x080dd202 in UMLOperationDialog::slotOk (this=0xbfbff308) at ../../../umbrello/umbrello/dialogs/umloperationdialog.cpp:495
#19 0x080e02f0 in UMLOperationDialog::qt_metacall (this=0xbfbff308, _c=QMetaObject::InvokeMetaMethod, _id=1, _a=0xbfbfcfcc) at ./umloperationdialog.moc:95
#20 0x02fd0263 in QMetaObject::activate (sender=0xbfbff308, from_signal_index=45, to_signal_index=45, argv=0x0) at kernel/qobject.cpp:3113
#21 0x02fd0ec2 in QMetaObject::activate (sender=0xbfbff308, m=0x8891888, local_signal_index=9, argv=0x0) at kernel/qobject.cpp:3187
#22 0x011054d7 in KDialog::okClicked (this=0xbfbff308) at ./kdialog.moc:252
#23 0x01107de8 in KDialog::slotButtonClicked (this=0xbfbff308, button=4) at ../../kdeui/dialogs/kdialog.cpp:853
#24 0x0110a319 in KDialog::qt_metacall (this=0xbfbff308, _c=QMetaObject::InvokeMetaMethod, _id=33, _a=0xbfbfd1b8) at ./kdialog.moc:184
#25 0x080e029f in UMLOperationDialog::qt_metacall (this=0xbfbff308, _c=QMetaObject::InvokeMetaMethod, _id=69, _a=0xbfbfd1b8) at ./umloperationdialog.moc:80
#26 0x02fd0263 in QMetaObject::activate (sender=0xa64a5d8, from_signal_index=4, to_signal_index=4, argv=0xbfbfd1b8) at kernel/qobject.cpp:3113
#27 0x02fd0ec2 in QMetaObject::activate (sender=0xa64a5d8, m=0x30aa878, local_signal_index=0, argv=0xbfbfd1b8) at kernel/qobject.cpp:3187
#28 0x02fd2e73 in QSignalMapper::mapped (this=0xa64a5d8, _t1=4) at .moc/release-shared/moc_qsignalmapper.cpp:95
#29 0x02fd370d in QSignalMapper::map (this=0xa64a5d8, sender=0xa3264e8) at kernel/qsignalmapper.cpp:266
#30 0x02fd38ee in QSignalMapper::map (this=0xa64a5d8) at kernel/qsignalmapper.cpp:257
#31 0x02fd412b in QSignalMapper::qt_metacall (this=0xa64a5d8, _c=QMetaObject::InvokeMetaMethod, _id=4, _a=0xbfbfd388) at .moc/release-shared/moc_qsignalmapper.cpp:81
#32 0x02fd0263 in QMetaObject::activate (sender=0xa3264e8, from_signal_index=29, to_signal_index=30, argv=0xbfbfd388) at kernel/qobject.cpp:3113
#33 0x02fd06d8 in QMetaObject::activate (sender=0xa3264e8, m=0x59b00a4, from_local_signal_index=2, to_local_signal_index=3, argv=0xbfbfd388) at kernel/qobject.cpp:3207
#34 0x057c9cc1 in QAbstractButton::clicked (this=0xa3264e8, _t1=false) at .moc/release-shared/moc_qabstractbutton.cpp:200
#35 0x054f2549 in QAbstractButtonPrivate::emitClicked (this=0xa709470) at widgets/qabstractbutton.cpp:543
#36 0x054f41a4 in QAbstractButtonPrivate::click (this=0xa709470) at widgets/qabstractbutton.cpp:536
#37 0x054f4431 in QAbstractButton::mouseReleaseEvent (this=0xa3264e8, e=0xbfbfd980) at widgets/qabstractbutton.cpp:1115
#38 0x05192012 in QWidget::event (this=0xa3264e8, event=0xbfbfd980) at kernel/qwidget.cpp:7549
#39 0x054f23ee in QAbstractButton::event (this=0xa3264e8, e=0xa0f26d8) at widgets/qabstractbutton.cpp:1077
#40 0x0559c66d in QPushButton::event (this=0xa3264e8, e=0xbfbfd980) at widgets/qpushbutton.cpp:662
#41 0x0513cf54 in QApplicationPrivate::notify_helper (this=0x9ad1368, receiver=0xa3264e8, e=0xbfbfd980) at kernel/qapplication.cpp:4056
#42 0x05145033 in QApplication::notify (this=0xbfc03d60, receiver=0xa3264e8, e=0xbfbfd980) at kernel/qapplication.cpp:3758
#43 0x011a0bfa in KApplication::notify (this=0xbfc03d60, receiver=0xa3264e8, event=0xbfbfd980) at ../../kdeui/kernel/kapplication.cpp:302
#44 0x02fba6cb in QCoreApplication::notifyInternal (this=0xbfc03d60, receiver=0xa3264e8, event=0xbfbfd980) at kernel/qcoreapplication.cpp:610
#45 0x05143f6e in QCoreApplication::sendSpontaneousEvent (receiver=0xa3264e8, event=0xbfbfd980, alienWidget=0xa3264e8, nativeWidget=0xbfbff308, buttonDown=0x59b7aa0, lastMouseReceiver=...)
    at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:216
#46 QApplicationPrivate::sendMouseEvent (receiver=0xa3264e8, event=0xbfbfd980, alienWidget=0xa3264e8, nativeWidget=0xbfbff308, buttonDown=0x59b7aa0, lastMouseReceiver=...)
    at kernel/qapplication.cpp:2924
#47 0x051b27c0 in QETWidget::translateMouseEvent (this=0xbfbff308, event=0xbfbfefcc) at kernel/qapplication_x11.cpp:4409
#48 0x051b1c4b in QApplication::x11ProcessEvent (this=0xbfc03d60, event=0xbfbfefcc) at kernel/qapplication_x11.cpp:3428
#49 0x051de502 in x11EventSourceDispatch (s=0x9ad4568, callback=0, user_data=0x0) at kernel/qguieventdispatcher_glib.cpp:146
#50 0x01398e88 in g_main_context_dispatch () from /lib/libglib-2.0.so.0
#51 0x0139c730 in ?? () from /lib/libglib-2.0.so.0
#52 0x0139c863 in g_main_context_iteration () from /lib/libglib-2.0.so.0
#53 0x02fe502c in QEventDispatcherGlib::processEvents (this=0x9ab44e0, flags=...) at kernel/qeventdispatcher_glib.cpp:327
#54 0x051ddbe5 in QGuiEventDispatcherGlib::processEvents (this=0x9ab44e0, flags=...) at kernel/qguieventdispatcher_glib.cpp:202
#55 0x02fb8c79 in QEventLoop::processEvents (this=0xbfbff2c0, flags=) at kernel/qeventloop.cpp:149
#56 0x02fb90ca in QEventLoop::exec (this=0xbfbff2c0, flags=...) at kernel/qeventloop.cpp:201
#57 0x05629d53 in QDialog::exec (this=0xbfbff308) at dialogs/qdialog.cpp:498
#58 0x086f6ca0 in UMLOperation::showPropertiesDialog (this=0x9e65c90, parent=0xa478148) at ../../../umbrello/umbrello/operation.cpp:423
#59 0x080a6efb in ClassifierListPage::slotDoubleClick (this=0xa478148, item=0xa47b200) at ../../../umbrello/umbrello/dialogs/classifierlistpage.cpp:688
#60 0x080a7c04 in ClassifierListPage::qt_metacall (this=0xa478148, _c=QMetaObject::InvokeMetaMethod, _id=32, _a=0xbfbff508) at ./classifierlistpage.moc:93
#61 0x02fd0263 in QMetaObject::activate (sender=0x9ff01e8, from_signal_index=72, to_signal_index=72, argv=0xbfbff508) at kernel/qobject.cpp:3113
#62 0x02fd0ec2 in QMetaObject::activate (sender=0x9ff01e8, m=0x59ab428, local_signal_index=2, argv=0xbfbff508) at kernel/qobject.cpp:3187
#63 0x056f1303 in QListWidget::itemDoubleClicked (this=0x9ff01e8, _t1=0xa47b200) at .moc/release-shared/moc_qlistwidget.cpp:199
#64 0x056f5090 in QListWidgetPrivate::_q_emitItemDoubleClicked (this=0xa5f0028, index=...) at itemviews/qlistwidget.cpp:1043
#65 0x056f766d in QListWidget::qt_metacall (this=0x9ff01e8, _c=QMetaObject::InvokeMetaMethod, _id=15, _a=0xbfbff648) at .moc/release-shared/moc_qlistwidget.cpp:137
#66 0x02fd0263 in QMetaObject::activate (sender=0x9ff01e8, from_signal_index=33, to_signal_index=33, argv=0xbfbff648) at kernel/qobject.cpp:3113
#67 0x02fd0ec2 in QMetaObject::activate (sender=0x9ff01e8, m=0x59aa884, local_signal_index=2, argv=0xbfbff648) at kernel/qobject.cpp:3187
#68 0x05683003 in QAbstractItemView::doubleClicked (this=0x9ff01e8, _t1=...) at .moc/release-shared/moc_qabstractitemview.cpp:328
#69 0x05686287 in QAbstractItemView::mouseDoubleClickEvent (this=0x9ff01e8, event=0xbfbffe80) at itemviews/qabstractitemview.cpp:1689
#70 0x05191e47 in QWidget::event (this=0x9ff01e8, event=0xbfbffe80) at kernel/qwidget.cpp:7553
#71 0x05541633 in QFrame::event (this=0x9ff01e8, e=0xbfbffe80) at widgets/qframe.cpp:559
#72 0x055e0494 in QAbstractScrollArea::viewportEvent (this=0x87a9a40, e=0x1) at widgets/qabstractscrollarea.cpp:962
#73 0x05694087 in QAbstractItemView::viewportEvent (this=0x9ff01e8, event=0xbfbffe80) at itemviews/qabstractitemview.cpp:1476
#74 0x055e2a95 in QAbstractScrollAreaPrivate::viewportEvent (this=0xa6115a0, o=0x9ff0200, e=0xbfbffe80) at widgets/qabstractscrollarea_p.h:100
#75 QAbstractScrollAreaFilter::eventFilter (this=0xa6115a0, o=0x9ff0200, e=0xbfbffe80) at widgets/qabstractscrollarea_p.h:111
#76 0x02fb983a in QCoreApplicationPrivate::sendThroughObjectEventFilters (this=0x9ad1368, receiver=0x9ff0200, event=0xbfbffe80) at kernel/qcoreapplication.cpp:726
#77 0x0513cf2c in QApplicationPrivate::notify_helper (this=0x9ad1368, receiver=0x9ff0200, e=0xbfbffe80) at kernel/qapplication.cpp:4052
#78 0x05145033 in QApplication::notify (this=0xbfc03d60, receiver=0x9ff0200, e=0xbfbffe80) at kernel/qapplication.cpp:3758
#79 0x011a0bfa in KApplication::notify (this=0xbfc03d60, receiver=0x9ff0200, event=0xbfbffe80) at ../../kdeui/kernel/kapplication.cpp:302
#80 0x02fba6cb in QCoreApplication::notifyInternal (this=0xbfc03d60, receiver=0x9ff0200, event=0xbfbffe80) at kernel/qcoreapplication.cpp:610
#81 0x05143f6e in QCoreApplication::sendSpontaneousEvent (receiver=0x9ff0200, event=0xbfbffe80, alienWidget=0x9ff0200, nativeWidget=0xa6bfc88, buttonDown=0x59b7aa0, lastMouseReceiver=...)
    at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:216
#82 QApplicationPrivate::sendMouseEvent (receiver=0x9ff0200, event=0xbfbffe80, alienWidget=0x9ff0200, nativeWidget=0xa6bfc88, buttonDown=0x59b7aa0, lastMouseReceiver=...)
    at kernel/qapplication.cpp:2924
#83 0x051b27c0 in QETWidget::translateMouseEvent (this=0xa6bfc88, event=0xbfc014cc) at kernel/qapplication_x11.cpp:4409
#84 0x051b1c4b in QApplication::x11ProcessEvent (this=0xbfc03d60, event=0xbfc014cc) at kernel/qapplication_x11.cpp:3428
#85 0x051de502 in x11EventSourceDispatch (s=0x9ad4568, callback=0, user_data=0x0) at kernel/qguieventdispatcher_glib.cpp:146
#86 0x01398e88 in g_main_context_dispatch () from /lib/libglib-2.0.so.0
#87 0x0139c730 in ?? () from /lib/libglib-2.0.so.0
#88 0x0139c863 in g_main_context_iteration () from /lib/libglib-2.0.so.0
#89 0x02fe502c in QEventDispatcherGlib::processEvents (this=0x9ab44e0, flags=...) at kernel/qeventdispatcher_glib.cpp:327
#90 0x051ddbe5 in QGuiEventDispatcherGlib::processEvents (this=0x9ab44e0, flags=...) at kernel/qguieventdispatcher_glib.cpp:202
#91 0x02fb8c79 in QEventLoop::processEvents (this=0xbfc017c0, flags=) at kernel/qeventloop.cpp:149
#92 0x02fb90ca in QEventLoop::exec (this=0xbfc017c0, flags=...) at kernel/qeventloop.cpp:201
#93 0x05629d53 in QDialog::exec (this=0xa6bfc88) at dialogs/qdialog.cpp:498
#94 0x08699ade in UMLWidget::showProperties (this=0x9de8798) at ../../../umbrello/umbrello/widgets/umlwidget.cpp:648
#95 0x0869b866 in UMLWidget::slotMenuSelection (this=0x9de8798, action=0xa31cb28) at ../../../umbrello/umbrello/widgets/umlwidget.cpp:292
#96 0x08698edf in UMLWidget::qt_metacall (this=0x9de8798, _c=QMetaObject::InvokeMetaMethod, _id=3, _a=0xbfc01a08) at ./umlwidget.moc:87
#97 0x02fd0263 in QMetaObject::activate (sender=0xa13afb8, from_signal_index=29, to_signal_index=29, argv=0xbfc01a08) at kernel/qobject.cpp:3113
#98 0x02fd0ec2 in QMetaObject::activate (sender=0xa13afb8, m=0x59a5048, local_signal_index=2, argv=0xbfc01a08) at kernel/qobject.cpp:3187
#99 0x055842c3 in QMenu::triggered (this=0xa13afb8, _t1=0xa31cb28) at .moc/release-shared/moc_qmenu.cpp:158
#100 0x05585aac in QMenuPrivate::_q_actionTriggered (this=0xa15b2b0) at widgets/qmenu.cpp:1088
#101 0x0558e846 in QMenu::qt_metacall (this=0xa13afb8, _c=QMetaObject::InvokeMetaMethod, _id=8, _a=0xbfc01c28) at .moc/release-shared/moc_qmenu.cpp:99
#102 0x0128c96a in KMenu::qt_metacall (this=0xa13afb8, _c=QMetaObject::InvokeMetaMethod, _id=35, _a=0xbfc01c28) at ./kmenu.moc:70
#103 0x02fd0263 in QMetaObject::activate (sender=0xa31cb28, from_signal_index=5, to_signal_index=6, argv=0xbfc01c28) at kernel/qobject.cpp:3113
#104 0x02fd06d8 in QMetaObject::activate (sender=0xa31cb28, m=0x599ee48, from_local_signal_index=1, to_local_signal_index=2, argv=0xbfc01c28) at kernel/qobject.cpp:3207
#105 0x051369b1 in QAction::triggered (this=0xa31cb28, _t1=false) at .moc/release-shared/moc_qaction.cpp:236
#106 0x05137f32 in QAction::activate (this=0xa31cb28, event=QAction::Trigger) at kernel/qaction.cpp:1160
#107 0x055859cc in QMenuPrivate::activateCausedStack (this=0xa15b2b0, causedStack=..., action=0xa31cb28, action_e=QAction::Trigger, self=true) at widgets/qmenu.cpp:967
#108 0x0558c03b in QMenuPrivate::activateAction (this=0xa15b2b0, action=0xa31cb28, action_e=QAction::Trigger, self=<value optimized out>) at widgets/qmenu.cpp:1060
#109 0x0558cbf7 in QMenu::mouseReleaseEvent (this=0xa13afb8, e=0xbfc02380) at widgets/qmenu.cpp:2254
#110 0x0128b1c5 in KMenu::mouseReleaseEvent (this=0xa13afb8, e=0xbfc02380) at ../../kdeui/widgets/kmenu.cpp:456
#111 0x05192012 in QWidget::event (this=0xa13afb8, event=0xbfc02380) at kernel/qwidget.cpp:7549
#112 0x0558ee34 in QMenu::event (this=0xa13afb8, e=0xbfc02380) at widgets/qmenu.cpp:2353
#113 0x0513cf54 in QApplicationPrivate::notify_helper (this=0x9ad1368, receiver=0xa13afb8, e=0xbfc02380) at kernel/qapplication.cpp:4056
#114 0x05145033 in QApplication::notify (this=0xbfc03d60, receiver=0xa13afb8, e=0xbfc02380) at kernel/qapplication.cpp:3758
#115 0x011a0bfa in KApplication::notify (this=0xbfc03d60, receiver=0xa13afb8, event=0xbfc02380) at ../../kdeui/kernel/kapplication.cpp:302
#116 0x02fba6cb in QCoreApplication::notifyInternal (this=0xbfc03d60, receiver=0xa13afb8, event=0xbfc02380) at kernel/qcoreapplication.cpp:610
#117 0x05143f6e in QCoreApplication::sendSpontaneousEvent (receiver=0xa13afb8, event=0xbfc02380, alienWidget=0x0, nativeWidget=0xa13afb8, buttonDown=0x59b7aa0, lastMouseReceiver=...)
    at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:216
#118 QApplicationPrivate::sendMouseEvent (receiver=0xa13afb8, event=0xbfc02380, alienWidget=0x0, nativeWidget=0xa13afb8, buttonDown=0x59b7aa0, lastMouseReceiver=...) at kernel/qapplication.cpp:2924
#119 0x051b2c87 in QETWidget::translateMouseEvent (this=0xa13afb8, event=0xbfc039cc) at kernel/qapplication_x11.cpp:4343
#120 0x051b1c4b in QApplication::x11ProcessEvent (this=0xbfc03d60, event=0xbfc039cc) at kernel/qapplication_x11.cpp:3428
#121 0x051de502 in x11EventSourceDispatch (s=0x9ad4568, callback=0, user_data=0x0) at kernel/qguieventdispatcher_glib.cpp:146
#122 0x01398e88 in g_main_context_dispatch () from /lib/libglib-2.0.so.0
#123 0x0139c730 in ?? () from /lib/libglib-2.0.so.0
#124 0x0139c863 in g_main_context_iteration () from /lib/libglib-2.0.so.0
#125 0x02fe502c in QEventDispatcherGlib::processEvents (this=0x9ab44e0, flags=...) at kernel/qeventdispatcher_glib.cpp:327
#126 0x051ddbe5 in QGuiEventDispatcherGlib::processEvents (this=0x9ab44e0, flags=...) at kernel/qguieventdispatcher_glib.cpp:202
#127 0x02fb8c79 in QEventLoop::processEvents (this=0xbfc03cc4, flags=) at kernel/qeventloop.cpp:149
#128 0x02fb90ca in QEventLoop::exec (this=0xbfc03cc4, flags=...) at kernel/qeventloop.cpp:201
#129 0x02fbb53f in QCoreApplication::exec () at kernel/qcoreapplication.cpp:888
#130 0x0513cdd7 in QApplication::exec () at kernel/qapplication.cpp:3525
#131 0x086ec2b5 in main (argc=3, argv=0xbfc03f14) at ../../../umbrello/umbrello/main.cpp:111

Reported using DrKonqi
Comment 1 Stefano 2010-02-02 18:29:41 UTC
Umbrello freshly installed from Synaptic.
Comment 2 Joris Steyn 2013-12-30 08:19:31 UTC
Created attachment 84342 [details]
XMI reproducing the described issue

Confirmed, the problem exists in all releases of 4.11 and newer.

Steps to reproduce:
1. Add two class widgets on a diagram
2. Associate one with the other
3. Open properties dialog of class
4. Add new attribute -> OK

*crash*
Comment 3 Joris Steyn 2013-12-30 15:36:10 UTC
Git commit ca2ac6f54ac3030589836eb284bd21dd16d6f3a7 by Joris Steyn.
Committed on 30/12/2013 at 11:24.
Pushed by jorissteyn into branch 'KDE/4.11'.

Fix crash when adding attribute

There was an obscure crash in the code generator triggered by Import_Utils. It
tried to add the attribute to the logical view, explicitly setting ot_Attribute
prevents this behaviour.

M  +1    -1    umbrello/dialogs/umlattributedialog.cpp

http://commits.kde.org/umbrello/ca2ac6f54ac3030589836eb284bd21dd16d6f3a7
Comment 4 Joris Steyn 2013-12-30 15:36:10 UTC
Git commit cbddac2fd9cbaa8fec4daeddd4a806aad4ca4246 by Joris Steyn.
Committed on 30/12/2013 at 11:24.
Pushed by jorissteyn into branch 'KDE/4.12'.

Fix crash when adding attribute

There was an obscure crash in the code generator triggered by Import_Utils. It
tried to add the attribute to the logical view, explicitly setting ot_Attribute
prevents this behaviour.

M  +1    -1    umbrello/dialogs/umlattributedialog.cpp

http://commits.kde.org/umbrello/cbddac2fd9cbaa8fec4daeddd4a806aad4ca4246
Comment 5 Joris Steyn 2013-12-30 15:36:11 UTC
Git commit 61149e5f6a8365ed71a6eda793cb91ada36687b4 by Joris Steyn.
Committed on 30/12/2013 at 11:24.
Pushed by jorissteyn into branch 'master'.

Fix crash when adding attribute

There was an obscure crash in the code generator triggered by Import_Utils. It
tried to add the attribute to the logical view, explicitly setting ot_Attribute
prevents this behaviour.

M  +1    -1    umbrello/dialogs/umlattributedialog.cpp

http://commits.kde.org/umbrello/61149e5f6a8365ed71a6eda793cb91ada36687b4
Comment 6 Joris Steyn 2014-01-01 22:15:47 UTC
Note about steps-to-reproduce: attribute type must be empty, language must be c++ or java and new code generator must be turned on.

Previous fix was bogus, a better one is coming up and will be released in 4.11.5.
Comment 7 Joris Steyn 2014-01-01 22:16:44 UTC
Git commit 1e6e3df30e823ed76b176f03ae931c2394b10995 by Joris Steyn.
Committed on 01/01/2014 at 21:57.
Pushed by jorissteyn into branch 'KDE/4.11'.

Better fix for attribute creation crash

Previous fix was faulty. The problem occurs when an object is looked up with an
empty name. Instead of not finding an object, umldoc can return an arbitrary
association object instead, resulting in problems in Import_Utils.

This change prevents calling Import_Utils with an empty typeName, so when an
attribute is created without specifying a type, the default behaviour of
creating a new class with Object_Factory is triggered - which handles this case
well.

M  +13   -2    umbrello/dialogs/umlattributedialog.cpp

http://commits.kde.org/umbrello/1e6e3df30e823ed76b176f03ae931c2394b10995
Comment 8 Joris Steyn 2014-01-01 22:16:46 UTC
Git commit e84b97d0ebc3b0c82a0688f9daf6365bc22ae405 by Joris Steyn.
Committed on 01/01/2014 at 21:57.
Pushed by jorissteyn into branch 'KDE/4.12'.

Better fix for attribute creation crash

Previous fix was faulty. The problem occurs when an object is looked up with an
empty name. Instead of not finding an object, umldoc can return an arbitrary
association object instead, resulting in problems in Import_Utils.

This change prevents calling Import_Utils with an empty typeName, so when an
attribute is created without specifying a type, the default behaviour of
creating a new class with Object_Factory is triggered - which handles this case
well.

M  +13   -2    umbrello/dialogs/umlattributedialog.cpp

http://commits.kde.org/umbrello/e84b97d0ebc3b0c82a0688f9daf6365bc22ae405
Comment 9 Joris Steyn 2014-01-01 22:16:50 UTC
Git commit 923ba58b365ea1900fb13c041a3c9552eb5c2759 by Joris Steyn.
Committed on 01/01/2014 at 21:57.
Pushed by jorissteyn into branch 'master'.

Better fix for attribute creation crash

Previous fix was faulty. The problem occurs when an object is looked up with an
empty name. Instead of not finding an object, umldoc can return an arbitrary
association object instead, resulting in problems in Import_Utils.

This change prevents calling Import_Utils with an empty typeName, so when an
attribute is created without specifying a type, the default behaviour of
creating a new class with Object_Factory is triggered - which handles this case
well.

M  +13   -2    umbrello/dialogs/umlattributedialog.cpp

http://commits.kde.org/umbrello/923ba58b365ea1900fb13c041a3c9552eb5c2759