Bug 191396 - Editing attributes in Entity's "Properties" window and adding foreign key constraint causes a crash [invalid UMLObject::getDoc, ClassifierListPage::slotActivateItem, ..., QListWidget::currentItemChanged]
Summary: Editing attributes in Entity's "Properties" window and adding foreign key con...
Status: RESOLVED FIXED
Alias: None
Product: umbrello
Classification: Applications
Component: general (show other bugs)
Version: unspecified
Platform: Ubuntu Linux
: NOR crash
Target Milestone: ---
Assignee: Joris Steyn
URL:
Keywords:
: 191924 213814 244473 256449 256532 256618 256814 257239 259062 260942 264310 289572 (view as bug list)
Depends on:
Blocks:
 
Reported: 2009-05-02 23:14 UTC by Erik Anderson
Modified: 2013-11-27 19:23 UTC (History)
19 users (show)

See Also:
Latest Commit:
Version Fixed In: 4.11.4


Attachments
SEGV backtrace (9.61 KB, text/plain)
2009-05-02 23:15 UTC, Erik Anderson
Details
New crash information added by DrKonqi (15.75 KB, text/plain)
2010-11-21 20:06 UTC, Michal
Details
New crash information added by DrKonqi (15.73 KB, text/plain)
2011-09-22 11:02 UTC, Bharat
Details
Fix for filtered constraint list item (1.25 KB, patch)
2012-05-06 22:03 UTC, Arash Abedinzadeh
Details
Megeia 2 Crash Log (9.34 KB, text/plain)
2013-05-13 04:05 UTC, John Schneiderman
Details
Fix crash when adding entity constraints (3.25 KB, patch)
2013-09-21 20:04 UTC, Joris Steyn
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Erik Anderson 2009-05-02 23:14:46 UTC
Version:           2.2.2 (using KDE 4.2.2)
OS:                Linux
Installed from:    Ubuntu Packages

Using versions:
- Kubuntu 9.04 (Jaunty)
- Umbrello 2.2.2
- KDE 4.2.2

Not sure if it's relevant, but I have set the 'Default Lanugage' to PostgreSQL.

** Steps to Reproduce:
- Create new Entity Relationship Model, or open existing one.
- Create at least two new Entities, or use any existing two.
- Open one Entity's "Properties" dialog.
- Click "Entity Attributes".
- Add an attribute with the same name and type as the primary key in another entity.
- Click "Entity Constraints".  Do *not* click OK to close this dialog first, or this crash will not happen.
- Add a foreign key constraint with "Referenced entity" set to the other table and using the same two attributes.  
- Click "OK" and watch the SEGV.

Attaching backtrace separately.
Comment 1 Erik Anderson 2009-05-02 23:15:25 UTC
Created attachment 33304 [details]
SEGV backtrace
Comment 2 Dario Andres 2009-05-03 00:02:12 UTC
Pasted backtrace from comment 1:
-----

Application: Umbrello UML Modeller (umbrello), signal SIGSEGV
0x00007fbfd7da4cf0 in nanosleep () from /lib/libc.so.6

Thread 1 (Thread 0x7fbfdc435750 (LWP 12623)):
[KCrash Handler]
#5  UMLObject::getDoc (this=0x30) at /usr/include/qt4/QtCore/qstring.h:711
#6  0x000000000046079d in ClassifierListPage::slotActivateItem (this=0x187f190, item=<value optimized out>) at /build/buildd/kdesdk-4.2.2/umbrello/umbrello/dialogs/classifierlistpage.cpp:300
#7  0x000000000046253f in ClassifierListPage::qt_metacall (this=0x187f190, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=0x7fffe44687f0)
    at /build/buildd/kdesdk-4.2.2/obj-x86_64-linux-gnu/umbrello/umbrello/classifierlistpage.moc:88
#8  0x00000000004629bd in ConstraintListPage::qt_metacall (this=0x7fffe4468650, _c=48, _id=49, _a=0x0) at /build/buildd/kdesdk-4.2.2/obj-x86_64-linux-gnu/umbrello/umbrello/constraintlistpage.moc:67
#9  0x00007fbfd8eb01f2 in QMetaObject::activate () from /usr/lib/libQtCore.so.4
#10 0x00007fbfd9fbb4fb in QListWidget::currentItemChanged () from /usr/lib/libQtGui.so.4
#11 0x00007fbfd9fbed2c in ?? () from /usr/lib/libQtGui.so.4
#12 0x00007fbfd9fc176e in QListWidget::qt_metacall () from /usr/lib/libQtGui.so.4
#13 0x00007fbfd8eb01f2 in QMetaObject::activate () from /usr/lib/libQtCore.so.4
#14 0x00007fbfd9fa956a in QItemSelectionModel::currentChanged () from /usr/lib/libQtGui.so.4
#15 0x00007fbfd9fa96b4 in QItemSelectionModel::setCurrentIndex () from /usr/lib/libQtGui.so.4
#16 0x00007fbfd9fbe7f0 in QListWidget::setCurrentRow () from /usr/lib/libQtGui.so.4
#17 0x0000000000462371 in ClassifierListPage::slotListItemCreated (this=0x187f190, object=0x130f5e0) at /build/buildd/kdesdk-4.2.2/umbrello/umbrello/dialogs/classifierlistpage.cpp:333
#18 0x000000000046250f in ClassifierListPage::qt_metacall (this=0x187f190, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=0x7fffe4468cc0)
    at /build/buildd/kdesdk-4.2.2/obj-x86_64-linux-gnu/umbrello/umbrello/classifierlistpage.moc:90
#19 0x00000000004629bd in ConstraintListPage::qt_metacall (this=0x7fffe4468650, _c=48, _id=49, _a=0x0) at /build/buildd/kdesdk-4.2.2/obj-x86_64-linux-gnu/umbrello/umbrello/constraintlistpage.moc:67
#20 0x00007fbfd8eb01f2 in QMetaObject::activate () from /usr/lib/libQtCore.so.4
#21 0x0000000000c1ffa0 in UMLDoc::sigObjectCreated (this=0x7fffe4468650, _t1=0x130f5e0) at /build/buildd/kdesdk-4.2.2/obj-x86_64-linux-gnu/umbrello/umbrello/umldoc.moc:147
#22 0x0000000000b96759 in UMLEntity::createForeignKeyConstraint (this=0x15a6790, name=@0x7fffe4468f80) at /build/buildd/kdesdk-4.2.2/umbrello/umbrello/entity.cpp:206
#23 0x0000000000be5106 in Object_Factory::createChildObject (parent=0x15a6790, type=<value optimized out>) at /build/buildd/kdesdk-4.2.2/umbrello/umbrello/object_factory.cpp:255
#24 0x000000000045e7e2 in ClassifierListPage::slotNewListItem (this=0x187f190) at /build/buildd/kdesdk-4.2.2/umbrello/umbrello/dialogs/classifierlistpage.cpp:632
#25 0x00000000004627d3 in ConstraintListPage::slotNewForeignKeyConstraint (this=0x7fffe4468650) at /build/buildd/kdesdk-4.2.2/umbrello/umbrello/dialogs/constraintlistpage.cpp:110
#26 0x0000000000462a18 in ConstraintListPage::qt_metacall (this=0x187f190, _c=QMetaObject::InvokeMetaMethod, _id=0, _a=<value optimized out>)
    at /build/buildd/kdesdk-4.2.2/obj-x86_64-linux-gnu/umbrello/umbrello/constraintlistpage.moc:74
#27 0x00007fbfd8eb01f2 in QMetaObject::activate () from /usr/lib/libQtCore.so.4
#28 0x00007fbfd9a3d897 in QAction::triggered () from /usr/lib/libQtGui.so.4
#29 0x00007fbfd9a3ed10 in QAction::activate () from /usr/lib/libQtGui.so.4
#30 0x00007fbfd9e6cd1c in ?? () from /usr/lib/libQtGui.so.4
#31 0x00007fbfd9e72cee in ?? () from /usr/lib/libQtGui.so.4
#32 0x00007fbfdaf49b71 in KMenu::mouseReleaseEvent () from /usr/lib/libkdeui.so.5
#33 0x00007fbfd9a9497f in QWidget::event () from /usr/lib/libQtGui.so.4
#34 0x00007fbfd9e754ab in QMenu::event () from /usr/lib/libQtGui.so.4
#35 0x00007fbfd9a4383d in QApplicationPrivate::notify_helper () from /usr/lib/libQtGui.so.4
#36 0x00007fbfd9a4c18a in QApplication::notify () from /usr/lib/libQtGui.so.4
#37 0x00007fbfdae7826b in KApplication::notify () from /usr/lib/libkdeui.so.5
#38 0x00007fbfd8e9a75c in QCoreApplication::notifyInternal () from /usr/lib/libQtCore.so.4
#39 0x00007fbfd9a4b3d8 in QApplicationPrivate::sendMouseEvent () from /usr/lib/libQtGui.so.4
#40 0x00007fbfd9ab5084 in ?? () from /usr/lib/libQtGui.so.4
#41 0x00007fbfd9ab3b38 in QApplication::x11ProcessEvent () from /usr/lib/libQtGui.so.4
#42 0x00007fbfd9adc514 in ?? () from /usr/lib/libQtGui.so.4
#43 0x00007fbfd442220a in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#44 0x00007fbfd44258e0 in ?? () from /usr/lib/libglib-2.0.so.0
#45 0x00007fbfd4425a7c in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#46 0x00007fbfd8ec3e6f in QEventDispatcherGlib::processEvents () from /usr/lib/libQtCore.so.4
#47 0x00007fbfd9adbc9f in ?? () from /usr/lib/libQtGui.so.4
#48 0x00007fbfd8e99002 in QEventLoop::processEvents () from /usr/lib/libQtCore.so.4
#49 0x00007fbfd8e993cd in QEventLoop::exec () from /usr/lib/libQtCore.so.4
#50 0x00007fbfd9e75305 in QMenu::exec () from /usr/lib/libQtGui.so.4
#51 0x00007fbfd9e8065c in ?? () from /usr/lib/libQtGui.so.4
#52 0x00007fbfd9e81ccd in QPushButton::qt_metacall () from /usr/lib/libQtGui.so.4
#53 0x00007fbfd8eb01f2 in QMetaObject::activate () from /usr/lib/libQtCore.so.4
#54 0x00007fbfd9de5c9e in ?? () from /usr/lib/libQtGui.so.4
#55 0x00007fbfd9de5e73 in QAbstractButton::mousePressEvent () from /usr/lib/libQtGui.so.4
#56 0x00007fbfd9a94b56 in QWidget::event () from /usr/lib/libQtGui.so.4
#57 0x00007fbfd9a4383d in QApplicationPrivate::notify_helper () from /usr/lib/libQtGui.so.4
#58 0x00007fbfd9a4c18a in QApplication::notify () from /usr/lib/libQtGui.so.4
#59 0x00007fbfdae7826b in KApplication::notify () from /usr/lib/libkdeui.so.5
#60 0x00007fbfd8e9a75c in QCoreApplication::notifyInternal () from /usr/lib/libQtCore.so.4
#61 0x00007fbfd9a4b3d8 in QApplicationPrivate::sendMouseEvent () from /usr/lib/libQtGui.so.4
#62 0x00007fbfd9ab4ec9 in ?? () from /usr/lib/libQtGui.so.4
#63 0x00007fbfd9ab3b38 in QApplication::x11ProcessEvent () from /usr/lib/libQtGui.so.4
#64 0x00007fbfd9adc514 in ?? () from /usr/lib/libQtGui.so.4
#65 0x00007fbfd442220a in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#66 0x00007fbfd44258e0 in ?? () from /usr/lib/libglib-2.0.so.0
#67 0x00007fbfd4425a7c in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#68 0x00007fbfd8ec3e6f in QEventDispatcherGlib::processEvents () from /usr/lib/libQtCore.so.4
#69 0x00007fbfd9adbc9f in ?? () from /usr/lib/libQtGui.so.4
#70 0x00007fbfd8e99002 in QEventLoop::processEvents () from /usr/lib/libQtCore.so.4
#71 0x00007fbfd8e993cd in QEventLoop::exec () from /usr/lib/libQtCore.so.4
#72 0x00007fbfd9f013ee in QDialog::exec () from /usr/lib/libQtGui.so.4
#73 0x0000000000c4e2ac in UMLObject::showProperties (this=0x15a6790, page=<value optimized out>, assoc=<value optimized out>) at /build/buildd/kdesdk-4.2.2/umbrello/umbrello/umlobject.cpp:94
#74 0x0000000000c3ecec in UMLListView::popupMenuSel (this=0x14e8a50, action=<value optimized out>) at /build/buildd/kdesdk-4.2.2/umbrello/umbrello/umllistview.cpp:524
#75 0x0000000000c466b7 in UMLListView::qt_metacall (this=0x14e8a50, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=0x7fffe446ce50)
    at /build/buildd/kdesdk-4.2.2/obj-x86_64-linux-gnu/umbrello/umbrello/umllistview.moc:105
#76 0x00007fbfd8eb01f2 in QMetaObject::activate () from /usr/lib/libQtCore.so.4
#77 0x00007fbfd9e6b862 in QMenu::triggered () from /usr/lib/libQtGui.so.4
#78 0x00007fbfd9e6cde0 in ?? () from /usr/lib/libQtGui.so.4
#79 0x00007fbfd9e74ff9 in QMenu::qt_metacall () from /usr/lib/libQtGui.so.4
#80 0x00007fbfdaf4b045 in KMenu::qt_metacall () from /usr/lib/libkdeui.so.5
#81 0x00007fbfd8eb01f2 in QMetaObject::activate () from /usr/lib/libQtCore.so.4
#82 0x00007fbfd9a3d897 in QAction::triggered () from /usr/lib/libQtGui.so.4
#83 0x00007fbfd9a3ed10 in QAction::activate () from /usr/lib/libQtGui.so.4
#84 0x00007fbfd9e6cd1c in ?? () from /usr/lib/libQtGui.so.4
#85 0x00007fbfd9e72cee in ?? () from /usr/lib/libQtGui.so.4
#86 0x00007fbfdaf49b71 in KMenu::mouseReleaseEvent () from /usr/lib/libkdeui.so.5
#87 0x00007fbfd9a9497f in QWidget::event () from /usr/lib/libQtGui.so.4
#88 0x00007fbfd9e754ab in QMenu::event () from /usr/lib/libQtGui.so.4
#89 0x00007fbfd9a4383d in QApplicationPrivate::notify_helper () from /usr/lib/libQtGui.so.4
#90 0x00007fbfd9a4c18a in QApplication::notify () from /usr/lib/libQtGui.so.4
#91 0x00007fbfdae7826b in KApplication::notify () from /usr/lib/libkdeui.so.5
#92 0x00007fbfd8e9a75c in QCoreApplication::notifyInternal () from /usr/lib/libQtCore.so.4
#93 0x00007fbfd9a4b3d8 in QApplicationPrivate::sendMouseEvent () from /usr/lib/libQtGui.so.4
#94 0x00007fbfd9ab5084 in ?? () from /usr/lib/libQtGui.so.4
#95 0x00007fbfd9ab3b38 in QApplication::x11ProcessEvent () from /usr/lib/libQtGui.so.4
#96 0x00007fbfd9adc514 in ?? () from /usr/lib/libQtGui.so.4
#97 0x00007fbfd442220a in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#98 0x00007fbfd44258e0 in ?? () from /usr/lib/libglib-2.0.so.0
#99 0x00007fbfd4425a7c in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#100 0x00007fbfd8ec3e6f in QEventDispatcherGlib::processEvents () from /usr/lib/libQtCore.so.4
#101 0x00007fbfd9adbc9f in ?? () from /usr/lib/libQtGui.so.4
#102 0x00007fbfd8e99002 in QEventLoop::processEvents () from /usr/lib/libQtCore.so.4
#103 0x00007fbfd8e993cd in QEventLoop::exec () from /usr/lib/libQtCore.so.4
#104 0x00007fbfd8e9b694 in QCoreApplication::exec () from /usr/lib/libQtCore.so.4
#105 0x0000000000bc92d5 in main (argc=3, argv=0x7fffe446ee18) at /build/buildd/kdesdk-4.2.2/umbrello/umbrello/main.cpp:110
Comment 3 Dario Andres 2009-05-07 23:34:10 UTC
*** Bug 191924 has been marked as a duplicate of this bug. ***
Comment 4 Piotr Keplicz 2009-09-28 15:14:32 UTC
I've just got a similar crash with KDE 4.3.1/Umbrello 2.3.1.

 -- Backtrace:
Application: Umbrello UML Modeller (umbrello), signal: Segmentation fault
[KCrash Handler]
#6  UMLObject::getDoc (this=0x20) at /usr/include/qt4/QtCore/qstring.h:711
#7  0x080a484c in ClassifierListPage::slotActivateItem (this=0x9af4c70, item=0x9c31d60) at /build/buildd/kdesdk-4.3.1/umbrello/umbrello/dialogs/classifierlistpage.cpp:350
#8  0x080a7aac in ClassifierListPage::qt_metacall (this=0x9af4c70, _c=QMetaObject::InvokeMetaMethod, _id=0, _a=0xbfd66b28)
    at /build/buildd/kdesdk-4.3.1/obj-i486-linux-gnu/umbrello/umbrello/classifierlistpage.moc:88
#9  0x080a7eef in ConstraintListPage::qt_metacall (this=0x9af4c70, _c=QMetaObject::InvokeMetaMethod, _id=27, _a=0xbfd66b28)
    at /build/buildd/kdesdk-4.3.1/obj-i486-linux-gnu/umbrello/umbrello/constraintlistpage.moc:67
#10 0xb67801b8 in QMetaObject::activate (sender=0x9aeb638, from_signal_index=76, to_signal_index=76, argv=0xbfd66b28) at kernel/qobject.cpp:3113
#11 0xb6780e42 in QMetaObject::activate (sender=0x9aeb638, m=0xb74a2428, local_signal_index=6, argv=0xbfd66b28) at kernel/qobject.cpp:3187
#12 0xb71e2ff9 in QListWidget::currentItemChanged (this=0x9aeb638, _t1=0x9c31d60, _t2=0x0) at .moc/release-shared/moc_qlistwidget.cpp:227
#13 0xb71e6ce9 in QListWidgetPrivate::_q_emitCurrentItemChanged (this=0x9c50558, current=@0x9bc9240, previous=@0xb685ef50) at itemviews/qlistwidget.cpp:1070
#14 0xb71e8e29 in QListWidget::qt_metacall (this=0x9aeb638, _c=QMetaObject::InvokeMetaMethod, _id=19, _a=0xbfd66c78) at .moc/release-shared/moc_qlistwidget.cpp:141
#15 0xb67801b8 in QMetaObject::activate (sender=0x9b9ae78, from_signal_index=5, to_signal_index=5, argv=0xbfd66c78) at kernel/qobject.cpp:3113
#16 0xb6780e42 in QMetaObject::activate (sender=0x9b9ae78, m=0xb74a2290, local_signal_index=1, argv=0xbfd66c78) at kernel/qobject.cpp:3187
#17 0xb71d16c9 in QItemSelectionModel::currentChanged (this=0x9b9ae78, _t1=@0x9bc9240, _t2=@0xb685ef50) at .moc/release-shared/moc_qitemselectionmodel.cpp:153
#18 0xb71d186d in QItemSelectionModel::setCurrentIndex (this=0x9b9ae78, index=@0xbfd66d40, command={i = -1076466344}) at itemviews/qitemselectionmodel.cpp:1123
#19 0xb71e66dd in QListWidget::setCurrentRow (this=0x9aeb638, row=1) at itemviews/qlistwidget.cpp:1437
#20 0xb71e7385 in QListWidget::setCurrentItem (this=0x9aeb638, item=0x9c31d60) at itemviews/qlistwidget.cpp:1408
#21 0x080a4ce4 in ClassifierListPage::slotListItemCreated (this=0x9af4c70, object=0x9ba7910) at /build/buildd/kdesdk-4.3.1/umbrello/umbrello/dialogs/classifierlistpage.cpp:396
#22 0x080a7a6c in ClassifierListPage::qt_metacall (this=0x9af4c70, _c=QMetaObject::InvokeMetaMethod, _id=2, _a=0xbfd66ef0)
    at /build/buildd/kdesdk-4.3.1/obj-i486-linux-gnu/umbrello/umbrello/classifierlistpage.moc:90
#23 0x080a7eef in ConstraintListPage::qt_metacall (this=0x9af4c70, _c=QMetaObject::InvokeMetaMethod, _id=29, _a=0xbfd66ef0)
    at /build/buildd/kdesdk-4.3.1/obj-i486-linux-gnu/umbrello/umbrello/constraintlistpage.moc:67
#24 0xb67801b8 in QMetaObject::activate (sender=0x99d04a0, from_signal_index=8, to_signal_index=8, argv=0xbfd66ef0) at kernel/qobject.cpp:3113
#25 0xb6780e42 in QMetaObject::activate (sender=0x99d04a0, m=0x87e2540, local_signal_index=4, argv=0xbfd66ef0) at kernel/qobject.cpp:3187
#26 0x0872ca15 in UMLDoc::sigObjectCreated (this=0x99d04a0, _t1=0x9ba7910) at /build/buildd/kdesdk-4.3.1/obj-i486-linux-gnu/umbrello/umbrello/umldoc.moc:147
#27 0x086c7c49 in UMLEntity::createForeignKeyConstraint (this=0x9c41428, name=@0xbfd66fd0) at /build/buildd/kdesdk-4.3.1/umbrello/umbrello/entity.cpp:244
#28 0x086fb910 in Object_Factory::createChildObject (parent=0x9c41428, type=Uml::ot_ForeignKeyConstraint) at /build/buildd/kdesdk-4.3.1/umbrello/umbrello/object_factory.cpp:285
#29 0x080a3ac8 in ClassifierListPage::slotNewListItem (this=0x9af4c70) at /build/buildd/kdesdk-4.3.1/umbrello/umbrello/dialogs/classifierlistpage.cpp:731
#30 0x080a7cc9 in ConstraintListPage::slotNewForeignKeyConstraint (this=0x9af4c70) at /build/buildd/kdesdk-4.3.1/umbrello/umbrello/dialogs/constraintlistpage.cpp:120
#31 0x080a7f48 in ConstraintListPage::qt_metacall (this=0x9af4c70, _c=QMetaObject::InvokeMetaMethod, _id=-1076467220, _a=0xbfd6714c)
    at /build/buildd/kdesdk-4.3.1/obj-i486-linux-gnu/umbrello/umbrello/constraintlistpage.moc:74
#32 0xb67801b8 in QMetaObject::activate (sender=0x9be8d50, from_signal_index=5, to_signal_index=6, argv=0xbfd6714c) at kernel/qobject.cpp:3113
#33 0xb67805f0 in QMetaObject::activate (sender=0x9be8d50, m=0xb7495e48, from_local_signal_index=1, to_local_signal_index=2, argv=0xbfd6714c) at kernel/qobject.cpp:3207
#34 0xb6c266c1 in QAction::triggered (this=0x9be8d50, _t1=false) at .moc/release-shared/moc_qaction.cpp:236
#35 0xb6c27c3f in QAction::activate (this=0x9be8d50, event=QAction::Trigger) at kernel/qaction.cpp:1160
#36 0xb70790e4 in QMenuPrivate::activateCausedStack (this=0x9b9b5f8, causedStack=@0xbfd67228, action=0x9be8d50, action_e=QAction::Trigger, self=true) at widgets/qmenu.cpp:967
#37 0xb707f83b in QMenuPrivate::activateAction (this=0x9b9b5f8, action=0x9be8d50, action_e=QAction::Trigger, self=<value optimized out>) at widgets/qmenu.cpp:1060
#38 0xb7080382 in QMenu::mouseReleaseEvent (this=0x9bba5f8, e=0xbfd67868) at widgets/qmenu.cpp:2254
#39 0xb790f1d5 in KMenu::mouseReleaseEvent (this=0x9bba5f8, e=0xbfd67868) at /build/buildd/kde4libs-4.3.1/kdeui/widgets/kmenu.cpp:456
#40 0xb6c83973 in QWidget::event (this=0x9bba5f8, event=0xbfd67868) at kernel/qwidget.cpp:7549
#41 0xb7082639 in QMenu::event (this=0x9bba5f8, e=0xbfd67868) at widgets/qmenu.cpp:2353
#42 0xb6c2cd3c in QApplicationPrivate::notify_helper (this=0x9959680, receiver=0x9bba5f8, e=0xbfd67868) at kernel/qapplication.cpp:4056
#43 0xb6c359b1 in QApplication::notify (this=0xbfd6d5c8, receiver=0x9bba5f8, e=0xbfd67868) at kernel/qapplication.cpp:3758
#44 0xb782685d in KApplication::notify (this=0xbfd6d5c8, receiver=0x9bba5f8, event=0xbfd67868) at /build/buildd/kde4libs-4.3.1/kdeui/kernel/kapplication.cpp:302
#45 0xb676abcb in QCoreApplication::notifyInternal (this=0xbfd6d5c8, receiver=0x9bba5f8, event=0xbfd67868) at kernel/qcoreapplication.cpp:610
#46 0xb6c34a1e in QApplicationPrivate::sendMouseEvent (receiver=0x9bba5f8, event=0xbfd67868, alienWidget=0x0, nativeWidget=0x9bba5f8, buttonDown=0xb74aeaa0, lastMouseReceiver=@0xb74aeaa4)
    at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:216
#47 0xb6ca4f56 in QETWidget::translateMouseEvent (this=0x9bba5f8, event=0xbfd68efc) at kernel/qapplication_x11.cpp:4343
#48 0xb6ca4085 in QApplication::x11ProcessEvent (this=0xbfd6d5c8, event=0xbfd68efc) at kernel/qapplication_x11.cpp:3428
#49 0xb6ccf37a in x11EventSourceDispatch (s=0x995c868, callback=0, user_data=0x0) at kernel/qguieventdispatcher_glib.cpp:146
#50 0xb5c3eb88 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#51 0xb5c420eb in ?? () from /usr/lib/libglib-2.0.so.0
#52 0xb5c42268 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#53 0xb67962f8 in QEventDispatcherGlib::processEvents (this=0x993d4d0, flags={i = -1076457288}) at kernel/qeventdispatcher_glib.cpp:327
#54 0xb6ccea75 in QGuiEventDispatcherGlib::processEvents (this=0x993d4d0, flags={i = -1076457240}) at kernel/qguieventdispatcher_glib.cpp:202
#55 0xb67691fa in QEventLoop::processEvents (this=0xbfd6915c, flags={i = -1076457176}) at kernel/qeventloop.cpp:149
#56 0xb6769642 in QEventLoop::exec (this=0xbfd6915c, flags={i = -1076457116}) at kernel/qeventloop.cpp:201
#57 0xb70824a1 in QMenu::exec (this=0x9bba5f8, p=@0xbfd69204, action=0x0) at widgets/qmenu.cpp:1993
#58 0xb708eb7d in QPushButtonPrivate::_q_popupPressed (this=0x9bf29a0) at widgets/qpushbutton.cpp:611
#59 0xb709021f in QPushButton::qt_metacall (this=0x9c035e0, _c=QMetaObject::InvokeMetaMethod, _id=1, _a=0xbfd692c8) at .moc/release-shared/moc_qpushbutton.cpp:74
#60 0xb67801b8 in QMetaObject::activate (sender=0x9c035e0, from_signal_index=27, to_signal_index=27, argv=0x0) at kernel/qobject.cpp:3113
#61 0xb6780e42 in QMetaObject::activate (sender=0x9c035e0, m=0xb74a70a4, local_signal_index=0, argv=0x0) at kernel/qobject.cpp:3187
#62 0xb72bdf37 in QAbstractButton::pressed (this=0x9c035e0) at .moc/release-shared/moc_qabstractbutton.cpp:187
#63 0xb6fe4f99 in QAbstractButtonPrivate::emitPressed (this=0x9bf29a0) at widgets/qabstractbutton.cpp:557
#64 0xb6fe517e in QAbstractButton::mousePressEvent (this=0x9c035e0, e=0xbfd698a8) at widgets/qabstractbutton.cpp:1092
#65 0xb6c83a76 in QWidget::event (this=0x9c035e0, event=0xbfd698a8) at kernel/qwidget.cpp:7545
#66 0xb6fe528e in QAbstractButton::event (this=0x9c035e0, e=0xbfd698a8) at widgets/qabstractbutton.cpp:1077
#67 0xb7090050 in QPushButton::event (this=0x9c035e0, e=0xbfd698a8) at widgets/qpushbutton.cpp:662
#68 0xb6c2cd3c in QApplicationPrivate::notify_helper (this=0x9959680, receiver=0x9c035e0, e=0xbfd698a8) at kernel/qapplication.cpp:4056
#69 0xb6c359b1 in QApplication::notify (this=0xbfd6d5c8, receiver=0x9c035e0, e=0xbfd698a8) at kernel/qapplication.cpp:3758
#70 0xb782685d in KApplication::notify (this=0xbfd6d5c8, receiver=0x9c035e0, event=0xbfd698a8) at /build/buildd/kde4libs-4.3.1/kdeui/kernel/kapplication.cpp:302
#71 0xb676abcb in QCoreApplication::notifyInternal (this=0xbfd6d5c8, receiver=0x9c035e0, event=0xbfd698a8) at kernel/qcoreapplication.cpp:610
#72 0xb6c34a1e in QApplicationPrivate::sendMouseEvent (receiver=0x9c035e0, event=0xbfd698a8, alienWidget=0x9c035e0, nativeWidget=0x9c002b0, buttonDown=0xb74aeaa0, lastMouseReceiver=@0xb74aeaa4)
    at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:216
#73 0xb6ca4cce in QETWidget::translateMouseEvent (this=0x9c002b0, event=0xbfd6af3c) at kernel/qapplication_x11.cpp:4409
#74 0xb6ca4085 in QApplication::x11ProcessEvent (this=0xbfd6d5c8, event=0xbfd6af3c) at kernel/qapplication_x11.cpp:3428
#75 0xb6ccf37a in x11EventSourceDispatch (s=0x995c868, callback=0, user_data=0x0) at kernel/qguieventdispatcher_glib.cpp:146
#76 0xb5c3eb88 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#77 0xb5c420eb in ?? () from /usr/lib/libglib-2.0.so.0
#78 0xb5c42268 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#79 0xb67962f8 in QEventDispatcherGlib::processEvents (this=0x993d4d0, flags={i = -1076449032}) at kernel/qeventdispatcher_glib.cpp:327
#80 0xb6ccea75 in QGuiEventDispatcherGlib::processEvents (this=0x993d4d0, flags={i = -1076448984}) at kernel/qguieventdispatcher_glib.cpp:202
#81 0xb67691fa in QEventLoop::processEvents (this=0xbfd6b19c, flags={i = -1076448920}) at kernel/qeventloop.cpp:149
#82 0xb6769642 in QEventLoop::exec (this=0xbfd6b19c, flags={i = -1076448860}) at kernel/qeventloop.cpp:201
#83 0xb711e723 in QDialog::exec (this=0x9c002b0) at dialogs/qdialog.cpp:498
#84 0x0869e6bd in UMLWidget::showProperties (this=0x9c3e630) at /build/buildd/kdesdk-4.3.1/umbrello/umbrello/widgets/umlwidget.cpp:648
#85 0x086a02f7 in UMLWidget::slotMenuSelection (this=0x9c3e630, action=0x9c3d288) at /build/buildd/kdesdk-4.3.1/umbrello/umbrello/widgets/umlwidget.cpp:292
#86 0x0869d9ea in UMLWidget::qt_metacall (this=0x9c3e630, _c=QMetaObject::InvokeMetaMethod, _id=3, _a=0xbfd6b38c) at /build/buildd/kdesdk-4.3.1/obj-i486-linux-gnu/umbrello/umbrello/umlwidget.moc:87
#87 0xb67801b8 in QMetaObject::activate (sender=0x9c56990, from_signal_index=29, to_signal_index=29, argv=0xbfd6b38c) at kernel/qobject.cpp:3113
#88 0xb6780e42 in QMetaObject::activate (sender=0x9c56990, m=0xb749c048, local_signal_index=2, argv=0xbfd6b38c) at kernel/qobject.cpp:3187
#89 0xb70779b3 in QMenu::triggered (this=0x9c56990, _t1=0x9c3d288) at .moc/release-shared/moc_qmenu.cpp:158
#90 0xb70791bc in QMenuPrivate::_q_actionTriggered (this=0x9af5c38) at widgets/qmenu.cpp:1088
#91 0xb7082116 in QMenu::qt_metacall (this=0x9c56990, _c=QMetaObject::InvokeMetaMethod, _id=8, _a=0xbfd6b52c) at .moc/release-shared/moc_qmenu.cpp:99
#92 0xb791083a in KMenu::qt_metacall (this=0x9c56990, _c=QMetaObject::InvokeMetaMethod, _id=35, _a=0xbfd6b52c) at /build/buildd/kde4libs-4.3.1/obj-i486-linux-gnu/kdeui/kmenu.moc:70
#93 0xb67801b8 in QMetaObject::activate (sender=0x9c3d288, from_signal_index=5, to_signal_index=6, argv=0xbfd6b52c) at kernel/qobject.cpp:3113
#94 0xb67805f0 in QMetaObject::activate (sender=0x9c3d288, m=0xb7495e48, from_local_signal_index=1, to_local_signal_index=2, argv=0xbfd6b52c) at kernel/qobject.cpp:3207
#95 0xb6c266c1 in QAction::triggered (this=0x9c3d288, _t1=false) at .moc/release-shared/moc_qaction.cpp:236
#96 0xb6c27c3f in QAction::activate (this=0x9c3d288, event=QAction::Trigger) at kernel/qaction.cpp:1160
#97 0xb70790e4 in QMenuPrivate::activateCausedStack (this=0x9af5c38, causedStack=@0xbfd6b608, action=0x9c3d288, action_e=QAction::Trigger, self=true) at widgets/qmenu.cpp:967
#98 0xb707f83b in QMenuPrivate::activateAction (this=0x9af5c38, action=0x9c3d288, action_e=QAction::Trigger, self=<value optimized out>) at widgets/qmenu.cpp:1060
#99 0xb7080382 in QMenu::mouseReleaseEvent (this=0x9c56990, e=0xbfd6bc48) at widgets/qmenu.cpp:2254
#100 0xb790f1d5 in KMenu::mouseReleaseEvent (this=0x9c56990, e=0xbfd6bc48) at /build/buildd/kde4libs-4.3.1/kdeui/widgets/kmenu.cpp:456
#101 0xb6c83973 in QWidget::event (this=0x9c56990, event=0xbfd6bc48) at kernel/qwidget.cpp:7549
#102 0xb7082639 in QMenu::event (this=0x9c56990, e=0xbfd6bc48) at widgets/qmenu.cpp:2353
#103 0xb6c2cd3c in QApplicationPrivate::notify_helper (this=0x9959680, receiver=0x9c56990, e=0xbfd6bc48) at kernel/qapplication.cpp:4056
#104 0xb6c359b1 in QApplication::notify (this=0xbfd6d5c8, receiver=0x9c56990, e=0xbfd6bc48) at kernel/qapplication.cpp:3758
#105 0xb782685d in KApplication::notify (this=0xbfd6d5c8, receiver=0x9c56990, event=0xbfd6bc48) at /build/buildd/kde4libs-4.3.1/kdeui/kernel/kapplication.cpp:302
#106 0xb676abcb in QCoreApplication::notifyInternal (this=0xbfd6d5c8, receiver=0x9c56990, event=0xbfd6bc48) at kernel/qcoreapplication.cpp:610
#107 0xb6c34a1e in QApplicationPrivate::sendMouseEvent (receiver=0x9c56990, event=0xbfd6bc48, alienWidget=0x0, nativeWidget=0x9c56990, buttonDown=0xb74aeaa0, lastMouseReceiver=@0xb74aeaa4)
    at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:216
#108 0xb6ca4f56 in QETWidget::translateMouseEvent (this=0x9c56990, event=0xbfd6d2dc) at kernel/qapplication_x11.cpp:4343
#109 0xb6ca4085 in QApplication::x11ProcessEvent (this=0xbfd6d5c8, event=0xbfd6d2dc) at kernel/qapplication_x11.cpp:3428
#110 0xb6ccf37a in x11EventSourceDispatch (s=0x995c868, callback=0, user_data=0x0) at kernel/qguieventdispatcher_glib.cpp:146
#111 0xb5c3eb88 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#112 0xb5c420eb in ?? () from /usr/lib/libglib-2.0.so.0
#113 0xb5c42268 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#114 0xb67962f8 in QEventDispatcherGlib::processEvents (this=0x993d4d0, flags={i = -1076439912}) at kernel/qeventdispatcher_glib.cpp:327
#115 0xb6ccea75 in QGuiEventDispatcherGlib::processEvents (this=0x993d4d0, flags={i = -1076439864}) at kernel/qguieventdispatcher_glib.cpp:202
#116 0xb67691fa in QEventLoop::processEvents (this=0xbfd6d540, flags={i = -1076439800}) at kernel/qeventloop.cpp:149
#117 0xb6769642 in QEventLoop::exec (this=0xbfd6d540, flags={i = -1076439736}) at kernel/qeventloop.cpp:201
#118 0xb676bae9 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:888
#119 0xb6c2cbb7 in QApplication::exec () at kernel/qapplication.cpp:3525
#120 0x086f1985 in main (argc=3, argv=0xbfd6d754) at /build/buildd/kdesdk-4.3.1/umbrello/umbrello/main.cpp:111
Comment 5 Christoph Feck 2010-09-13 13:04:04 UTC
*** Bug 244473 has been marked as a duplicate of this bug. ***
Comment 6 Dario Andres 2010-11-18 00:28:52 UTC
[Comment from a bug triager]
From bug 256532:
- What I was doing when the application crashed:
When I have two entries: orders (id, person_id) and people (id), 
And trying to add constraint (foreign key order.person_id -> people.id)
Then Umbrella crashes

From bug 256618:
-- Information about the crash:
When I add a second foreign key in the ER diagram to a entity it crashes.  I do
not know if it happends because its the second one added.
Comment 7 Dario Andres 2010-11-18 00:29:02 UTC
*** Bug 256449 has been marked as a duplicate of this bug. ***
Comment 8 Dario Andres 2010-11-18 00:29:04 UTC
*** Bug 256532 has been marked as a duplicate of this bug. ***
Comment 9 Dario Andres 2010-11-18 00:29:07 UTC
*** Bug 256618 has been marked as a duplicate of this bug. ***
Comment 10 Dario Andres 2010-11-18 00:29:14 UTC
*** Bug 256814 has been marked as a duplicate of this bug. ***
Comment 11 Thomas Poulsen 2010-11-18 09:40:06 UTC
Affects me too on Ubuntu 9.10.
Comment 12 Dario Andres 2010-11-18 14:05:56 UTC
*** Bug 257239 has been marked as a duplicate of this bug. ***
Comment 13 Michal 2010-11-21 20:06:15 UTC
Created attachment 53617 [details]
New crash information added by DrKonqi

umbrello (2.5.1) on KDE Platform 4.5.1 (KDE 4.5.1) using Qt 4.7.0

- I click proporties on model entity-relationships,
- add Entity constraints
- click ok
- add two Entity constraints
- click ok,
- program crash

-- Backtrace (Reduced):
#7  ref (this=0x5b0001) at /usr/include/qt4/QtCore/qatomic_i386.h:120
#8  QString (this=0x5b0001) at /usr/include/qt4/QtCore/qstring.h:728
#9  UMLObject::getDoc (this=0x5b0001) at ../../../umbrello/umbrello/umlobject.cpp:408
#10 0x080a4255 in ClassifierListPage::slotActivateItem (this=0x8f46af0, item=0x926e4d8) at ../../../umbrello/umbrello/dialogs/classifierlistpage.cpp:354
#11 0x080a7bfc in ClassifierListPage::qt_metacall (this=0x8f46af0, _c=QMetaObject::InvokeMetaMethod, _id=27, _a=0xbfcbfa64) at ./classifierlistpage.moc:94
Comment 14 Dario Andres 2010-12-07 01:20:26 UTC
*** Bug 259062 has been marked as a duplicate of this bug. ***
Comment 15 Dario Andres 2010-12-22 22:30:42 UTC
*** Bug 260942 has been marked as a duplicate of this bug. ***
Comment 16 Bharat 2011-09-22 11:02:49 UTC
Created attachment 63852 [details]
New crash information added by DrKonqi

umbrello (2.5.5) on KDE Platform 4.5.5 (KDE 4.5.5) using Qt 4.7.0

Umbrello crashed while specifying constraints from property window  in ER Diagram

-- Backtrace (Reduced):
#7  ref (this=0x6f0063) at /usr/include/qt4/QtCore/qatomic_i386.h:120
#8  QString (this=0x6f0063) at /usr/include/qt4/QtCore/qstring.h:728
#9  UMLObject::getDoc (this=0x6f0063) at ../../../umbrello/umbrello/umlobject.cpp:408
#10 0x080a4255 in ClassifierListPage::slotActivateItem (this=0xaa8a4f8, item=0xab9b2b8) at ../../../umbrello/umbrello/dialogs/classifierlistpage.cpp:354
#11 0x080a7bfc in ClassifierListPage::qt_metacall (this=0xaa8a4f8, _c=QMetaObject::InvokeMetaMethod, _id=27, _a=0xbfb8f7f4) at ./classifierlistpage.moc:94
Comment 17 Christoph Feck 2012-01-05 17:36:34 UTC
*** Bug 289572 has been marked as a duplicate of this bug. ***
Comment 18 rerere321 2012-04-25 18:33:48 UTC
I have the same issue on archlinux 64 bits && Umbrello 2.8.2 && KDE 4.8.2.

When using Umbrello with PostgreSQL as active langage.
I did some tests and it seems that adding more than 1 constraint on an entity causes a crash.
I tried to add different kind of constraints (foreign key, primary key, check, etc..) and each time
I want to add a second constraint, it crashes.
Comment 19 Arash Abedinzadeh 2012-05-06 22:01:18 UTC
umbrello from KDE 4.8.3-1, Arch Linux x86_64, Kernel 3.3.4-2, gcc 4.7.0 20120414 (prerelease)

same behavior as in comment #18 from rerere321@gmail.com: crash after adding a primary key followed by a foreign key constraint.

In classifierlistpage.cpp:348, there's a call to getItemList().at( relativeItemIndex ). The index is out of bounds.

The problem seems to be in classifierlistpage.cpp:767 where getItemList() is defined. This method calls m_pClassifier->getFilteredList(m_itemType) which then filters out one of the two constraints, probably because of the filter argument.
This results in getItemList() returning a UMLClassifierListItemList that doesn't contain both constraints.

Right before the crash, the situation is likely this:

relativeItemIndex == 1, because the ListWidget indeed has two objects
getItemList() == List with only one element, because one of the added constraints has been filtered out

Thus, calling getItemList().at( relativeItemIndex ) crashes the application.

Unfortunately, I've only looked at a small fraction of the project code. I'm not 100% sure about the getFilteredList() part of my conclusion. Even if I'm right, there is possibly more than one solution and I really can't tell which one is the cleanest.

I attached a workaround anyway. My patch (fix_filtered_object_type_for_classifier_list.diff) adjusts the method definition for getItemList(), adding a default parameter filter = true which activates the current filtering on the list. This should not affect any call of getItemList() in the code but the one in classifierlistpage.cpp:348 which deactivates the filter.

Please give it a test. A better solution would be much appreciated.
Comment 20 Arash Abedinzadeh 2012-05-06 22:03:27 UTC
Created attachment 70909 [details]
Fix for filtered constraint list item

-p1
Comment 21 Jekyll Wu 2012-07-06 00:07:28 UTC
*** Bug 213814 has been marked as a duplicate of this bug. ***
Comment 22 Jekyll Wu 2012-07-06 00:07:40 UTC
*** Bug 264310 has been marked as a duplicate of this bug. ***
Comment 23 John Schneiderman 2013-05-13 04:02:41 UTC
*** This bug has been confirmed by popular vote. ***
Comment 24 John Schneiderman 2013-05-13 04:05:26 UTC
Created attachment 79866 [details]
Megeia 2 Crash Log

This is the crash log I generated while adding a primary key constraint to a table.
Comment 25 Joris Steyn 2013-09-21 20:04:44 UTC
Created attachment 82442 [details]
Fix crash when adding entity constraints

The root cause of this crash is not checking for a valid index when retrieving
the item from the QList. We should at least check that value before calling at().
    
The patch I propose adds this check and also fixes the problem causing the
index to be wrong in the first place (like Arash Abedinzadeh described).
    
This will solve (duplicate) issues: bug 237992, bug 257540, bug 302120 and bug 322541
Comment 26 Andi Fischer 2013-09-23 17:33:15 UTC
Git commit 8eb9a5457ca292712c75ca5efbc4bf5ff2f88afc by Andi Fischer, on behalf of Joris Steyn.
Committed on 23/09/2013 at 17:27.
Pushed by fischer into branch 'master'.

Fix crash when adding entity constraints

The root cause of this crash is not checking for a valid index when retrieving
the item from the QList. We should at least check that value before calling at().

The patch I propose adds this check and also fixes the problem causing the
index to be wrong in the first place (like Arash Abedinzadeh described).
Related: bug 237992, bug 257540, bug 302120, bug 322541

M  +12   -11   umbrello/dialogs/classifierlistpage.cpp
M  +1    -1    umbrello/dialogs/classifierlistpage.h
M  +9    -0    umbrello/dialogs/constraintlistpage.cpp
M  +1    -0    umbrello/dialogs/constraintlistpage.h

http://commits.kde.org/umbrello/8eb9a5457ca292712c75ca5efbc4bf5ff2f88afc
Comment 27 Joris Steyn 2013-11-27 19:03:41 UTC
Git commit 29dbb0f09e083613f2acbab2ca14cb999149bbad by Joris Steyn.
Committed on 23/09/2013 at 17:27.
Pushed by jorissteyn into branch 'KDE/4.11'.

Fix crash when adding entity constraints
Related: bug 237992, bug 257540, bug 302120, bug 322541
FIXED-IN: 4.11.4

Cherry-picked from 8eb9a5457ca292712c75ca5efbc4bf5ff2f88afc.

Conflicts (resolved):
	umbrello/dialogs/classifierlistpage.cpp

M  +11   -10   umbrello/dialogs/classifierlistpage.cpp
M  +1    -1    umbrello/dialogs/classifierlistpage.h
M  +9    -0    umbrello/dialogs/constraintlistpage.cpp
M  +1    -0    umbrello/dialogs/constraintlistpage.h

http://commits.kde.org/umbrello/29dbb0f09e083613f2acbab2ca14cb999149bbad