Bug 323773

Summary: Umbrello crashed when navigating the command history
Product: [Applications] umbrello Reporter: Gerald Senarclens de Grancy <oss>
Component: generalAssignee: Umbrello Development Group <umbrello-devel>
Status: RESOLVED FIXED    
Severity: crash CC: kde, OR-tech, oss, ralf.habacker
Priority: NOR Keywords: drkonqi
Version: 2.11.0   
Target Milestone: ---   
Platform: Ubuntu   
OS: Linux   
Latest Commit: Version Fixed In: 4.13.0
Sentry Crash Report:
Attachments: New crash information added by DrKonqi

Description Gerald Senarclens de Grancy 2013-08-20 12:44:21 UTC
Application: umbrello (2.11.0)
KDE Platform Version: 4.11.00
Qt Version: 4.8.4
Operating System: Linux 3.8.0-27-generic x86_64
Distribution: Ubuntu 13.04

-- Information about the crash:
- What I was doing when the application crashed:

1 added a few classes
2 edited the classes
3 clicked <empty> in the command history
4 clicked on another state in the command history

note: The crash did reproduce only occasionally - sometimes when clicking on <empty>, sometimes when continuing to navigate and sometimes not at all.

The crash can be reproduced sometimes.

-- Backtrace:
Application: Umbrello UML Modeller (umbrello), signal: Segmentation fault
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[Current thread is 1 (Thread 0x7f0a1080d7c0 (LWP 26160))]

Thread 2 (Thread 0x7f09ff32c700 (LWP 26161)):
#0  0x00007f0a09ace349 in g_main_context_acquire () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#1  0x00007f0a09acf0b4 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f0a09acf304 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f0a0e689036 in QEventDispatcherGlib::processEvents (this=0x7f09f80008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:426
#4  0x00007f0a0e65938f in QEventLoop::processEvents (this=this@entry=0x7f09ff32bd90, flags=...) at kernel/qeventloop.cpp:149
#5  0x00007f0a0e659618 in QEventLoop::exec (this=this@entry=0x7f09ff32bd90, flags=...) at kernel/qeventloop.cpp:204
#6  0x00007f0a0e55b410 in QThread::exec (this=this@entry=0x2342330) at thread/qthread.cpp:542
#7  0x00007f0a0e63aedf in QInotifyFileSystemWatcherEngine::run (this=0x2342330) at io/qfilesystemwatcher_inotify.cpp:256
#8  0x00007f0a0e55dbec in QThreadPrivate::start (arg=0x2342330) at thread/qthread_unix.cpp:338
#9  0x00007f0a0ca39f8e in start_thread (arg=0x7f09ff32c700) at pthread_create.c:311
#10 0x00007f0a0cd48e1d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113

Thread 1 (Thread 0x7f0a1080d7c0 (LWP 26160)):
[KCrash Handler]
#6  deref (this=0x17500000004) at ../../include/QtCore/../../src/corelib/arch/qatomic_x86_64.h:133
#7  QString::operator= (this=this@entry=0x2d06280, other=...) at tools/qstring.cpp:1411
#8  0x000000000076ef3d in UMLObject::setNameCmd (this=0x2d06250, strName=...) at ../../umbrello/umlobject.cpp:178
#9  0x00007f0a0e051daf in QUndoStack::setIndex (this=<optimized out>, idx=0) at util/qundostack.cpp:782
#10 0x00007f0a0e053869 in QUndoModel::setStackCurrentIndex (this=0x2683670, index=...) at util/qundoview.cpp:160
#11 0x00007f0a0e66f0ef in QMetaObject::activate (sender=sender@entry=0x2683b70, m=m@entry=0x7f0a0e4bf940 <QItemSelectionModel::staticMetaObject>, local_signal_index=local_signal_index@entry=1, argv=argv@entry=0x7fff58a37f10) at kernel/qobject.cpp:3539
#12 0x00007f0a0df5f6ea in QItemSelectionModel::currentChanged (this=this@entry=0x2683b70, _t1=..., _t2=...) at .moc/release-shared/moc_qitemselectionmodel.cpp:173
#13 0x00007f0a0df5f7d9 in QItemSelectionModel::setCurrentIndex (this=0x2683b70, index=..., command=...) at itemviews/qitemselectionmodel.cpp:1175
#14 0x00007f0a0df0ff7a in QAbstractItemView::mousePressEvent (this=0x2680330, event=<optimized out>) at itemviews/qabstractitemview.cpp:1682
#15 0x00007f0a0da4da70 in QWidget::event (this=this@entry=0x2680330, event=event@entry=0x7fff58a38c50) at kernel/qwidget.cpp:8371
#16 0x00007f0a0de00486 in QFrame::event (this=0x2680330, e=0x7fff58a38c50) at widgets/qframe.cpp:557
#17 0x00007f0a0df16a2b in QAbstractItemView::viewportEvent (this=0x2680330, event=0x7fff58a38c50) at itemviews/qabstractitemview.cpp:1644
#18 0x00007f0a0e65a7a6 in QCoreApplicationPrivate::sendThroughObjectEventFilters (this=this@entry=0x218ace0, receiver=receiver@entry=0x26813c0, event=event@entry=0x7fff58a38c50) at kernel/qcoreapplication.cpp:1056
#19 0x00007f0a0da008bc in QApplicationPrivate::notify_helper (this=this@entry=0x218ace0, receiver=receiver@entry=0x26813c0, e=e@entry=0x7fff58a38c50) at kernel/qapplication.cpp:4563
#20 0x00007f0a0da03a33 in QApplication::notify (this=this@entry=0x7fff58a39a60, receiver=receiver@entry=0x26813c0, e=e@entry=0x7fff58a38c50) at kernel/qapplication.cpp:4110
#21 0x00007f0a0f2f7916 in KApplication::notify (this=0x7fff58a39a60, receiver=0x26813c0, event=0x7fff58a38c50) at ../../kdeui/kernel/kapplication.cpp:311
#22 0x00007f0a0e65a63e in QCoreApplication::notifyInternal (this=0x7fff58a39a60, receiver=receiver@entry=0x26813c0, event=event@entry=0x7fff58a38c50) at kernel/qcoreapplication.cpp:946
#23 0x00007f0a0da06933 in sendEvent (event=<optimized out>, receiver=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:231
#24 QApplicationPrivate::sendMouseEvent (receiver=receiver@entry=0x26813c0, event=event@entry=0x7fff58a38c50, alienWidget=alienWidget@entry=0x26813c0, nativeWidget=nativeWidget@entry=0x2675f00, buttonDown=buttonDown@entry=0x7f0a0e4de308 <qt_button_down>, lastMouseReceiver=..., spontaneous=spontaneous@entry=true) at kernel/qapplication.cpp:3178
#25 0x00007f0a0da7be54 in QETWidget::translateMouseEvent (this=this@entry=0x2675f00, event=event@entry=0x7fff58a393d0) at kernel/qapplication_x11.cpp:4631
#26 0x00007f0a0da7ae81 in QApplication::x11ProcessEvent (this=0x7fff58a39a60, event=event@entry=0x7fff58a393d0) at kernel/qapplication_x11.cpp:3746
#27 0x00007f0a0daa6042 in x11EventSourceDispatch (s=0x2177f70, callback=0x0, user_data=0x0) at kernel/qguieventdispatcher_glib.cpp:146
#28 0x00007f0a09acef05 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#29 0x00007f0a09acf248 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#30 0x00007f0a09acf304 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#31 0x00007f0a0e689016 in QEventDispatcherGlib::processEvents (this=0x2153760, flags=...) at kernel/qeventdispatcher_glib.cpp:424
#32 0x00007f0a0daa613e in QGuiEventDispatcherGlib::processEvents (this=<optimized out>, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#33 0x00007f0a0e65938f in QEventLoop::processEvents (this=this@entry=0x7fff58a397a0, flags=...) at kernel/qeventloop.cpp:149
#34 0x00007f0a0e659618 in QEventLoop::exec (this=this@entry=0x7fff58a397a0, flags=...) at kernel/qeventloop.cpp:204
#35 0x00007f0a0e65ecf6 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1218
#36 0x00007f0a0d9feffc in QApplication::exec () at kernel/qapplication.cpp:3828
#37 0x000000000043885b in main (argc=1, argv=0x7fff58a39bb8) at ../../umbrello/main.cpp:111

Possible duplicates by query: bug 293550.

Reported using DrKonqi
Comment 1 Gerald Senarclens de Grancy 2013-08-20 12:49:26 UTC
Created attachment 81803 [details]
New crash information added by DrKonqi

umbrello (2.11.0) on KDE Platform 4.11.00 using Qt 4.8.4

Apparently, the crash also happens when using the "undo" and "redo" buttons.

-- Backtrace (Reduced):
#6  QGraphicsItemPrivate::invalidateParentGraphicsEffectsRecursively (this=<optimized out>) at graphicsview/qgraphicsitem.cpp:5387
#7  0x00007ff8e8b5f798 in update (rect=..., this=0x2b050a0) at graphicsview/qgraphicsitem.cpp:5694
#8  QGraphicsItem::update (this=this@entry=0x2b050a0, rect=...) at graphicsview/qgraphicsitem.cpp:5687
#9  0x00000000006ac874 in UMLWidget::setTextColorcmd (this=0x2b05090, color=...) at ../../umbrello/widgets/umlwidget.cpp:533
#10 0x00007ff8e8bede40 in QUndoStack::redo (this=<optimized out>) at util/qundostack.cpp:726
Comment 2 Jekyll Wu 2013-10-07 01:19:40 UTC
*** Bug 293550 has been marked as a duplicate of this bug. ***
Comment 3 Ralf Habacker 2013-11-12 22:34:24 UTC
do not happen with 2.11.2 and qt 4.8.5. Undo framework is known to be broken and needs a refactoring. As a workaround you may disable undo in umbrello general settings.