Bug 398615 - crash exiting kdevelop [OutputWidget::findFilteredView]
Summary: crash exiting kdevelop [OutputWidget::findFilteredView]
Status: RESOLVED FIXED
Alias: None
Product: kdevelop
Classification: Applications
Component: Output Views (show other bugs)
Version: unspecified
Platform: Compiled Sources Linux
: NOR crash
Target Milestone: ---
Assignee: kdevelop-bugs-null
URL: https://phabricator.kde.org/D15326
Keywords: drkonqi
Depends on:
Blocks:
 
Reported: 2018-09-14 12:24 UTC by Jaime Torres
Modified: 2018-09-15 00:28 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Jaime Torres 2018-09-14 12:24:10 UTC
Application: kdevelop (5.3.40)
 (Compiled from sources)
Qt Version: 5.11.1
Frameworks Version: 5.51.0
Operating System: Linux 4.18.5-1-default x86_64
Distribution: "openSUSE Tumbleweed"

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

Exiting Kdevelop after having compiled some code.
probably some signals aren't disconnected before deleting objects.

-- Backtrace:
Application: KDevelop (kdevelop), signal: Segmentation fault
Using host libthread_db library "/lib64/libthread_db.so.1".
28	  return SYSCALL_CANCEL (nanosleep, requested_time, remaining);
[Current thread is 1 (Thread 0x7f910f9cba40 (LWP 30088))]

Thread 8 (Thread 0x7f90ecfe3700 (LWP 30099)):
#0  0x00007f91270e4a4f in QVector<pollfd>::reallocData(int, int, QFlags<QArrayData::AllocationOption>) (this=this@entry=0x7f90e0000bc8, asize=asize@entry=0, aalloc=1, options=options@entry=...) at ../../include/QtCore/../../src/corelib/tools/qarraydata.h:234
#1  0x00007f91270e4422 in QVector<pollfd>::resize(int) (asize=0, this=0x7f90e0000bc8) at ../../include/QtCore/../../src/corelib/tools/qvector.h:424
#2  0x00007f91270e4422 in QVector<pollfd>::clear() (this=0x7f90e0000bc8) at ../../include/QtCore/../../src/corelib/tools/qvector.h:425
#3  0x00007f91270e4422 in QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7f90e0000b20, flags=...) at kernel/qeventdispatcher_unix.cpp:488
#4  0x00007f912709409b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7f90ecfe2b60, flags=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:140
#5  0x00007f9126ee2e96 in QThread::exec() (this=<optimized out>) at ../../include/QtCore/../../src/corelib/global/qflags.h:120
#6  0x00007f9126eeca67 in QThreadPrivate::start(void*) (arg=0x2309750) at thread/qthread_unix.cpp:367
#7  0x00007f9124ced554 in start_thread (arg=<optimized out>) at pthread_create.c:463
#8  0x00007f912661dccf in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 7 (Thread 0x7f90eedaf700 (LWP 30097)):
#0  0x00007f91266133c6 in __GI_ppoll (fds=fds@entry=0x7f90e8000d88, nfds=nfds@entry=1, timeout=<optimized out>, timeout@entry=0x0, sigmask=sigmask@entry=0x0) at ../sysdeps/unix/sysv/linux/ppoll.c:39
#1  0x00007f91270e30a1 in ppoll (__ss=<optimized out>, __timeout=<optimized out>, __nfds=<optimized out>, __fds=<optimized out>) at /usr/include/bits/poll2.h:77
#2  0x00007f91270e30a1 in qt_ppoll (timeout_ts=0x0, nfds=1, fds=0x7f90e8000d88) at kernel/qcore_unix.cpp:112
#3  0x00007f91270e30a1 in qt_safe_poll(pollfd*, unsigned long, timespec const*) (fds=0x7f90e8000d88, nfds=nfds@entry=1, timeout_ts=timeout_ts@entry=0x0) at kernel/qcore_unix.cpp:133
#4  0x00007f91270e4519 in QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=<optimized out>, flags=...) at ../../include/QtCore/../../src/corelib/tools/qarraydata.h:209
#5  0x00007f912709409b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7f90eedaeb60, flags=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:140
#6  0x00007f9126ee2e96 in QThread::exec() (this=<optimized out>) at ../../include/QtCore/../../src/corelib/global/qflags.h:120
#7  0x00007f9126eeca67 in QThreadPrivate::start(void*) (arg=0x7f912b0c1b88 <KDevelop::(anonymous namespace)::Q_QGS_s_parsingThread::innerFunction()::holder+8>) at thread/qthread_unix.cpp:367
#8  0x00007f9124ced554 in start_thread (arg=<optimized out>) at pthread_create.c:463
#9  0x00007f912661dccf in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 6 (Thread 0x7f90ef845700 (LWP 30096)):
#0  0x00007f9124cf34dc in futex_wait_cancelable (private=0, expected=0, futex_word=0x7f90f3983f30) at ../sysdeps/unix/sysv/linux/futex-internal.h:88
#1  0x00007f9124cf34dc in __pthread_cond_wait_common (abstime=0x0, mutex=0x2443320, cond=0x7f90f3983f08) at pthread_cond_wait.c:502
#2  0x00007f9124cf34dc in __pthread_cond_wait (cond=0x7f90f3983f08, mutex=0x2443320) at pthread_cond_wait.c:655
#3  0x00007f9126d5060c in std::condition_variable::wait(std::unique_lock<std::mutex>&) () at /usr/lib64/libstdc++.so.6
#4  0x00007f90f2edbc82 in  () at /usr/lib64/libQt5WebKit.so.5
#5  0x00007f90f2edbd9b in  () at /usr/lib64/libQt5WebKit.so.5
#6  0x00007f9126d55e4f in  () at /usr/lib64/libstdc++.so.6
#7  0x00007f9124ced554 in start_thread (arg=<optimized out>) at pthread_create.c:463
#8  0x00007f912661dccf in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 5 (Thread 0x7f90fcc30700 (LWP 30095)):
#0  0x00007f91266133c6 in __GI_ppoll (fds=fds@entry=0x7f90f4000fb8, nfds=nfds@entry=1, timeout=<optimized out>, timeout@entry=0x7f90fcc2f970, sigmask=sigmask@entry=0x0) at ../sysdeps/unix/sysv/linux/ppoll.c:39
#1  0x00007f91270e2fb0 in ppoll (__ss=<optimized out>, __timeout=<optimized out>, __nfds=<optimized out>, __fds=<optimized out>) at /usr/include/bits/poll2.h:77
#2  0x00007f91270e2fb0 in qt_ppoll (timeout_ts=0x7f90fcc2f970, nfds=1, fds=0x7f90f4000fb8) at kernel/qcore_unix.cpp:112
#3  0x00007f91270e2fb0 in qt_safe_poll(pollfd*, unsigned long, timespec const*) (fds=0x7f90f4000fb8, nfds=nfds@entry=1, timeout_ts=timeout_ts@entry=0x7f90fcc2f9e0) at kernel/qcore_unix.cpp:142
#4  0x00007f91270e4519 in QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=<optimized out>, flags=...) at ../../include/QtCore/../../src/corelib/tools/qarraydata.h:209
#5  0x00007f912709409b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7f90fcc2fb00, flags=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:140
#6  0x00007f9126ee2e96 in QThread::exec() (this=<optimized out>) at ../../include/QtCore/../../src/corelib/global/qflags.h:120
#7  0x00007f9129c51a7c in KDevelop::DUChainPrivate::CleanupThread::run() (this=0x287d400) at /home/jtorres/kdesrc/extragear/kdevelop/kdevelop/kdevplatform/language/duchain/duchain.cpp:286
#8  0x00007f9126eeca67 in QThreadPrivate::start(void*) (arg=0x287d400) at thread/qthread_unix.cpp:367
#9  0x00007f9124ced554 in start_thread (arg=<optimized out>) at pthread_create.c:463
#10 0x00007f912661dccf in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 4 (Thread 0x7f9106e60700 (LWP 30093)):
#0  0x00007f9124cf34dc in futex_wait_cancelable (private=0, expected=0, futex_word=0x1d21bf0) at ../sysdeps/unix/sysv/linux/futex-internal.h:88
#1  0x00007f9124cf34dc in __pthread_cond_wait_common (abstime=0x0, mutex=0x1d21ba0, cond=0x1d21bc8) at pthread_cond_wait.c:502
#2  0x00007f9124cf34dc in __pthread_cond_wait (cond=0x1d21bc8, mutex=0x1d21ba0) at pthread_cond_wait.c:655
#3  0x00007f910715f10b in util_queue_thread_func () at /usr/lib64/dri/i965_dri.so
#4  0x00007f910715ee77 in impl_thrd_routine () at /usr/lib64/dri/i965_dri.so
#5  0x00007f9124ced554 in start_thread (arg=<optimized out>) at pthread_create.c:463
#6  0x00007f912661dccf in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 3 (Thread 0x7f9107fff700 (LWP 30091)):
#0  0x00007f91266133c6 in __GI_ppoll (fds=fds@entry=0x7f91000016f8, nfds=nfds@entry=1, timeout=<optimized out>, timeout@entry=0x0, sigmask=sigmask@entry=0x0) at ../sysdeps/unix/sysv/linux/ppoll.c:39
#1  0x00007f91270e30a1 in ppoll (__ss=<optimized out>, __timeout=<optimized out>, __nfds=<optimized out>, __fds=<optimized out>) at /usr/include/bits/poll2.h:77
#2  0x00007f91270e30a1 in qt_ppoll (timeout_ts=0x0, nfds=1, fds=0x7f91000016f8) at kernel/qcore_unix.cpp:112
#3  0x00007f91270e30a1 in qt_safe_poll(pollfd*, unsigned long, timespec const*) (fds=0x7f91000016f8, nfds=nfds@entry=1, timeout_ts=timeout_ts@entry=0x0) at kernel/qcore_unix.cpp:133
#4  0x00007f91270e4519 in QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=<optimized out>, flags=...) at ../../include/QtCore/../../src/corelib/tools/qarraydata.h:209
#5  0x00007f912709409b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7f9107ffeb30, flags=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:140
#6  0x00007f9126ee2e96 in QThread::exec() (this=<optimized out>) at ../../include/QtCore/../../src/corelib/global/qflags.h:120
#7  0x00007f91285e5545 in  () at /usr/lib64/libQt5DBus.so.5
#8  0x00007f9126eeca67 in QThreadPrivate::start(void*) (arg=0x7f912865fd60) at thread/qthread_unix.cpp:367
#9  0x00007f9124ced554 in start_thread (arg=<optimized out>) at pthread_create.c:463
#10 0x00007f912661dccf in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 2 (Thread 0x7f910d648700 (LWP 30090)):
#0  0x00007f91266132c9 in __GI___poll (fds=0x7f910d647a78, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007f911c36bcc7 in  () at /usr/lib64/libxcb.so.1
#2  0x00007f911c36d8ea in xcb_wait_for_event () at /usr/lib64/libxcb.so.1
#3  0x00007f910dd256d9 in  () at /usr/lib64/libQt5XcbQpa.so.5
#4  0x00007f9126eeca67 in QThreadPrivate::start(void*) (arg=0x1bd8c00) at thread/qthread_unix.cpp:367
#5  0x00007f9124ced554 in start_thread (arg=<optimized out>) at pthread_create.c:463
#6  0x00007f912661dccf in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 1 (Thread 0x7f910f9cba40 (LWP 30088)):
[KCrash Handler]
#6  0x00007f9126f36903 in QHashData::nextNode(QHashData::Node*) (node=0xe058c10) at tools/qhash.cpp:591
#7  0x00007f90ec03a33d in QHash<int, OutputWidget::FilteredView>::iterator::operator++() (this=0x7ffd8a8d3ea0) at /usr/include/qt5/QtCore/qhash.h:329
#8  0x00007f90ec0385d9 in OutputWidget::findFilteredView(QAbstractItemView*) (this=0x6add6c0, view=0x6483290) at /home/jtorres/kdesrc/extragear/kdevelop/kdevelop/plugins/standardoutputview/outputwidget.cpp:688
#9  0x00007f90ec0383ae in OutputWidget::updateFilter(int) (this=0x6add6c0, index=19) at /home/jtorres/kdesrc/extragear/kdevelop/kdevelop/plugins/standardoutputview/outputwidget.cpp:664
#10 0x00007f90ec03bcdd in QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<int>, void, void (OutputWidget::*)(int)>::call(void (OutputWidget::*)(int), OutputWidget*, void**) (f=(void (OutputWidget::*)(OutputWidget * const, int)) 0x7f90ec03833e <OutputWidget::updateFilter(int)>, o=0x6add6c0, arg=0x7ffd8a8d40d0) at /usr/include/qt5/QtCore/qobjectdefs_impl.h:134
#11 0x00007f90ec03b94f in QtPrivate::FunctionPointer<void (OutputWidget::*)(int)>::call<QtPrivate::List<int>, void>(void (OutputWidget::*)(int), OutputWidget*, void**) (f=(void (OutputWidget::*)(OutputWidget * const, int)) 0x7f90ec03833e <OutputWidget::updateFilter(int)>, o=0x6add6c0, arg=0x7ffd8a8d40d0) at /usr/include/qt5/QtCore/qobjectdefs_impl.h:167
#12 0x00007f90ec03b1b7 in QtPrivate::QSlotObject<void (OutputWidget::*)(int), QtPrivate::List<int>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) (which=1, this_=0x6f81b00, r=0x6add6c0, a=0x7ffd8a8d40d0, ret=0x0) at /usr/include/qt5/QtCore/qobjectdefs_impl.h:396
#13 0x00007f91270be760 in QtPrivate::QSlotObjectBase::call(QObject*, void**) (a=0x7ffd8a8d40d0, r=0x6add6c0, this=0x6f81b00) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:376
#14 0x00007f91270be760 in QMetaObject::activate(QObject*, int, int, void**) (sender=0xd3c9490, signalOffset=<optimized out>, local_signal_index=<optimized out>, argv=<optimized out>) at kernel/qobject.cpp:3754
#15 0x00007f9127bd2bae in QStackedWidget::currentChanged(int) () at /usr/lib64/libQt5Widgets.so.5
#16 0x00007f9127bd2ecf in  () at /usr/lib64/libQt5Widgets.so.5
#17 0x00007f91270be60b in QMetaObject::activate(QObject*, int, int, void**) (sender=0x4e05f70, signalOffset=<optimized out>, local_signal_index=<optimized out>, argv=<optimized out>) at kernel/qobject.cpp:3771
#18 0x00007f9127a573e1 in QStackedLayout::currentChanged(int) () at /usr/lib64/libQt5Widgets.so.5
#19 0x00007f9127a5784f in QStackedLayout::setCurrentIndex(int) () at /usr/lib64/libQt5Widgets.so.5
#20 0x00007f9127a57ff2 in QStackedLayout::takeAt(int) () at /usr/lib64/libQt5Widgets.so.5
#21 0x00007f9127a5093f in  () at /usr/lib64/libQt5Widgets.so.5
#22 0x00007f9127a35496 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib64/libQt5Widgets.so.5
#23 0x00007f9127a3cb00 in QApplication::notify(QObject*, QEvent*) () at /usr/lib64/libQt5Widgets.so.5
#24 0x00007f91270953c9 in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=0xd3c9490, event=0x7ffd8a8d4550) at ../../include/QtCore/5.11.1/QtCore/private/../../../../../src/corelib/thread/qthread_p.h:307
#25 0x00007f91270c4a2f in QCoreApplication::sendEvent(QObject*, QEvent*) (event=0x7ffd8a8d4550, receiver=<optimized out>) at kernel/qcoreapplication.h:234
#26 0x00007f91270c4a2f in QObjectPrivate::setParent_helper(QObject*) (this=0x58d2560, o=0x0) at kernel/qobject.cpp:2023
#27 0x00007f91270c5308 in QObject::~QObject() (this=<optimized out>, __in_chrg=<optimized out>) at kernel/qobject.cpp:1034
#28 0x00007f9127a6f190 in QWidget::~QWidget() () at /usr/lib64/libQt5Widgets.so.5
#29 0x00007f912b03f52c in KDevelop::FocusedTreeView::~FocusedTreeView() (this=0xf714f50, __in_chrg=<optimized out>) at /home/jtorres/kdesrc/extragear/kdevelop/kdevelop/kdevplatform/util/focusedtreeview.cpp:47
#30 0x00007f912b03f54e in KDevelop::FocusedTreeView::~FocusedTreeView() (this=0xf714f50, __in_chrg=<optimized out>) at /home/jtorres/kdesrc/extragear/kdevelop/kdevelop/kdevplatform/util/focusedtreeview.cpp:49
#31 0x00007f90ec03babb in QtSharedPointer::CustomDeleter<KDevelop::FocusedTreeView, QtSharedPointer::NormalDeleter>::execute() (this=0x8317cb0) at /usr/include/qt5/QtCore/qsharedpointer_impl.h:195
#32 0x00007f90ec03b641 in QtSharedPointer::ExternalRefCountWithCustomDeleter<KDevelop::FocusedTreeView, QtSharedPointer::NormalDeleter>::deleter(QtSharedPointer::ExternalRefCountData*) (self=0x8317ca0) at /usr/include/qt5/QtCore/qsharedpointer_impl.h:213
#33 0x00007f90ec038b4f in QtSharedPointer::ExternalRefCountData::destroy() (this=0x8317ca0) at /usr/include/qt5/QtCore/qsharedpointer_impl.h:157
#34 0x00007f90ec03b31e in QSharedPointer<QTreeView>::deref(QtSharedPointer::ExternalRefCountData*) (dd=0x8317ca0) at /usr/include/qt5/QtCore/qsharedpointer_impl.h:465
#35 0x00007f90ec03a87e in QSharedPointer<QTreeView>::deref() (this=0x4d83bd0) at /usr/include/qt5/QtCore/qsharedpointer_impl.h:460
#36 0x00007f90ec039844 in QSharedPointer<QTreeView>::~QSharedPointer() (this=0x4d83bd0, __in_chrg=<optimized out>) at /usr/include/qt5/QtCore/qsharedpointer_impl.h:315
#37 0x00007f90ec038e6a in OutputWidget::FilteredView::~FilteredView() (this=0x4d83bd0, __in_chrg=<optimized out>) at /home/jtorres/kdesrc/extragear/kdevelop/kdevelop/plugins/standardoutputview/outputwidget.h:105
#38 0x00007f90ec03af50 in QHashNode<int, OutputWidget::FilteredView>::~QHashNode() (this=0x4d83bc0, __in_chrg=<optimized out>) at /usr/include/qt5/QtCore/qhash.h:149
#39 0x00007f90ec03af74 in QHash<int, OutputWidget::FilteredView>::deleteNode2(QHashData::Node*) (node=0x4d83bc0) at /usr/include/qt5/QtCore/qhash.h:545
#40 0x00007f9126f366c9 in QHashData::free_helper(void (*)(QHashData::Node*)) (this=0x6e2e940, node_delete=0x7f90ec03af54 <QHash<int, OutputWidget::FilteredView>::deleteNode2(QHashData::Node*)>) at tools/qhash.cpp:572
#41 0x00007f90ec03a655 in QHash<int, OutputWidget::FilteredView>::freeData(QHashData*) (this=0x6add6f8, x=0x6e2e940) at /usr/include/qt5/QtCore/qhash.h:585
#42 0x00007f90ec03db80 in QHash<int, OutputWidget::FilteredView>::~QHash() (this=0x6add6f8, __in_chrg=<optimized out>) at /usr/include/qt5/QtCore/qhash.h:254
#43 0x00007f90ec03dae6 in OutputWidget::~OutputWidget() (this=0x6add6c0, __in_chrg=<optimized out>) at /home/jtorres/kdesrc/build/extragear/kdevelop/kdevelop/plugins/standardoutputview/kdevstandardoutputview_autogen/EWIEGA46WW/../../../../../../../../extragear/kdevelop/kdevelop/plugins/standardoutputview/outputwidget.h:49
#44 0x00007f90ec03db2a in OutputWidget::~OutputWidget() (this=0x6add6c0, __in_chrg=<optimized out>) at /home/jtorres/kdesrc/build/extragear/kdevelop/kdevelop/plugins/standardoutputview/kdevstandardoutputview_autogen/EWIEGA46WW/../../../../../../../../extragear/kdevelop/kdevelop/plugins/standardoutputview/outputwidget.h:49
#45 0x00007f91270bc5db in QObjectPrivate::deleteChildren() (this=0xd6aa470) at kernel/qobject.cpp:1997
#46 0x00007f9127a6f106 in QWidget::~QWidget() () at /usr/lib64/libQt5Widgets.so.5
#47 0x00007f9127b78459 in QMainWindow::~QMainWindow() () at /usr/lib64/libQt5Widgets.so.5
#48 0x00007f91270bc5db in QObjectPrivate::deleteChildren() (this=0xec22e50) at kernel/qobject.cpp:1997
#49 0x00007f9127a6f106 in QWidget::~QWidget() () at /usr/lib64/libQt5Widgets.so.5
#50 0x00007f912b14b080 in Sublime::IdealDockWidget::~IdealDockWidget() (this=0xcbf3640, __in_chrg=<optimized out>) at /home/jtorres/kdesrc/extragear/kdevelop/kdevelop/kdevplatform/sublime/idealdockwidget.cpp:66
#51 0x00007f912b14b0a2 in Sublime::IdealDockWidget::~IdealDockWidget() (this=0xcbf3640, __in_chrg=<optimized out>) at /home/jtorres/kdesrc/extragear/kdevelop/kdevelop/kdevplatform/sublime/idealdockwidget.cpp:68
#52 0x00007f91270bc5db in QObjectPrivate::deleteChildren() (this=0x1bd8610) at kernel/qobject.cpp:1997
#53 0x00007f9127a6f106 in QWidget::~QWidget() () at /usr/lib64/libQt5Widgets.so.5
#54 0x00007f9128c5b19f in KMainWindow::~KMainWindow() (this=0x20dc570, __in_chrg=<optimized out>) at /home/jtorres/kdesrc/frameworks/kxmlgui/src/kmainwindow.cpp:393
#55 0x00007f9128c9ea82 in KXmlGuiWindow::~KXmlGuiWindow() (this=0x20dc570, __vtt_parm=0x7f912af9c840 <VTT for KDevelop::MainWindow+24>, __in_chrg=<optimized out>) at /home/jtorres/kdesrc/frameworks/kxmlgui/src/kxmlguiwindow.cpp:111
#56 0x00007f9129661986 in KParts::MainWindow::~MainWindow() (this=0x20dc570, __vtt_parm=0x7f912af9c838 <VTT for KDevelop::MainWindow+16>, __in_chrg=<optimized out>) at /home/jtorres/kdesrc/frameworks/kparts/src/mainwindow.cpp:73
#57 0x00007f912b12f853 in Sublime::MainWindow::~MainWindow() (this=0x20dc570, __vtt_parm=0x7f912af9c830 <VTT for KDevelop::MainWindow+8>, __in_chrg=<optimized out>) at /home/jtorres/kdesrc/extragear/kdevelop/kdevelop/kdevplatform/sublime/mainwindow.cpp:71
#58 0x00007f912adc5af0 in KDevelop::MainWindow::~MainWindow() (this=0x20dc570, __in_chrg=<optimized out>, __vtt_parm=<optimized out>) at /home/jtorres/kdesrc/extragear/kdevelop/kdevelop/kdevplatform/shell/mainwindow.cpp:155
#59 0x00007f912adc5b68 in KDevelop::MainWindow::~MainWindow() (this=0x20dc570, __in_chrg=<optimized out>, __vtt_parm=<optimized out>) at /home/jtorres/kdesrc/extragear/kdevelop/kdevelop/kdevplatform/shell/mainwindow.cpp:163
#60 0x00007f91270beee0 in QObject::event(QEvent*) (this=0x20dc570, e=<optimized out>) at kernel/qobject.cpp:1242
#61 0x00007f9127a73c9b in QWidget::event(QEvent*) () at /usr/lib64/libQt5Widgets.so.5
#62 0x00007f9127b79f94 in QMainWindow::event(QEvent*) () at /usr/lib64/libQt5Widgets.so.5
#63 0x00007f9128c5d2bb in KMainWindow::event(QEvent*) (this=0x20dc570, ev=0x672b590) at /home/jtorres/kdesrc/frameworks/kxmlgui/src/kmainwindow.cpp:869
#64 0x00007f9128c9ec18 in KXmlGuiWindow::event(QEvent*) (this=0x20dc570, ev=0x672b590) at /home/jtorres/kdesrc/frameworks/kxmlgui/src/kxmlguiwindow.cpp:119
#65 0x00007f912adc6031 in KDevelop::MainWindow::event(QEvent*) (this=0x20dc570, ev=0x672b590) at /home/jtorres/kdesrc/extragear/kdevelop/kdevelop/kdevplatform/shell/mainwindow.cpp:213
#66 0x00007f9127a354b1 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib64/libQt5Widgets.so.5
#67 0x00007f9127a3cb00 in QApplication::notify(QObject*, QEvent*) () at /usr/lib64/libQt5Widgets.so.5
#68 0x00007f91270953c9 in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=0x20dc570, event=0x672b590) at ../../include/QtCore/5.11.1/QtCore/private/../../../../../src/corelib/thread/qthread_p.h:307
#69 0x00007f91270983bb in QCoreApplication::sendEvent(QObject*, QEvent*) (event=0x672b590, receiver=<optimized out>) at kernel/qcoreapplication.h:234
#70 0x00007f91270983bb in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) (receiver=0x0, event_type=0, data=0x1b8b800) at kernel/qcoreapplication.cpp:1745
#71 0x00007f91270e438b in QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x1c6c490, flags=...) at kernel/qeventdispatcher_unix.cpp:466
#72 0x00007f910ddb82dd in  () at /usr/lib64/libQt5XcbQpa.so.5
#73 0x00007f912709409b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7ffd8a8d5310, flags=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:140
#74 0x00007f912709c212 in QCoreApplication::exec() () at ../../include/QtCore/../../src/corelib/global/qflags.h:120
#75 0x0000000000413657 in main(int, char**) (argc=1, argv=0x7ffd8a8d6e48) at /home/jtorres/kdesrc/extragear/kdevelop/kdevelop/app/main.cpp:849

Reported using DrKonqi
Comment 1 Kevin Funk 2018-09-14 15:56:27 UTC
This is already being worked on, I think: 
  https://phabricator.kde.org/D15326
Comment 2 Anton Anikin 2018-09-15 00:28:48 UTC
Git commit f856a9a63910a7e9f2fbcbcd63f85100599805ae by Anton Anikin.
Committed on 15/09/2018 at 00:26.
Pushed by antonanikin into branch 'master'.

Fix segfaults in OutputWidget

Summary:
This patch fixes regressions provided by D14931.

Steps to reproduce (my system is neon/bionic with Qt 5.11.1 and KDevelop/master):

1) Start KDevelop and load some project
2) Start project build
3) Close KDevelop
4) Segfault happens

Main problems:

1) Incorrect signal processing. `OutputWidget::updateFilter()` slot is called from parent's destructor when `m_tabwidget`/`m_stackwidget` is deleted so we have destroyed `m_views` hash and segfault as a result.

2) Incorrect `QSharedPointer` usage. All handled objects have `QWidget` as a parent so we have double-free problem and and segfault as a result.

Test Plan: Tested on different output widgets (`KDevelop::IOutputView::OneView/HistoryView/MultipleView`) with no segfaults. All our `QTreeView`/`QSortFilterProxyModel` objects are deleted (no memory leaks).

Reviewers: #kdevelop, kossebau

Reviewed By: #kdevelop, kossebau

Subscribers: kfunk, kossebau, vkorneev, kdevelop-devel

Tags: #kdevelop

Differential Revision: https://phabricator.kde.org/D15326

M  +35   -26   plugins/standardoutputview/outputwidget.cpp
M  +5    -4    plugins/standardoutputview/outputwidget.h

https://commits.kde.org/kdevelop/f856a9a63910a7e9f2fbcbcd63f85100599805ae