Application: umbrello (2.5.1) KDE Platform Version: 4.5.1 (KDE 4.5.1) Qt Version: 4.7.0 Operating System: Linux 2.6.31-20-generic i686 Distribution: Ubuntu 10.10 -- Information about the crash: - What I was doing when the application crashed: Error when trying to add more than a few restrictions on the model entity-relationships. The error occurs every time. You can add such a master key, and end restrictions. The crash can be reproduced every time. -- Backtrace: Application: Umbrello UML Modeller (umbrello), signal: Segmentation fault [Current thread is 1 (Thread 0xb7739930 (LWP 6531))] Thread 2 (Thread 0xb734fb70 (LWP 6532)): #0 0x00293422 in __kernel_vsyscall () #1 0x00825df6 in __poll (fds=0x8bcff4, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:87 #2 0x01af3a1b in g_poll () from /lib/libglib-2.0.so.0 #3 0x01ae643c in ?? () from /lib/libglib-2.0.so.0 #4 0x01ae6ba7 in g_main_loop_run () from /lib/libglib-2.0.so.0 #5 0x068859c4 in ?? () from /usr/lib/libgio-2.0.so.0 #6 0x01b0d48f in ?? () from /lib/libglib-2.0.so.0 #7 0x00299cc9 in start_thread (arg=0xb734fb70) at pthread_create.c:304 #8 0x0083469e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130 Thread 1 (Thread 0xb7739930 (LWP 6531)): [KCrash Handler] #7 __memcpy_ia32 () at ../sysdeps/i386/i686/multiarch/../memcpy.S:100 #8 0x015dd78d in QString::realloc (this=0x9daf009a, alloc=167345984) at /usr/include/bits/string3.h:52 #9 0x015dd8c6 in QString::realloc (this=0xbff00644) at tools/qstring.cpp:1293 #10 0x07341324 in detach (fnt=..., _r=<value optimized out>, tf=17408, option=0x0, str=..., brect=0xbff007b8, tabstops=0, tabarraylen=0, painter=0x0) at ../../include/QtCore/../../src/corelib/tools/qstring.h:717 #11 operator= (fnt=..., _r=<value optimized out>, tf=17408, option=0x0, str=..., brect=0xbff007b8, tabstops=0, tabarraylen=0, painter=0x0) at ../../include/QtCore/../../src/corelib/tools/qstring.h:801 #12 operator= (fnt=..., _r=<value optimized out>, tf=17408, option=0x0, str=..., brect=0xbff007b8, tabstops=0, tabarraylen=0, painter=0x0) at ../../include/QtCore/../../src/corelib/tools/qstring.h:815 #13 qt_format_text (fnt=..., _r=<value optimized out>, tf=17408, option=0x0, str=..., brect=0xbff007b8, tabstops=0, tabarraylen=0, painter=0x0) at painting/qpainter.cpp:7946 #14 0x07342361 in qt_format_text (fnt=..., _r=..., tf=17408, str=..., brect=0xbff007b8, tabstops=0, ta=0x0, tabarraylen=0, painter=0x0) at painting/qpainter.cpp:7876 #15 0x0743e6bb in QFontMetrics::boundingRect (this=0xbff0094c, rect=..., flags=1024, text=..., tabStops=0, tabArray=0x0) at text/qfontmetrics.cpp:798 #16 0x0764f06f in boundingRect (this=0x9e85938, w=2000) at ../../include/QtGui/../../src/gui/text/qfontmetrics.h:103 #17 QLabelPrivate::sizeForWidth (this=0x9e85938, w=2000) at widgets/qlabel.cpp:689 #18 0x0764f4d6 in QLabel::minimumSizeHint (this=0x9e9bfb0) at widgets/qlabel.cpp:899 #19 0x0720255b in qSmartMinSize (w=0x9e9bfb0) at kernel/qlayoutengine.cpp:383 #20 0x076b73ac in QStatusBar::reformat (this=0x9e5d870) at widgets/qstatusbar.cpp:564 #21 0x00f1e3a9 in KStatusBar::changeItem (this=0x9e5d870, text=..., id=1) at ../../kdeui/widgets/kstatusbar.cpp:173 #22 0x085ac698 in UMLApp::slotStatusMsg (this=0x9dd7520, text=...) at ../../../umbrello/umbrello/uml.cpp:1306 #23 0x085b1288 in UMLApp::setCurrentView (this=0x9dd7520, view=0x9e35220) at ../../../umbrello/umbrello/uml.cpp:2555 #24 0x085c2dc6 in UMLDoc::changeCurrentView (this=0x9e53078, id=...) at ../../../umbrello/umbrello/umldoc.cpp:1375 #25 0x085ac982 in UMLApp::slotTabChanged (this=0x9dd7520, tab=0x9e35220) at ../../../umbrello/umbrello/uml.cpp:2599 #26 0x085bd6cf in UMLApp::qt_metacall (this=0x9dd7520, _c=QMetaObject::InvokeMetaMethod, _id=70, _a=0xbff00e88) at ./uml.moc:303 #27 0x016998ca in QMetaObject::metacall (object=0x9dd7520, cl=81939328, idx=116, argv=0xbff00e88) at kernel/qmetaobject.cpp:237 #28 0x016ac6ad in QMetaObject::activate (sender=0x9f0e750, m=0x7b4eb64, local_signal_index=2, argv=0xbff00644) at kernel/qobject.cpp:3280 #29 0x076c46f3 in QTabWidget::currentChanged (this=0x9f0e750, _t1=0x9e35220) at .moc/release-shared/moc_qtabwidget.cpp:214 #30 0x076c69c5 in QTabWidgetPrivate::_q_showTab (this=0x9f14130, index=0) at widgets/qtabwidget.cpp:738 #31 0x076c6c62 in QTabWidget::qt_metacall (this=0x9f0e750, _c=QMetaObject::InvokeMetaMethod, _id=9, _a=0xbff01038) at .moc/release-shared/moc_qtabwidget.cpp:142 #32 0x00f22fba in KTabWidget::qt_metacall (this=0x9f0e750, _c=QMetaObject::InvokeMetaMethod, _id=36, _a=0xbff01038) at ./ktabwidget.moc:128 #33 0x016998ca in QMetaObject::metacall (object=0x9f0e750, cl=81939328, idx=36, argv=0xbff01038) at kernel/qmetaobject.cpp:237 #34 0x016ac6ad in QMetaObject::activate (sender=0x9f12f40, m=0x7b4e9a4, local_signal_index=0, argv=0xbff00644) at kernel/qobject.cpp:3280 #35 0x076b9a83 in QTabBar::currentChanged (this=0x9f12f40, _t1=0) at .moc/release-shared/moc_qtabbar.cpp:201 #36 0x076befff in QTabBar::setCurrentIndex (this=0x9f12f40, index=0) at widgets/qtabbar.cpp:1225 #37 0x076c2fe2 in QTabBar::insertTab (this=0x9f12f40, index=0, icon=..., text=...) at widgets/qtabbar.cpp:852 #38 0x076c65cd in QTabWidget::insertTab (this=0x9f0e750, index=0, w=0x9e35220, icon=..., label=...) at widgets/qtabwidget.cpp:456 #39 0x076c6649 in QTabWidget::insertTab (this=0x9f0e750, index=-1, w=0x9e35220, label=...) at widgets/qtabwidget.cpp:435 #40 0x076c66b3 in QTabWidget::addTab (this=0x9f0e750, child=0x9e35220, label=...) at widgets/qtabwidget.cpp:381 #41 0x085b14f0 in UMLApp::setCurrentView (this=0x9dd7520, view=0x9e35220) at ../../../umbrello/umbrello/uml.cpp:2542 #42 0x085cc8da in UMLDoc::addView (this=0x9e53078, view=0x9e35220) at ../../../umbrello/umbrello/umldoc.cpp:173 #43 0x085d384d in UMLDoc::createDiagram (this=0x9e53078, folder=0x9e53700, type=Uml::dt_Class, askForName=false) at ../../../umbrello/umbrello/umldoc.cpp:1249 #44 0x085d5a8c in UMLDoc::newDocument (this=0x9e53078) at ../../../umbrello/umbrello/umldoc.cpp:375 #45 0x085bc995 in UMLApp::newDocument (this=0x9dd7520) at ../../../umbrello/umbrello/uml.cpp:2506 #46 0x0858a7de in initDocument (args=0x9c68900) at ../../../umbrello/umbrello/main.cpp:132 #47 0x0858b6ac in main (argc=3, argv=0xbff019c4) at ../../../umbrello/umbrello/main.cpp:98 Reported using DrKonqi
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 191396, bug 237992, 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
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 191396, bug 237992, 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