Bug 257540 - Bug (i don't speak english)
Summary: Bug (i don't speak english)
Status: RESOLVED FIXED
Alias: None
Product: umbrello
Classification: Applications
Component: general (show other bugs)
Version: 2.5.1
Platform: Ubuntu Linux
: NOR crash
Target Milestone: ---
Assignee: Joris Steyn
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-11-21 19:58 UTC by Michal
Modified: 2013-11-27 19:03 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In: 4.11.4


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Michal 2010-11-21 19:58:32 UTC
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
Comment 1 Andi Fischer 2013-09-23 17:33:16 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 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
Comment 2 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 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