Bug 384162 - Crash just after switching session [KDevelop::ProjectChangesModel::repositoryBranchChanged]
Summary: Crash just after switching session [KDevelop::ProjectChangesModel::repository...
Status: RESOLVED FIXED
Alias: None
Product: kdevelop
Classification: Applications
Component: general (show other bugs)
Version: 5.1.1
Platform: Mageia RPMs Linux
: NOR crash
Target Milestone: ---
Assignee: kdevelop-bugs-null
URL: https://phabricator.kde.org/D8852
Keywords: drkonqi, junior-jobs
Depends on:
Blocks:
 
Reported: 2017-08-30 06:19 UTC by Stuart Morgan
Modified: 2018-04-09 18:46 UTC (History)
3 users (show)

See Also:
Latest Commit:
Version Fixed In: 5.2.1


Attachments
backtrace (24.99 KB, text/plain)
2017-11-16 12:49 UTC, David Faure
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Stuart Morgan 2017-08-30 06:19:16 UTC
Application: kdevelop (5.1.1)

Qt Version: 5.6.2
Frameworks Version: 5.32.0
Operating System: Linux 4.9.43-desktop-1.mga6 x86_64
Distribution: "Mageia 6"

-- Information about the crash:
- What I was doing when the application crashed:
I changed from one session to another, a few seconds later the instance crashed. Upon restarting it opened the old session again, and every time I attempt to switch to the desired session it will again crash.

The crash can be reproduced every time.

-- Backtrace:
Application: KDevelop (kdevelop), signal: Segmentation fault
Using host libthread_db library "/lib64/libthread_db.so.1".
[Current thread is 1 (Thread 0x7f3dc56c7800 (LWP 10341))]

Thread 24 (Thread 0x7f3d567fc700 (LWP 10549)):
#0  0x00007f3dd8550ff8 in pthread_cond_timedwait@@GLIBC_2.3.2 () at /lib64/libpthread.so.0
#1  0x00007f3ddec8bd46 in QWaitCondition::wait(QMutex*, unsigned long) () at /lib64/libQt5Core.so.5
#2  0x00007f3ddec87764 in QThreadPoolThread::run() () at /lib64/libQt5Core.so.5
#3  0x00007f3ddec8aff9 in QThreadPrivate::start(void*) () at /lib64/libQt5Core.so.5
#4  0x00007f3dd854b66d in start_thread () at /lib64/libpthread.so.0
#5  0x00007f3dde5a3e4d in clone () at /lib64/libc.so.6

Thread 23 (Thread 0x7f3d56ffd700 (LWP 10548)):
#0  0x00007f3dd8550ff8 in pthread_cond_timedwait@@GLIBC_2.3.2 () at /lib64/libpthread.so.0
#1  0x00007f3ddec8bd46 in QWaitCondition::wait(QMutex*, unsigned long) () at /lib64/libQt5Core.so.5
#2  0x00007f3ddec87764 in QThreadPoolThread::run() () at /lib64/libQt5Core.so.5
#3  0x00007f3ddec8aff9 in QThreadPrivate::start(void*) () at /lib64/libQt5Core.so.5
#4  0x00007f3dd854b66d in start_thread () at /lib64/libpthread.so.0
#5  0x00007f3dde5a3e4d in clone () at /lib64/libc.so.6

Thread 22 (Thread 0x7f3d577fe700 (LWP 10547)):
#0  0x00007f3dd8550ff8 in pthread_cond_timedwait@@GLIBC_2.3.2 () at /lib64/libpthread.so.0
#1  0x00007f3ddec8bd46 in QWaitCondition::wait(QMutex*, unsigned long) () at /lib64/libQt5Core.so.5
#2  0x00007f3ddec87764 in QThreadPoolThread::run() () at /lib64/libQt5Core.so.5
#3  0x00007f3ddec8aff9 in QThreadPrivate::start(void*) () at /lib64/libQt5Core.so.5
#4  0x00007f3dd854b66d in start_thread () at /lib64/libpthread.so.0
#5  0x00007f3dde5a3e4d in clone () at /lib64/libc.so.6

Thread 21 (Thread 0x7f3d57fff700 (LWP 10546)):
#0  0x00007f3dd8550ff8 in pthread_cond_timedwait@@GLIBC_2.3.2 () at /lib64/libpthread.so.0
#1  0x00007f3ddec8bd46 in QWaitCondition::wait(QMutex*, unsigned long) () at /lib64/libQt5Core.so.5
#2  0x00007f3ddec87764 in QThreadPoolThread::run() () at /lib64/libQt5Core.so.5
#3  0x00007f3ddec8aff9 in QThreadPrivate::start(void*) () at /lib64/libQt5Core.so.5
#4  0x00007f3dd854b66d in start_thread () at /lib64/libpthread.so.0
#5  0x00007f3dde5a3e4d in clone () at /lib64/libc.so.6

Thread 20 (Thread 0x7f3d74ff9700 (LWP 10545)):
#0  0x00007f3dd8550c4f in pthread_cond_wait@@GLIBC_2.3.2 () at /lib64/libpthread.so.0
#1  0x00007f3ddec8bdfb in QWaitCondition::wait(QMutex*, unsigned long) () at /lib64/libQt5Core.so.5
#2  0x00007f3dd3dfa2f7 in ThreadWeaver::Weaver::takeFirstAvailableJobOrSuspendOrWait(ThreadWeaver::Thread*, bool, bool, bool) () at /lib64/libKF5ThreadWeaver.so.5
#3  0x00007f3dd3dfdfe8 in ThreadWeaver::WorkingHardState::applyForWork(ThreadWeaver::Thread*, bool) () at /lib64/libKF5ThreadWeaver.so.5
#4  0x00007f3dd3df9579 in ThreadWeaver::Weaver::applyForWork(ThreadWeaver::Thread*, bool) () at /lib64/libKF5ThreadWeaver.so.5
#5  0x00007f3dd3dfbddf in ThreadWeaver::Thread::run() () at /lib64/libKF5ThreadWeaver.so.5
#6  0x00007f3ddec8aff9 in QThreadPrivate::start(void*) () at /lib64/libQt5Core.so.5
#7  0x00007f3dd854b66d in start_thread () at /lib64/libpthread.so.0
#8  0x00007f3dde5a3e4d in clone () at /lib64/libc.so.6

Thread 19 (Thread 0x7f3d757fa700 (LWP 10544)):
#0  0x00007f3dd8550c4f in pthread_cond_wait@@GLIBC_2.3.2 () at /lib64/libpthread.so.0
#1  0x00007f3ddec8bdfb in QWaitCondition::wait(QMutex*, unsigned long) () at /lib64/libQt5Core.so.5
#2  0x00007f3dd3dfa2f7 in ThreadWeaver::Weaver::takeFirstAvailableJobOrSuspendOrWait(ThreadWeaver::Thread*, bool, bool, bool) () at /lib64/libKF5ThreadWeaver.so.5
#3  0x00007f3dd3dfdfe8 in ThreadWeaver::WorkingHardState::applyForWork(ThreadWeaver::Thread*, bool) () at /lib64/libKF5ThreadWeaver.so.5
#4  0x00007f3dd3df9579 in ThreadWeaver::Weaver::applyForWork(ThreadWeaver::Thread*, bool) () at /lib64/libKF5ThreadWeaver.so.5
#5  0x00007f3dd3dfbddf in ThreadWeaver::Thread::run() () at /lib64/libKF5ThreadWeaver.so.5
#6  0x00007f3ddec8aff9 in QThreadPrivate::start(void*) () at /lib64/libQt5Core.so.5
#7  0x00007f3dd854b66d in start_thread () at /lib64/libpthread.so.0
#8  0x00007f3dde5a3e4d in clone () at /lib64/libc.so.6

Thread 18 (Thread 0x7f3d75ffb700 (LWP 10543)):
#0  0x00007f3dd8550c4f in pthread_cond_wait@@GLIBC_2.3.2 () at /lib64/libpthread.so.0
#1  0x00007f3ddec8bdfb in QWaitCondition::wait(QMutex*, unsigned long) () at /lib64/libQt5Core.so.5
#2  0x00007f3dd3dfa2f7 in ThreadWeaver::Weaver::takeFirstAvailableJobOrSuspendOrWait(ThreadWeaver::Thread*, bool, bool, bool) () at /lib64/libKF5ThreadWeaver.so.5
#3  0x00007f3dd3dfdfe8 in ThreadWeaver::WorkingHardState::applyForWork(ThreadWeaver::Thread*, bool) () at /lib64/libKF5ThreadWeaver.so.5
#4  0x00007f3dd3df9579 in ThreadWeaver::Weaver::applyForWork(ThreadWeaver::Thread*, bool) () at /lib64/libKF5ThreadWeaver.so.5
#5  0x00007f3dd3dfbddf in ThreadWeaver::Thread::run() () at /lib64/libKF5ThreadWeaver.so.5
#6  0x00007f3ddec8aff9 in QThreadPrivate::start(void*) () at /lib64/libQt5Core.so.5
#7  0x00007f3dd854b66d in start_thread () at /lib64/libpthread.so.0
#8  0x00007f3dde5a3e4d in clone () at /lib64/libc.so.6

Thread 17 (Thread 0x7f3d767fc700 (LWP 10542)):
#0  0x00007f3dd8550c4f in pthread_cond_wait@@GLIBC_2.3.2 () at /lib64/libpthread.so.0
#1  0x00007f3ddec8bdfb in QWaitCondition::wait(QMutex*, unsigned long) () at /lib64/libQt5Core.so.5
#2  0x00007f3dd3dfa2f7 in ThreadWeaver::Weaver::takeFirstAvailableJobOrSuspendOrWait(ThreadWeaver::Thread*, bool, bool, bool) () at /lib64/libKF5ThreadWeaver.so.5
#3  0x00007f3dd3dfdfe8 in ThreadWeaver::WorkingHardState::applyForWork(ThreadWeaver::Thread*, bool) () at /lib64/libKF5ThreadWeaver.so.5
#4  0x00007f3dd3df9579 in ThreadWeaver::Weaver::applyForWork(ThreadWeaver::Thread*, bool) () at /lib64/libKF5ThreadWeaver.so.5
#5  0x00007f3dd3dfbddf in ThreadWeaver::Thread::run() () at /lib64/libKF5ThreadWeaver.so.5
#6  0x00007f3ddec8aff9 in QThreadPrivate::start(void*) () at /lib64/libQt5Core.so.5
#7  0x00007f3dd854b66d in start_thread () at /lib64/libpthread.so.0
#8  0x00007f3dde5a3e4d in clone () at /lib64/libc.so.6

Thread 16 (Thread 0x7f3d76ffd700 (LWP 10541)):
#0  0x00007f3dd8550c4f in pthread_cond_wait@@GLIBC_2.3.2 () at /lib64/libpthread.so.0
#1  0x00007f3ddec8bdfb in QWaitCondition::wait(QMutex*, unsigned long) () at /lib64/libQt5Core.so.5
#2  0x00007f3dd3dfa2f7 in ThreadWeaver::Weaver::takeFirstAvailableJobOrSuspendOrWait(ThreadWeaver::Thread*, bool, bool, bool) () at /lib64/libKF5ThreadWeaver.so.5
#3  0x00007f3dd3dfdfe8 in ThreadWeaver::WorkingHardState::applyForWork(ThreadWeaver::Thread*, bool) () at /lib64/libKF5ThreadWeaver.so.5
#4  0x00007f3dd3df9579 in ThreadWeaver::Weaver::applyForWork(ThreadWeaver::Thread*, bool) () at /lib64/libKF5ThreadWeaver.so.5
#5  0x00007f3dd3dfbddf in ThreadWeaver::Thread::run() () at /lib64/libKF5ThreadWeaver.so.5
#6  0x00007f3ddec8aff9 in QThreadPrivate::start(void*) () at /lib64/libQt5Core.so.5
#7  0x00007f3dd854b66d in start_thread () at /lib64/libpthread.so.0
#8  0x00007f3dde5a3e4d in clone () at /lib64/libc.so.6

Thread 15 (Thread 0x7f3d777fe700 (LWP 10540)):
#0  0x00007f3dd8550c4f in pthread_cond_wait@@GLIBC_2.3.2 () at /lib64/libpthread.so.0
#1  0x00007f3ddec8bdfb in QWaitCondition::wait(QMutex*, unsigned long) () at /lib64/libQt5Core.so.5
#2  0x00007f3dd3dfa2f7 in ThreadWeaver::Weaver::takeFirstAvailableJobOrSuspendOrWait(ThreadWeaver::Thread*, bool, bool, bool) () at /lib64/libKF5ThreadWeaver.so.5
#3  0x00007f3dd3dfdfe8 in ThreadWeaver::WorkingHardState::applyForWork(ThreadWeaver::Thread*, bool) () at /lib64/libKF5ThreadWeaver.so.5
#4  0x00007f3dd3df9579 in ThreadWeaver::Weaver::applyForWork(ThreadWeaver::Thread*, bool) () at /lib64/libKF5ThreadWeaver.so.5
#5  0x00007f3dd3dfbddf in ThreadWeaver::Thread::run() () at /lib64/libKF5ThreadWeaver.so.5
#6  0x00007f3ddec8aff9 in QThreadPrivate::start(void*) () at /lib64/libQt5Core.so.5
#7  0x00007f3dd854b66d in start_thread () at /lib64/libpthread.so.0
#8  0x00007f3dde5a3e4d in clone () at /lib64/libc.so.6

Thread 14 (Thread 0x7f3d77fff700 (LWP 10539)):
#0  0x00007f3dd8550c4f in pthread_cond_wait@@GLIBC_2.3.2 () at /lib64/libpthread.so.0
#1  0x00007f3ddec8bdfb in QWaitCondition::wait(QMutex*, unsigned long) () at /lib64/libQt5Core.so.5
#2  0x00007f3dd3dfa2f7 in ThreadWeaver::Weaver::takeFirstAvailableJobOrSuspendOrWait(ThreadWeaver::Thread*, bool, bool, bool) () at /lib64/libKF5ThreadWeaver.so.5
#3  0x00007f3dd3dfdfe8 in ThreadWeaver::WorkingHardState::applyForWork(ThreadWeaver::Thread*, bool) () at /lib64/libKF5ThreadWeaver.so.5
#4  0x00007f3dd3df9579 in ThreadWeaver::Weaver::applyForWork(ThreadWeaver::Thread*, bool) () at /lib64/libKF5ThreadWeaver.so.5
#5  0x00007f3dd3dfbddf in ThreadWeaver::Thread::run() () at /lib64/libKF5ThreadWeaver.so.5
#6  0x00007f3ddec8aff9 in QThreadPrivate::start(void*) () at /lib64/libQt5Core.so.5
#7  0x00007f3dd854b66d in start_thread () at /lib64/libpthread.so.0
#8  0x00007f3dde5a3e4d in clone () at /lib64/libc.so.6

Thread 13 (Thread 0x7f3d7cea7700 (LWP 10538)):
#0  0x00007f3dd8550c4f in pthread_cond_wait@@GLIBC_2.3.2 () at /lib64/libpthread.so.0
#1  0x00007f3ddec8bdfb in QWaitCondition::wait(QMutex*, unsigned long) () at /lib64/libQt5Core.so.5
#2  0x00007f3dd3dfa2f7 in ThreadWeaver::Weaver::takeFirstAvailableJobOrSuspendOrWait(ThreadWeaver::Thread*, bool, bool, bool) () at /lib64/libKF5ThreadWeaver.so.5
#3  0x00007f3dd3dfdfe8 in ThreadWeaver::WorkingHardState::applyForWork(ThreadWeaver::Thread*, bool) () at /lib64/libKF5ThreadWeaver.so.5
#4  0x00007f3dd3df9579 in ThreadWeaver::Weaver::applyForWork(ThreadWeaver::Thread*, bool) () at /lib64/libKF5ThreadWeaver.so.5
#5  0x00007f3dd3dfbddf in ThreadWeaver::Thread::run() () at /lib64/libKF5ThreadWeaver.so.5
#6  0x00007f3ddec8aff9 in QThreadPrivate::start(void*) () at /lib64/libQt5Core.so.5
#7  0x00007f3dd854b66d in start_thread () at /lib64/libpthread.so.0
#8  0x00007f3dde5a3e4d in clone () at /lib64/libc.so.6

Thread 12 (Thread 0x7f3d98a65700 (LWP 10525)):
#0  0x00007f3dd76fe959 in g_mutex_lock () at /lib64/libglib-2.0.so.0
#1  0x00007f3dd76b9107 in g_main_context_prepare () at /lib64/libglib-2.0.so.0
#2  0x00007f3dd76b9bc3 in g_main_context_iterate.isra () at /lib64/libglib-2.0.so.0
#3  0x00007f3dd76b9d9c in g_main_context_iteration () at /lib64/libglib-2.0.so.0
#4  0x00007f3ddeea0e2b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5Core.so.5
#5  0x00007f3ddee4c49a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5Core.so.5
#6  0x00007f3ddec863bc in QThread::exec() () at /lib64/libQt5Core.so.5
#7  0x00007f3ddec8aff9 in QThreadPrivate::start(void*) () at /lib64/libQt5Core.so.5
#8  0x00007f3dd854b66d in start_thread () at /lib64/libpthread.so.0
#9  0x00007f3dde5a3e4d in clone () at /lib64/libc.so.6

Thread 11 (Thread 0x7f3d99266700 (LWP 10505)):
#0  0x00007f3dd8550c4f in pthread_cond_wait@@GLIBC_2.3.2 () at /lib64/libpthread.so.0
#1  0x00007f3ddec8bdfb in QWaitCondition::wait(QMutex*, unsigned long) () at /lib64/libQt5Core.so.5
#2  0x00007f3dd3dfa2f7 in ThreadWeaver::Weaver::takeFirstAvailableJobOrSuspendOrWait(ThreadWeaver::Thread*, bool, bool, bool) () at /lib64/libKF5ThreadWeaver.so.5
#3  0x00007f3dd3dfdfe8 in ThreadWeaver::WorkingHardState::applyForWork(ThreadWeaver::Thread*, bool) () at /lib64/libKF5ThreadWeaver.so.5
#4  0x00007f3dd3df9579 in ThreadWeaver::Weaver::applyForWork(ThreadWeaver::Thread*, bool) () at /lib64/libKF5ThreadWeaver.so.5
#5  0x00007f3dd3dfbddf in ThreadWeaver::Thread::run() () at /lib64/libKF5ThreadWeaver.so.5
#6  0x00007f3ddec8aff9 in QThreadPrivate::start(void*) () at /lib64/libQt5Core.so.5
#7  0x00007f3dd854b66d in start_thread () at /lib64/libpthread.so.0
#8  0x00007f3dde5a3e4d in clone () at /lib64/libc.so.6

Thread 10 (Thread 0x7f3d99a67700 (LWP 10504)):
#0  0x00007f3dd8550c4f in pthread_cond_wait@@GLIBC_2.3.2 () at /lib64/libpthread.so.0
#1  0x00007f3ddec8bdfb in QWaitCondition::wait(QMutex*, unsigned long) () at /lib64/libQt5Core.so.5
#2  0x00007f3dd3dfa2f7 in ThreadWeaver::Weaver::takeFirstAvailableJobOrSuspendOrWait(ThreadWeaver::Thread*, bool, bool, bool) () at /lib64/libKF5ThreadWeaver.so.5
#3  0x00007f3dd3dfdfe8 in ThreadWeaver::WorkingHardState::applyForWork(ThreadWeaver::Thread*, bool) () at /lib64/libKF5ThreadWeaver.so.5
#4  0x00007f3dd3df9579 in ThreadWeaver::Weaver::applyForWork(ThreadWeaver::Thread*, bool) () at /lib64/libKF5ThreadWeaver.so.5
#5  0x00007f3dd3dfbddf in ThreadWeaver::Thread::run() () at /lib64/libKF5ThreadWeaver.so.5
#6  0x00007f3ddec8aff9 in QThreadPrivate::start(void*) () at /lib64/libQt5Core.so.5
#7  0x00007f3dd854b66d in start_thread () at /lib64/libpthread.so.0
#8  0x00007f3dde5a3e4d in clone () at /lib64/libc.so.6

Thread 9 (Thread 0x7f3d9a268700 (LWP 10503)):
#0  0x00007f3dd8550c4f in pthread_cond_wait@@GLIBC_2.3.2 () at /lib64/libpthread.so.0
#1  0x00007f3ddec8bdfb in QWaitCondition::wait(QMutex*, unsigned long) () at /lib64/libQt5Core.so.5
#2  0x00007f3dd3dfa2f7 in ThreadWeaver::Weaver::takeFirstAvailableJobOrSuspendOrWait(ThreadWeaver::Thread*, bool, bool, bool) () at /lib64/libKF5ThreadWeaver.so.5
#3  0x00007f3dd3dfdfe8 in ThreadWeaver::WorkingHardState::applyForWork(ThreadWeaver::Thread*, bool) () at /lib64/libKF5ThreadWeaver.so.5
#4  0x00007f3dd3df9579 in ThreadWeaver::Weaver::applyForWork(ThreadWeaver::Thread*, bool) () at /lib64/libKF5ThreadWeaver.so.5
#5  0x00007f3dd3dfbddf in ThreadWeaver::Thread::run() () at /lib64/libKF5ThreadWeaver.so.5
#6  0x00007f3ddec8aff9 in QThreadPrivate::start(void*) () at /lib64/libQt5Core.so.5
#7  0x00007f3dd854b66d in start_thread () at /lib64/libpthread.so.0
#8  0x00007f3dde5a3e4d in clone () at /lib64/libc.so.6

Thread 8 (Thread 0x7f3da0b32700 (LWP 10502)):
#0  0x00007f3dd8550c4f in pthread_cond_wait@@GLIBC_2.3.2 () at /lib64/libpthread.so.0
#1  0x00007f3ddec8bdfb in QWaitCondition::wait(QMutex*, unsigned long) () at /lib64/libQt5Core.so.5
#2  0x00007f3dd3dfa2f7 in ThreadWeaver::Weaver::takeFirstAvailableJobOrSuspendOrWait(ThreadWeaver::Thread*, bool, bool, bool) () at /lib64/libKF5ThreadWeaver.so.5
#3  0x00007f3dd3dfdfe8 in ThreadWeaver::WorkingHardState::applyForWork(ThreadWeaver::Thread*, bool) () at /lib64/libKF5ThreadWeaver.so.5
#4  0x00007f3dd3df9579 in ThreadWeaver::Weaver::applyForWork(ThreadWeaver::Thread*, bool) () at /lib64/libKF5ThreadWeaver.so.5
#5  0x00007f3dd3dfbddf in ThreadWeaver::Thread::run() () at /lib64/libKF5ThreadWeaver.so.5
#6  0x00007f3ddec8aff9 in QThreadPrivate::start(void*) () at /lib64/libQt5Core.so.5
#7  0x00007f3dd854b66d in start_thread () at /lib64/libpthread.so.0
#8  0x00007f3dde5a3e4d in clone () at /lib64/libc.so.6

Thread 7 (Thread 0x7f3da319f700 (LWP 10501)):
#0  0x00007f3dd8550c4f in pthread_cond_wait@@GLIBC_2.3.2 () at /lib64/libpthread.so.0
#1  0x00007f3ddec8bdfb in QWaitCondition::wait(QMutex*, unsigned long) () at /lib64/libQt5Core.so.5
#2  0x00007f3dd3dfa2f7 in ThreadWeaver::Weaver::takeFirstAvailableJobOrSuspendOrWait(ThreadWeaver::Thread*, bool, bool, bool) () at /lib64/libKF5ThreadWeaver.so.5
#3  0x00007f3dd3dfdfe8 in ThreadWeaver::WorkingHardState::applyForWork(ThreadWeaver::Thread*, bool) () at /lib64/libKF5ThreadWeaver.so.5
#4  0x00007f3dd3df9579 in ThreadWeaver::Weaver::applyForWork(ThreadWeaver::Thread*, bool) () at /lib64/libKF5ThreadWeaver.so.5
#5  0x00007f3dd3dfbddf in ThreadWeaver::Thread::run() () at /lib64/libKF5ThreadWeaver.so.5
#6  0x00007f3ddec8aff9 in QThreadPrivate::start(void*) () at /lib64/libQt5Core.so.5
#7  0x00007f3dd854b66d in start_thread () at /lib64/libpthread.so.0
#8  0x00007f3dde5a3e4d in clone () at /lib64/libc.so.6

Thread 6 (Thread 0x7f3da39a0700 (LWP 10388)):
#0  0x00007f3ddee9f00f in QTimerInfoList::timerWait(timespec&) () at /lib64/libQt5Core.so.5
#1  0x00007f3ddeea035e in timerSourcePrepare(_GSource*, int*) () at /lib64/libQt5Core.so.5
#2  0x00007f3dd76b922d in g_main_context_prepare () at /lib64/libglib-2.0.so.0
#3  0x00007f3dd76b9bc3 in g_main_context_iterate.isra () at /lib64/libglib-2.0.so.0
#4  0x00007f3dd76b9d9c in g_main_context_iteration () at /lib64/libglib-2.0.so.0
#5  0x00007f3ddeea0e2b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5Core.so.5
#6  0x00007f3ddee4c49a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5Core.so.5
#7  0x00007f3ddec863bc in QThread::exec() () at /lib64/libQt5Core.so.5
#8  0x00007f3dd4a00205 in QQmlThreadPrivate::run() () at /lib64/libQt5Qml.so.5
#9  0x00007f3ddec8aff9 in QThreadPrivate::start(void*) () at /lib64/libQt5Core.so.5
#10 0x00007f3dd854b66d in start_thread () at /lib64/libpthread.so.0
#11 0x00007f3dde5a3e4d in clone () at /lib64/libc.so.6

Thread 5 (Thread 0x7f3da9263700 (LWP 10346)):
#0  0x00007f3dd76fe959 in g_mutex_lock () at /lib64/libglib-2.0.so.0
#1  0x00007f3dd76b9107 in g_main_context_prepare () at /lib64/libglib-2.0.so.0
#2  0x00007f3dd76b9bc3 in g_main_context_iterate.isra () at /lib64/libglib-2.0.so.0
#3  0x00007f3dd76b9d9c in g_main_context_iteration () at /lib64/libglib-2.0.so.0
#4  0x00007f3ddeea0e2b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5Core.so.5
#5  0x00007f3ddee4c49a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5Core.so.5
#6  0x00007f3ddec863bc in QThread::exec() () at /lib64/libQt5Core.so.5
#7  0x00007f3ddc7df4a8 in KDevelop::CompletionWorkerThread::run() () at /lib64/libKDevPlatformLanguage.so.10
#8  0x00007f3ddec8aff9 in QThreadPrivate::start(void*) () at /lib64/libQt5Core.so.5
#9  0x00007f3dd854b66d in start_thread () at /lib64/libpthread.so.0
#10 0x00007f3dde5a3e4d in clone () at /lib64/libc.so.6

Thread 4 (Thread 0x7f3db3fff700 (LWP 10345)):
#0  0x00007f3dd8550ff8 in pthread_cond_timedwait@@GLIBC_2.3.2 () at /lib64/libpthread.so.0
#1  0x00007f3ddec8bd46 in QWaitCondition::wait(QMutex*, unsigned long) () at /lib64/libQt5Core.so.5
#2  0x00007f3ddc6e77c8 in KDevelop::DUChainPrivate::CleanupThread::run() () at /lib64/libKDevPlatformLanguage.so.10
#3  0x00007f3ddec8aff9 in QThreadPrivate::start(void*) () at /lib64/libQt5Core.so.5
#4  0x00007f3dd854b66d in start_thread () at /lib64/libpthread.so.0
#5  0x00007f3dde5a3e4d in clone () at /lib64/libc.so.6

Thread 3 (Thread 0x7f3dbb95d700 (LWP 10343)):
#0  0x00007f3dde59800d in poll () at /lib64/libc.so.6
#1  0x00007f3dd76b9c94 in g_main_context_iterate.isra () at /lib64/libglib-2.0.so.0
#2  0x00007f3dd76b9d9c in g_main_context_iteration () at /lib64/libglib-2.0.so.0
#3  0x00007f3ddeea0e2b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5Core.so.5
#4  0x00007f3ddee4c49a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5Core.so.5
#5  0x00007f3ddec863bc in QThread::exec() () at /lib64/libQt5Core.so.5
#6  0x00007f3de0f81635 in QDBusConnectionManager::run() () at /lib64/libQt5DBus.so.5
#7  0x00007f3ddec8aff9 in QThreadPrivate::start(void*) () at /lib64/libQt5Core.so.5
#8  0x00007f3dd854b66d in start_thread () at /lib64/libpthread.so.0
#9  0x00007f3dde5a3e4d in clone () at /lib64/libc.so.6

Thread 2 (Thread 0x7f3dc10b2700 (LWP 10342)):
#0  0x00007f3dde59800d in poll () at /lib64/libc.so.6
#1  0x00007f3dcfb81902 in _xcb_conn_wait () at /lib64/libxcb.so.1
#2  0x00007f3dcfb83657 in xcb_wait_for_event () at /lib64/libxcb.so.1
#3  0x00007f3dc3611be9 in QXcbEventReader::run() () at /lib64/libQt5XcbQpa.so.5
#4  0x00007f3ddec8aff9 in QThreadPrivate::start(void*) () at /lib64/libQt5Core.so.5
#5  0x00007f3dd854b66d in start_thread () at /lib64/libpthread.so.0
#6  0x00007f3dde5a3e4d in clone () at /lib64/libc.so.6

Thread 1 (Thread 0x7f3dc56c7800 (LWP 10341)):
[KCrash Handler]
#6  0x00007f3ddbd20590 in KDevelop::ProjectChangesModel::repositoryBranchChanged(QUrl const&) () at /lib64/libKDevPlatformProject.so.10
#7  0x00007f3ddbd20f28 in KDevelop::ProjectChangesModel::addProject(KDevelop::IProject*) () at /lib64/libKDevPlatformProject.so.10
#8  0x00007f3ddbd21179 in KDevelop::ProjectChangesModel::ProjectChangesModel(QObject*) () at /lib64/libKDevPlatformProject.so.10
#9  0x00007f3de0af5508 in KDevelop::ProjectController::changesModel() () at /lib64/libKDevPlatformShell.so.10
#10 0x00007f3db20e53de in VcsOverlayProxyModel::data(QModelIndex const&, int) const () at /usr/lib64/qt5/plugins/kdevplatform/27/kdevprojectmanagerview.so
#11 0x00007f3db20e667b in ProjectModelItemDelegate::paint(QPainter*, QStyleOptionViewItem const&, QModelIndex const&) const () at /usr/lib64/qt5/plugins/kdevplatform/27/kdevprojectmanagerview.so
#12 0x00007f3ddf9e8974 in QTreeView::drawRow(QPainter*, QStyleOptionViewItem const&, QModelIndex const&) const () at /lib64/libQt5Widgets.so.5
#13 0x00007f3ddf9edd2e in QTreeView::drawTree(QPainter*, QRegion const&) const () at /lib64/libQt5Widgets.so.5
#14 0x00007f3ddf9edfd3 in QTreeViewPrivate::renderTreeToPixmapForAnimation(QRect const&) const () at /lib64/libQt5Widgets.so.5
#15 0x00007f3ddf9efeb0 in QTreeViewPrivate::beginAnimatedOperation() () at /lib64/libQt5Widgets.so.5
#16 0x00007f3ddf9f0077 in QTreeViewPrivate::expand(int, bool) () at /lib64/libQt5Widgets.so.5
#17 0x00007f3ddf9f01af in QTreeView::expand(QModelIndex const&) () at /lib64/libQt5Widgets.so.5
#18 0x00007f3dd99095ec in KViewStateSerializerPrivate::restoreExpanded() () at /lib64/libKF5WidgetsAddons.so.5
#19 0x00007f3dd9909b78 in KViewStateSerializer::restoreExpanded(QStringList const&) () at /lib64/libKF5WidgetsAddons.so.5
#20 0x00007f3dda03053c in KConfigViewStateSaver::restoreState(KConfigGroup const&) () at /lib64/libKF5ConfigWidgets.so.5
#21 0x00007f3db20dea85 in ProjectTreeView::restoreState(KDevelop::IProject*) [clone .part.93] [clone .constprop.99] () at /usr/lib64/qt5/plugins/kdevplatform/27/kdevprojectmanagerview.so
#22 0x00007f3ddee7990c in QMetaObject::activate(QObject*, int, int, void**) () at /lib64/libQt5Core.so.5
#23 0x00007f3de03ccf72 in KDevelop::IProjectController::projectOpened(KDevelop::IProject*) () at /lib64/libKDevPlatformInterfaces.so.10
#24 0x00007f3de0af8256 in KDevelop::ProjectController::projectImportingFinished(KDevelop::IProject*) () at /lib64/libKDevPlatformShell.so.10
#25 0x00007f3ddee7990c in QMetaObject::activate(QObject*, int, int, void**) () at /lib64/libQt5Core.so.5
#26 0x00007f3ddfca5732 in KJob::result(KJob*, KJob::QPrivateSignal) () at /lib64/libKF5CoreAddons.so.5
#27 0x00007f3ddfca6ee1 in KJob::finishJob(bool) () at /lib64/libKF5CoreAddons.so.5
#28 0x00007f3ddbd3e521 in KDevelop::FileManagerListJob::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) () at /lib64/libKDevPlatformProject.so.10
#29 0x00007f3ddee7a3aa in QObject::event(QEvent*) () at /lib64/libQt5Core.so.5
#30 0x00007f3ddf760d0c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /lib64/libQt5Widgets.so.5
#31 0x00007f3ddf765e76 in QApplication::notify(QObject*, QEvent*) () at /lib64/libQt5Widgets.so.5
#32 0x00007f3ddee4e628 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /lib64/libQt5Core.so.5
#33 0x00007f3ddee5044b in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () at /lib64/libQt5Core.so.5
#34 0x00007f3ddeea09f3 in postEventSourceDispatch(_GSource*, int (*)(void*), void*) () at /lib64/libQt5Core.so.5
#35 0x00007f3dd76b9ac7 in g_main_context_dispatch () at /lib64/libglib-2.0.so.0
#36 0x00007f3dd76b9cf8 in g_main_context_iterate.isra () at /lib64/libglib-2.0.so.0
#37 0x00007f3dd76b9d9c in g_main_context_iteration () at /lib64/libglib-2.0.so.0
#38 0x00007f3ddeea0e06 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5Core.so.5
#39 0x00007f3ddee4c49a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5Core.so.5
#40 0x00007f3ddee547e1 in QCoreApplication::exec() () at /lib64/libQt5Core.so.5
#41 0x000000000040bee0 in main ()

Reported using DrKonqi
Comment 1 Kevin Funk 2017-08-30 07:14:22 UTC
Could you try to install debug symbols and then attempt to reproduce the crash? I'd be interesting in seeing line numbers in this stack trace.

See:
  https://community.kde.org/Guidelines_and_HOWTOs/Debugging/How_to_create_useful_crash_reports
Comment 2 David Faure 2017-11-16 12:49:26 UTC
Created attachment 108894 [details]
backtrace
Comment 3 David Faure 2017-11-16 12:51:46 UTC
VcsOverlayProxyModel::data (called from painting code) calls KDevSvnPlugin::isVersionControlled which calls KJob::exec (!!!), whose nested event loop ends up in painting code again (!).

I don't think it's good design for a model to be doing such operations from data(), it should rather do it async and notify of changes.
Comment 4 Kevin Funk 2017-11-17 18:51:59 UTC
Hm. I can't reproduce this issue here. :|

For those who can reproduce every time, could you please check if this patch fixes the issue for you?
  https://phabricator.kde.org/D8852

David maybe? Thanks a lot in advance -- and sorry for taking your time.
Comment 5 David Faure 2017-11-20 17:48:58 UTC
I confirm that the patch fixes the crash.
Comment 6 Kevin Funk 2017-11-20 20:31:02 UTC
Git commit 6d4591fb1733f4490d77d9e6a1e619b31767d49b by Kevin Funk.
Committed on 20/11/2017 at 20:30.
Pushed by kfunk into branch '5.2'.

Fix crash deep inside VcsOverlayProxyModel::data()

Summary:
VcsOverlayProxyModel::data() calls ProjectController::changesModel()
which currently is a non-const method which might create an instance
of ProjectChangesModel which in turn triggers some KJobs.

Avoid that by instantiating ProjectChangesModel() immediately during
startup. I don't think that has a real performance impact.
FIXED-IN: 5.2.1

Reviewers: apol

Reviewed By: apol

Subscribers: mwolff, dfaure, brauch, apol, kdevelop-devel

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

M  +3    -4    kdevplatform/shell/projectcontroller.cpp

https://commits.kde.org/kdevelop/6d4591fb1733f4490d77d9e6a1e619b31767d49b