Bug 364322 - Umbrello crash
Summary: Umbrello crash
Status: RESOLVED FIXED
Alias: None
Product: umbrello
Classification: Applications
Component: general (show other bugs)
Version: unspecified
Platform: Fedora RPMs Linux
: NOR crash
Target Milestone: ---
Assignee: Umbrello Development Group
URL:
Keywords: drkonqi
Depends on:
Blocks:
 
Reported: 2016-06-14 15:54 UTC by tcarlin
Modified: 2016-07-04 22:38 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In: 2.19.3 (KDE Applications 16.04.3)


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description tcarlin 2016-06-14 15:54:32 UTC
Application: umbrello (2.19.1)
KDE Platform Version: 4.14.20
Qt Version: 4.8.7
Operating System: Linux 4.5.5-201.fc23.x86_64 x86_64
Distribution: "Fedora release 23 (Twenty Three)"

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

Umbrello installed using RPM on Fedora 23

In Diagram Editor, trying to add another use case diagram

-- Backtrace:
Application: Umbrello UML Modeller (umbrello), signal: Segmentation fault
Using host libthread_db library "/lib64/libthread_db.so.1".
84	T_PSEUDO (SYSCALL_SYMBOL, SYSCALL_NAME, SYSCALL_NARGS)
[Current thread is 1 (Thread 0x7f17ea016900 (LWP 16962))]

Thread 2 (Thread 0x7f17c9d74700 (LWP 16967)):
#0  0x00007f17e5747b1d in poll () at ../sysdeps/unix/syscall-template.S:84
#1  0x00007f17e05b318c in g_main_context_iterate.isra () at /lib64/libglib-2.0.so.0
#2  0x00007f17e05b329c in g_main_context_iteration () at /lib64/libglib-2.0.so.0
#3  0x00007f17e6478e7e in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7f17c40008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:452
#4  0x00007f17e6447131 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7f17c9d73c80, flags=...) at kernel/qeventloop.cpp:149
#5  0x00007f17e64474a5 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7f17c9d73c80, flags=...) at kernel/qeventloop.cpp:204
#6  0x00007f17e6336a99 in QThread::exec() (this=this@entry=0x56121a54fd40) at thread/qthread.cpp:538
#7  0x00007f17e6427203 in QInotifyFileSystemWatcherEngine::run() (this=0x56121a54fd40) at io/qfilesystemwatcher_inotify.cpp:265
#8  0x00007f17e633938c in QThreadPrivate::start(void*) (arg=0x56121a54fd40) at thread/qthread_unix.cpp:352
#9  0x00007f17e79c261a in start_thread (arg=0x7f17c9d74700) at pthread_create.c:334
#10 0x00007f17e575359d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 1 (Thread 0x7f17ea016900 (LWP 16962)):
[KCrash Handler]
#6  0x00005612183d8b1d in NoteWidget::setDiagramLink(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >) (this=0x56121a71a850, viewID="h5OViwDV0ElE") at /usr/src/debug/umbrello-16.04.1/umbrello/umlwidgets/notewidget.cpp:180
#7  0x000056121825a04b in UMLDragData::decodeViews(QDomNode&, QList<UMLView*>&) (umlviewsNode=..., diagrams=...) at /usr/src/debug/umbrello-16.04.1/umbrello/clipboard/umldragdata.cpp:836
#8  0x000056121825a7c8 in UMLDragData::decodeClip2(QMimeData const*, UMLObjectList&, QList<UMLView*>&) (mimeData=mimeData@entry=0x56121aac6c40, objects=..., diagrams=...) at /usr/src/debug/umbrello-16.04.1/umbrello/clipboard/umldragdata.cpp:337
#9  0x00005612182516cf in UMLClipboard::pasteClip2(QMimeData const*) (this=this@entry=0x7fff9c96cb70, data=data@entry=0x56121aac6c40) at /usr/src/debug/umbrello-16.04.1/umbrello/clipboard/umlclipboard.cpp:464
#10 0x0000561218253c85 in UMLClipboard::paste(QMimeData const*) (this=this@entry=0x7fff9c96cb70, data=data@entry=0x56121aac6c40) at /usr/src/debug/umbrello-16.04.1/umbrello/clipboard/umlclipboard.cpp:210
#11 0x000056121818c0f8 in UMLApp::slotEditPaste() (this=0x561219e424d0) at /usr/src/debug/umbrello-16.04.1/umbrello/uml.cpp:1743
#12 0x00005612181ab4ba in UMLListView::slotMenuSelection(QAction*, QPoint const&) (this=this@entry=0x56121a45aa60, action=<optimized out>, position=...) at /usr/src/debug/umbrello-16.04.1/umbrello/umllistview.cpp:730
#13 0x00005612181acc24 in UMLListView::contextMenuEvent(QContextMenuEvent*) (this=0x56121a45aa60, event=0x7fff9c96d480) at /usr/src/debug/umbrello-16.04.1/umbrello/umllistview.cpp:2033
#14 0x00007f17e6c54130 in QWidget::event(QEvent*) (this=this@entry=0x56121a45aa60, event=event@entry=0x7fff9c96d480) at kernel/qwidget.cpp:8775
#15 0x00007f17e701911e in QFrame::event(QEvent*) (this=0x56121a45aa60, e=0x7fff9c96d480) at widgets/qframe.cpp:557
#16 0x00007f17e713ea73 in QAbstractItemView::viewportEvent(QEvent*) (this=this@entry=0x56121a45aa60, event=event@entry=0x7fff9c96d480) at itemviews/qabstractitemview.cpp:1644
#17 0x00007f17e71804dc in QTreeView::viewportEvent(QEvent*) (this=0x56121a45aa60, event=0x7fff9c96d480) at itemviews/qtreeview.cpp:1252
#18 0x00007f17e6448a26 in QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) (this=this@entry=0x561219d15770, receiver=receiver@entry=0x56121a45b150, event=event@entry=0x7fff9c96d480) at kernel/qcoreapplication.cpp:1065
#19 0x00007f17e6bfd91c in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=0x561219d15770, receiver=0x56121a45b150, e=0x7fff9c96d480) at kernel/qapplication.cpp:4561
#20 0x00007f17e6c0578c in QApplication::notify(QObject*, QEvent*) (this=this@entry=0x7fff9c96dc90, receiver=receiver@entry=0x56121a45b150, e=e@entry=0x7fff9c96d480) at kernel/qapplication.cpp:4187
#21 0x00007f17e858163a in KApplication::notify(QObject*, QEvent*) (this=0x7fff9c96dc90, receiver=0x56121a45b150, event=0x7fff9c96d480) at /usr/src/debug/kdelibs-4.14.20/kdeui/kernel/kapplication.cpp:311
#22 0x00007f17e64488bd in QCoreApplication::notifyInternal(QObject*, QEvent*) (this=0x7fff9c96dc90, receiver=receiver@entry=0x56121a45b150, event=event@entry=0x7fff9c96d480) at kernel/qcoreapplication.cpp:955
#23 0x00007f17e6c7e8c0 in QETWidget::translateMouseEvent(_XEvent const*) (event=0x7fff9c96d480, receiver=0x56121a45b150) at ../../src/corelib/kernel/qcoreapplication.h:234
#24 0x00007f17e6c7e8c0 in QETWidget::translateMouseEvent(_XEvent const*) (this=this@entry=0x56121a457520, event=event@entry=0x7fff9c96d7b0) at kernel/qapplication_x11.cpp:4551
#25 0x00007f17e6c7d21d in QApplication::x11ProcessEvent(_XEvent*) (this=0x7fff9c96dc90, event=event@entry=0x7fff9c96d7b0) at kernel/qapplication_x11.cpp:3663
#26 0x00007f17e6ca6299 in x11EventSourceDispatch(GSource*, GSourceFunc, gpointer) (s=0x561219d15400, callback=0x0, user_data=0x0) at kernel/qguieventdispatcher_glib.cpp:148
#27 0x00007f17e05b2e5a in g_main_context_dispatch () at /lib64/libglib-2.0.so.0
#28 0x00007f17e05b31f0 in g_main_context_iterate.isra () at /lib64/libglib-2.0.so.0
#29 0x00007f17e05b329c in g_main_context_iteration () at /lib64/libglib-2.0.so.0
#30 0x00007f17e6478e5e in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x561219cdb7c0, flags=...) at kernel/qeventdispatcher_glib.cpp:450
#31 0x00007f17e6ca6436 in QGuiEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=<optimized out>, flags=...) at kernel/qguieventdispatcher_glib.cpp:207
#32 0x00007f17e6447131 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7fff9c96db90, flags=...) at kernel/qeventloop.cpp:149
#33 0x00007f17e64474a5 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7fff9c96db90, flags=...) at kernel/qeventloop.cpp:204
#34 0x00007f17e644d039 in QCoreApplication::exec() () at kernel/qcoreapplication.cpp:1227
#35 0x000056121815ffbc in main(int, char**) (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/umbrello-16.04.1/umbrello/main.cpp:245

Reported using DrKonqi
Comment 1 Oliver Kellogg 2016-06-14 18:30:45 UTC
(In reply to tcarlin from comment #0)
> -- Information about the crash:
> - What I was doing when the application crashed:
> 
> In Diagram Editor, trying to add another use case diagram
> 
> -- Backtrace:
> Application: Umbrello UML Modeller (umbrello), signal: Segmentation fault
> Using host libthread_db library "/lib64/libthread_db.so.1".
> 84	T_PSEUDO (SYSCALL_SYMBOL, SYSCALL_NAME, SYSCALL_NARGS)
> [Current thread is 1 (Thread 0x7f17ea016900 (LWP 16962))]
> 
> Thread 1 (Thread 0x7f17ea016900 (LWP 16962)):
> [KCrash Handler]
> #6  0x00005612183d8b1d in
> NoteWidget::setDiagramLink(std::__cxx11::basic_string<char,
> std::char_traits<char>, std::allocator<char> >) (this=0x56121a71a850,
> viewID="h5OViwDV0ElE") at
> /usr/src/debug/umbrello-16.04.1/umbrello/umlwidgets/notewidget.cpp:180
> #7  0x000056121825a04b in UMLDragData::decodeViews(QDomNode&,
> QList<UMLView*>&) (umlviewsNode=..., diagrams=...) at
> /usr/src/debug/umbrello-16.04.1/umbrello/clipboard/umldragdata.cpp:836
> #8  0x000056121825a7c8 in UMLDragData::decodeClip2(QMimeData const*,
> UMLObjectList&, QList<UMLView*>&) (mimeData=mimeData@entry=0x56121aac6c40,
> objects=..., diagrams=...) at
> /usr/src/debug/umbrello-16.04.1/umbrello/clipboard/umldragdata.cpp:337
> #9  0x00005612182516cf in UMLClipboard::pasteClip2(QMimeData const*)
> (this=this@entry=0x7fff9c96cb70, data=data@entry=0x56121aac6c40) at
> /usr/src/debug/umbrello-16.04.1/umbrello/clipboard/umlclipboard.cpp:464
> #10 0x0000561218253c85 in UMLClipboard::paste(QMimeData const*)
> (this=this@entry=0x7fff9c96cb70, data=data@entry=0x56121aac6c40) at
> /usr/src/debug/umbrello-16.04.1/umbrello/clipboard/umlclipboard.cpp:210
> #11 0x000056121818c0f8 in UMLApp::slotEditPaste() (this=0x561219e424d0) at

To judge by the backtrace, you were using Copy/Paste to create the new diagram?
And apparently you seem to have had a Note with a Diagram Link in the origin diagram?

Please provide the exact steps that you did.
Comment 2 Ralf Habacker 2016-06-14 18:59:39 UTC
> > #6  0x00005612183d8b1d in
> > NoteWidget::setDiagramLink(std::__cxx11::basic_string<char,
> > std::char_traits<char>, std::allocator<char> >) (this=0x56121a71a850, > > viewID="h5OViwDV0ElE") at
> > /usr/src/debug/umbrello-16.04.1/umbrello/umlwidgets/notewidget.cpp:180

> this=0x56121a71a850
This comes from NoteWidget::s_pCurrentNote, which looks to be dangled. I suggest to use QPointer for it.
Comment 3 Ralf Habacker 2016-07-04 22:38:01 UTC
Git commit fa1e78b334a494f7b820bd85f7dcdb4a17b636f8 by Ralf Habacker.
Committed on 04/07/2016 at 22:34.
Pushed by habacker into branch 'Applications/16.04'.

Fix 'Umbrello crash'.
FIXED-IN:2.19.3 (KDE Applications 16.04.3)

M  +1    -1    umbrello/umlwidgets/notewidget.cpp
M  +1    -1    umbrello/umlwidgets/notewidget.h

http://commits.kde.org/umbrello/fa1e78b334a494f7b820bd85f7dcdb4a17b636f8