Bug 365766 - Crash when stopping unit test that segfaulted [KDevelop::OutputExecuteJob]
Summary: Crash when stopping unit test that segfaulted [KDevelop::OutputExecuteJob]
Status: RESOLVED FIXED
Alias: None
Product: kdevelop
Classification: Applications
Component: general (show other bugs)
Version: unspecified
Platform: Compiled Sources Linux
: NOR crash
Target Milestone: ---
Assignee: kdevelop-bugs-null
URL:
Keywords: drkonqi
Depends on:
Blocks:
 
Reported: 2016-07-17 09:48 UTC by Andreas Cord-Landwehr
Modified: 2016-07-17 12: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 Andreas Cord-Landwehr 2016-07-17 09:48:56 UTC
Application: kdevelop (4.90.92)
 (Compiled from sources)
Qt Version: 5.7.0
Frameworks Version: 5.25.0
Operating System: Linux 4.6.0-1-amd64 x86_64
Distribution: Debian GNU/Linux testing (stretch)

-- Information about the crash:
Steps to reproduce:
- start a unit unit that enters a gdb session due to eg. a segfault
- whilte gdb is still starting, stop that unit test
- the appended crash occurs

The crash can be reproduced every time.

-- Backtrace:
Application: KDevelop (kdevelop), signal: Aborted
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[Current thread is 1 (Thread 0x7f6695d09940 (LWP 23883))]

Thread 14 (Thread 0x7f6646ee9700 (LWP 23965)):
#0  0x00007f66a7a7509f in pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007f66a7756ee4 in QTWTF::TCMalloc_PageHeap::scavengerThread() (this=0x7f66a783d1a0 <QTWTF::pageheap_memory>) at ../3rdparty/javascriptcore/JavaScriptCore/wtf/FastMalloc.cpp:2359
#2  0x00007f66a7756f29 in QTWTF::TCMalloc_PageHeap::runScavengerThread(void*) (context=<optimized out>) at ../3rdparty/javascriptcore/JavaScriptCore/wtf/FastMalloc.cpp:1464
#3  0x00007f66a7a6f464 in start_thread (arg=0x7f6646ee9700) at pthread_create.c:333
#4  0x00007f66aee6930d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 13 (Thread 0x7f664549a700 (LWP 23942)):
#0  0x00007f66afa62a28 in QMutex::unlock() (__m2=<optimized out>, __m1=std::memory_order_release, __p2=0x0, __p1=@0x7f66454999b0: 0x1, this=0x455a5d0) at /usr/include/c++/5/bits/atomic_base.h:752
#1  0x00007f66afa62a28 in QMutex::unlock() (__m=std::memory_order_release, __p2=0x0, __p1=@0x7f66454999b0: 0x1, this=0x455a5d0) at /usr/include/c++/5/atomic:475
#2  0x00007f66afa62a28 in QMutex::unlock() (currentValue=<synthetic pointer>, newValue=0x0, expectedValue=0x1, _q_value=...) at ../../include/QtCore/../../src/corelib/arch/qatomic_cxx11.h:174
#3  0x00007f66afa62a28 in QMutex::unlock() (currentValue=<synthetic pointer>, newValue=0x0, expectedValue=<optimized out>, this=this@entry=0x455a5d0) at ../../include/QtCore/../../src/corelib/thread/qbasicatomic.h:261
#4  0x00007f66afa62a28 in QMutex::unlock() (current=<synthetic pointer>, this=this@entry=0x455a5d0) at thread/qmutex.h:91
#5  0x00007f66afa62a28 in QMutex::unlock() (this=this@entry=0x455a5d0) at thread/qmutex.cpp:277
#6  0x00007f66afc81a3d in postEventSourcePrepare(GSource*, gint*) (this=<synthetic pointer>) at ../../include/QtCore/../../src/corelib/thread/qmutex.h:144
#7  0x00007f66afc81a3d in postEventSourcePrepare(GSource*, gint*) (this=<synthetic pointer>, __in_chrg=<optimized out>) at ../../include/QtCore/../../src/corelib/thread/qmutex.h:138
#8  0x00007f66afc81a3d in postEventSourcePrepare(GSource*, gint*) (this=0x455a5a0) at ../../include/QtCore/5.7.0/QtCore/private/../../../../../src/corelib/thread/qthread_p.h:254
#9  0x00007f66afc81a3d in postEventSourcePrepare(GSource*, gint*) (s=0x7f66303c5e00, timeout=timeout@entry=0x7f6645499a34) at kernel/qeventdispatcher_glib.cpp:259
#10 0x00007f66a2c8592d in g_main_context_prepare (context=context@entry=0x7f6630086a60, priority=priority@entry=0x7f6645499ac0) at /build/glib2.0-wnDt2X/glib2.0-2.48.1/./glib/gmain.c:3442
#11 0x00007f66a2c862cb in g_main_context_iterate (context=context@entry=0x7f6630086a60, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at /build/glib2.0-wnDt2X/glib2.0-2.48.1/./glib/gmain.c:3820
#12 0x00007f66a2c864ac in g_main_context_iteration (context=0x7f6630086a60, may_block=may_block@entry=1) at /build/glib2.0-wnDt2X/glib2.0-2.48.1/./glib/gmain.c:3901
#13 0x00007f66afc8229b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7f6630a21220, flags=...) at kernel/qeventdispatcher_glib.cpp:425
#14 0x00007f66afc301ca in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7f6645499bf0, flags=..., flags@entry=...) at kernel/qeventloop.cpp:210
#15 0x00007f66afa662ac in QThread::exec() (this=<optimized out>) at thread/qthread.cpp:511
#16 0x00007f66acf121ef in KDevelop::CompletionWorkerThread::run() (this=0x455c8a0) at /opt/kde/src/extragear/kdevelop/kdevplatform/language/codecompletion/codecompletionmodel.cpp:89
#17 0x00007f66afa6abd9 in QThreadPrivate::start(void*) (arg=0x455c8a0) at thread/qthread_unix.cpp:343
#18 0x00007f66a7a6f464 in start_thread (arg=0x7f664549a700) at pthread_create.c:333
#19 0x00007f66aee6930d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 12 (Thread 0x7f66466e8700 (LWP 23914)):
#0  0x00007f66aee5c17d in read () at ../sysdeps/unix/syscall-template.S:84
#1  0x00007f66a2cc9740 in g_wakeup_acknowledge (__nbytes=16, __buf=0x7f66466e7a90, __fd=<optimized out>) at /usr/include/x86_64-linux-gnu/bits/unistd.h:44
#2  0x00007f66a2cc9740 in g_wakeup_acknowledge (wakeup=0x7f664c0027a0) at /build/glib2.0-wnDt2X/glib2.0-2.48.1/./glib/gwakeup.c:210
#3  0x00007f66a2c85e84 in g_main_context_check (context=context@entry=0x7f6638100660, max_priority=2147483647, fds=fds@entry=0x7f6638003c80, n_fds=n_fds@entry=1) at /build/glib2.0-wnDt2X/glib2.0-2.48.1/./glib/gmain.c:3632
#4  0x00007f66a2c86340 in g_main_context_iterate (context=context@entry=0x7f6638100660, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at /build/glib2.0-wnDt2X/glib2.0-2.48.1/./glib/gmain.c:3837
#5  0x00007f66a2c864ac in g_main_context_iteration (context=0x7f6638100660, may_block=may_block@entry=1) at /build/glib2.0-wnDt2X/glib2.0-2.48.1/./glib/gmain.c:3901
#6  0x00007f66afc8229b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7f6638001640, flags=...) at kernel/qeventdispatcher_glib.cpp:425
#7  0x00007f66afc301ca in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7f66466e7c90, flags=..., flags@entry=...) at kernel/qeventloop.cpp:210
#8  0x00007f66afa662ac in QThread::exec() (this=<optimized out>) at thread/qthread.cpp:511
#9  0x00007f66afa6abd9 in QThreadPrivate::start(void*) (arg=0x7f66b4bae3b8 <KDevelop::(anonymous namespace)::Q_QGS_s_parsingThread::innerFunction()::holder+8>) at thread/qthread_unix.cpp:343
#10 0x00007f66a7a6f464 in start_thread (arg=0x7f66466e8700) at pthread_create.c:333
#11 0x00007f66aee6930d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 11 (Thread 0x7f665d752700 (LWP 23904)):
#0  0x00007f66a7a7509f in pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007f66afa6b97b in QWaitCondition::wait(QMutex*, unsigned long) (time=18446744073709551615, this=0x11864b0) at thread/qwaitcondition_unix.cpp:143
#2  0x00007f66afa6b97b in QWaitCondition::wait(QMutex*, unsigned long) (this=<optimized out>, mutex=0x102ece0, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:215
#3  0x00007f66abd2d546 in ThreadWeaver::Weaver::blockThreadUntilJobsAreBeingAssigned_locked(ThreadWeaver::Thread*) (this=0x11863c0, th=0x7f6654002e20) at /opt/kde/src/frameworks/threadweaver/src/weaver.cpp:594
#4  0x00007f66abd2d21f in ThreadWeaver::Weaver::takeFirstAvailableJobOrSuspendOrWait(ThreadWeaver::Thread*, bool, bool, bool) (this=0x11863c0, th=0x7f6654002e20, threadWasBusy=false, suspendIfInactive=false, justReturning=false) at /opt/kde/src/frameworks/threadweaver/src/weaver.cpp:554
#5  0x00007f66abd35c47 in ThreadWeaver::WorkingHardState::applyForWork(ThreadWeaver::Thread*, bool) (this=0x1025da0, th=0x7f6654002e20, wasBusy=false) at /opt/kde/src/frameworks/threadweaver/src/workinghardstate.cpp:66
#6  0x00007f66abd2d360 in ThreadWeaver::Weaver::applyForWork(ThreadWeaver::Thread*, bool) (this=0x11863c0, th=0x7f6654002e20, wasBusy=false) at /opt/kde/src/frameworks/threadweaver/src/weaver.cpp:568
#7  0x00007f66abd35d4a in ThreadWeaver::WorkingHardState::applyForWork(ThreadWeaver::Thread*, bool) (this=0x1025da0, th=0x7f6654002e20, wasBusy=false) at /opt/kde/src/frameworks/threadweaver/src/workinghardstate.cpp:73
#8  0x00007f66abd2d360 in ThreadWeaver::Weaver::applyForWork(ThreadWeaver::Thread*, bool) (this=0x11863c0, th=0x7f6654002e20, wasBusy=false) at /opt/kde/src/frameworks/threadweaver/src/weaver.cpp:568
#9  0x00007f66abd35d4a in ThreadWeaver::WorkingHardState::applyForWork(ThreadWeaver::Thread*, bool) (this=0x1025da0, th=0x7f6654002e20, wasBusy=true) at /opt/kde/src/frameworks/threadweaver/src/workinghardstate.cpp:73
#10 0x00007f66abd2d360 in ThreadWeaver::Weaver::applyForWork(ThreadWeaver::Thread*, bool) (this=0x11863c0, th=0x7f6654002e20, wasBusy=true) at /opt/kde/src/frameworks/threadweaver/src/weaver.cpp:568
#11 0x00007f66abd31d1e in ThreadWeaver::Thread::run() (this=0x7f6654002e20) at /opt/kde/src/frameworks/threadweaver/src/thread.cpp:103
#12 0x00007f66afa6abd9 in QThreadPrivate::start(void*) (arg=0x7f6654002e20) at thread/qthread_unix.cpp:343
#13 0x00007f66a7a6f464 in start_thread (arg=0x7f665d752700) at pthread_create.c:333
#14 0x00007f66aee6930d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 10 (Thread 0x7f665df53700 (LWP 23903)):
#0  0x00007f66a7a7509f in pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007f66afa6b97b in QWaitCondition::wait(QMutex*, unsigned long) (time=18446744073709551615, this=0x11864b0) at thread/qwaitcondition_unix.cpp:143
#2  0x00007f66afa6b97b in QWaitCondition::wait(QMutex*, unsigned long) (this=<optimized out>, mutex=0x102ece0, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:215
#3  0x00007f66abd2d546 in ThreadWeaver::Weaver::blockThreadUntilJobsAreBeingAssigned_locked(ThreadWeaver::Thread*) (this=0x11863c0, th=0x7f66500027d0) at /opt/kde/src/frameworks/threadweaver/src/weaver.cpp:594
#4  0x00007f66abd2d21f in ThreadWeaver::Weaver::takeFirstAvailableJobOrSuspendOrWait(ThreadWeaver::Thread*, bool, bool, bool) (this=0x11863c0, th=0x7f66500027d0, threadWasBusy=false, suspendIfInactive=false, justReturning=false) at /opt/kde/src/frameworks/threadweaver/src/weaver.cpp:554
#5  0x00007f66abd35c47 in ThreadWeaver::WorkingHardState::applyForWork(ThreadWeaver::Thread*, bool) (this=0x1025da0, th=0x7f66500027d0, wasBusy=false) at /opt/kde/src/frameworks/threadweaver/src/workinghardstate.cpp:66
#6  0x00007f66abd2d360 in ThreadWeaver::Weaver::applyForWork(ThreadWeaver::Thread*, bool) (this=0x11863c0, th=0x7f66500027d0, wasBusy=false) at /opt/kde/src/frameworks/threadweaver/src/weaver.cpp:568
#7  0x00007f66abd35d4a in ThreadWeaver::WorkingHardState::applyForWork(ThreadWeaver::Thread*, bool) (this=0x1025da0, th=0x7f66500027d0, wasBusy=false) at /opt/kde/src/frameworks/threadweaver/src/workinghardstate.cpp:73
#8  0x00007f66abd2d360 in ThreadWeaver::Weaver::applyForWork(ThreadWeaver::Thread*, bool) (this=0x11863c0, th=0x7f66500027d0, wasBusy=false) at /opt/kde/src/frameworks/threadweaver/src/weaver.cpp:568
#9  0x00007f66abd35d4a in ThreadWeaver::WorkingHardState::applyForWork(ThreadWeaver::Thread*, bool) (this=0x1025da0, th=0x7f66500027d0, wasBusy=false) at /opt/kde/src/frameworks/threadweaver/src/workinghardstate.cpp:73
#10 0x00007f66abd2d360 in ThreadWeaver::Weaver::applyForWork(ThreadWeaver::Thread*, bool) (this=0x11863c0, th=0x7f66500027d0, wasBusy=false) at /opt/kde/src/frameworks/threadweaver/src/weaver.cpp:568
#11 0x00007f66abd35d4a in ThreadWeaver::WorkingHardState::applyForWork(ThreadWeaver::Thread*, bool) (this=0x1025da0, th=0x7f66500027d0, wasBusy=false) at /opt/kde/src/frameworks/threadweaver/src/workinghardstate.cpp:73
#12 0x00007f66abd2d360 in ThreadWeaver::Weaver::applyForWork(ThreadWeaver::Thread*, bool) (this=0x11863c0, th=0x7f66500027d0, wasBusy=false) at /opt/kde/src/frameworks/threadweaver/src/weaver.cpp:568
#13 0x00007f66abd35d4a in ThreadWeaver::WorkingHardState::applyForWork(ThreadWeaver::Thread*, bool) (this=0x1025da0, th=0x7f66500027d0, wasBusy=false) at /opt/kde/src/frameworks/threadweaver/src/workinghardstate.cpp:73
#14 0x00007f66abd2d360 in ThreadWeaver::Weaver::applyForWork(ThreadWeaver::Thread*, bool) (this=0x11863c0, th=0x7f66500027d0, wasBusy=false) at /opt/kde/src/frameworks/threadweaver/src/weaver.cpp:568
#15 0x00007f66abd35d4a in ThreadWeaver::WorkingHardState::applyForWork(ThreadWeaver::Thread*, bool) (this=0x1025da0, th=0x7f66500027d0, wasBusy=false) at /opt/kde/src/frameworks/threadweaver/src/workinghardstate.cpp:73
#16 0x00007f66abd2d360 in ThreadWeaver::Weaver::applyForWork(ThreadWeaver::Thread*, bool) (this=0x11863c0, th=0x7f66500027d0, wasBusy=false) at /opt/kde/src/frameworks/threadweaver/src/weaver.cpp:568
#17 0x00007f66abd35d4a in ThreadWeaver::WorkingHardState::applyForWork(ThreadWeaver::Thread*, bool) (this=0x1025da0, th=0x7f66500027d0, wasBusy=true) at /opt/kde/src/frameworks/threadweaver/src/workinghardstate.cpp:73
#18 0x00007f66abd2d360 in ThreadWeaver::Weaver::applyForWork(ThreadWeaver::Thread*, bool) (this=0x11863c0, th=0x7f66500027d0, wasBusy=true) at /opt/kde/src/frameworks/threadweaver/src/weaver.cpp:568
#19 0x00007f66abd31d1e in ThreadWeaver::Thread::run() (this=0x7f66500027d0) at /opt/kde/src/frameworks/threadweaver/src/thread.cpp:103
#20 0x00007f66afa6abd9 in QThreadPrivate::start(void*) (arg=0x7f66500027d0) at thread/qthread_unix.cpp:343
#21 0x00007f66a7a6f464 in start_thread (arg=0x7f665df53700) at pthread_create.c:333
#22 0x00007f66aee6930d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 9 (Thread 0x7f665e754700 (LWP 23902)):
#0  0x00007f66a7a7509f in pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007f66afa6b97b in QWaitCondition::wait(QMutex*, unsigned long) (time=18446744073709551615, this=0x11864b0) at thread/qwaitcondition_unix.cpp:143
#2  0x00007f66afa6b97b in QWaitCondition::wait(QMutex*, unsigned long) (this=<optimized out>, mutex=0x102ece0, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:215
#3  0x00007f66abd2d546 in ThreadWeaver::Weaver::blockThreadUntilJobsAreBeingAssigned_locked(ThreadWeaver::Thread*) (this=0x11863c0, th=0x7f66580035d0) at /opt/kde/src/frameworks/threadweaver/src/weaver.cpp:594
#4  0x00007f66abd2d21f in ThreadWeaver::Weaver::takeFirstAvailableJobOrSuspendOrWait(ThreadWeaver::Thread*, bool, bool, bool) (this=0x11863c0, th=0x7f66580035d0, threadWasBusy=false, suspendIfInactive=false, justReturning=false) at /opt/kde/src/frameworks/threadweaver/src/weaver.cpp:554
#5  0x00007f66abd35c47 in ThreadWeaver::WorkingHardState::applyForWork(ThreadWeaver::Thread*, bool) (this=0x1025da0, th=0x7f66580035d0, wasBusy=false) at /opt/kde/src/frameworks/threadweaver/src/workinghardstate.cpp:66
#6  0x00007f66abd2d360 in ThreadWeaver::Weaver::applyForWork(ThreadWeaver::Thread*, bool) (this=0x11863c0, th=0x7f66580035d0, wasBusy=false) at /opt/kde/src/frameworks/threadweaver/src/weaver.cpp:568
#7  0x00007f66abd35d4a in ThreadWeaver::WorkingHardState::applyForWork(ThreadWeaver::Thread*, bool) (this=0x1025da0, th=0x7f66580035d0, wasBusy=false) at /opt/kde/src/frameworks/threadweaver/src/workinghardstate.cpp:73
#8  0x00007f66abd2d360 in ThreadWeaver::Weaver::applyForWork(ThreadWeaver::Thread*, bool) (this=0x11863c0, th=0x7f66580035d0, wasBusy=false) at /opt/kde/src/frameworks/threadweaver/src/weaver.cpp:568
#9  0x00007f66abd35d4a in ThreadWeaver::WorkingHardState::applyForWork(ThreadWeaver::Thread*, bool) (this=0x1025da0, th=0x7f66580035d0, wasBusy=false) at /opt/kde/src/frameworks/threadweaver/src/workinghardstate.cpp:73
#10 0x00007f66abd2d360 in ThreadWeaver::Weaver::applyForWork(ThreadWeaver::Thread*, bool) (this=0x11863c0, th=0x7f66580035d0, wasBusy=false) at /opt/kde/src/frameworks/threadweaver/src/weaver.cpp:568
#11 0x00007f66abd35d4a in ThreadWeaver::WorkingHardState::applyForWork(ThreadWeaver::Thread*, bool) (this=0x1025da0, th=0x7f66580035d0, wasBusy=false) at /opt/kde/src/frameworks/threadweaver/src/workinghardstate.cpp:73
#12 0x00007f66abd2d360 in ThreadWeaver::Weaver::applyForWork(ThreadWeaver::Thread*, bool) (this=0x11863c0, th=0x7f66580035d0, wasBusy=false) at /opt/kde/src/frameworks/threadweaver/src/weaver.cpp:568
#13 0x00007f66abd35d4a in ThreadWeaver::WorkingHardState::applyForWork(ThreadWeaver::Thread*, bool) (this=0x1025da0, th=0x7f66580035d0, wasBusy=false) at /opt/kde/src/frameworks/threadweaver/src/workinghardstate.cpp:73
#14 0x00007f66abd2d360 in ThreadWeaver::Weaver::applyForWork(ThreadWeaver::Thread*, bool) (this=0x11863c0, th=0x7f66580035d0, wasBusy=false) at /opt/kde/src/frameworks/threadweaver/src/weaver.cpp:568
#15 0x00007f66abd35d4a in ThreadWeaver::WorkingHardState::applyForWork(ThreadWeaver::Thread*, bool) (this=0x1025da0, th=0x7f66580035d0, wasBusy=true) at /opt/kde/src/frameworks/threadweaver/src/workinghardstate.cpp:73
#16 0x00007f66abd2d360 in ThreadWeaver::Weaver::applyForWork(ThreadWeaver::Thread*, bool) (this=0x11863c0, th=0x7f66580035d0, wasBusy=true) at /opt/kde/src/frameworks/threadweaver/src/weaver.cpp:568
#17 0x00007f66abd31d1e in ThreadWeaver::Thread::run() (this=0x7f66580035d0) at /opt/kde/src/frameworks/threadweaver/src/thread.cpp:103
#18 0x00007f66afa6abd9 in QThreadPrivate::start(void*) (arg=0x7f66580035d0) at thread/qthread_unix.cpp:343
#19 0x00007f66a7a6f464 in start_thread (arg=0x7f665e754700) at pthread_create.c:333
#20 0x00007f66aee6930d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 8 (Thread 0x7f665ef55700 (LWP 23901)):
#0  0x00007f66a7a7509f in pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007f66afa6b97b in QWaitCondition::wait(QMutex*, unsigned long) (time=18446744073709551615, this=0x11864b0) at thread/qwaitcondition_unix.cpp:143
#2  0x00007f66afa6b97b in QWaitCondition::wait(QMutex*, unsigned long) (this=<optimized out>, mutex=0x102ece0, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:215
#3  0x00007f66abd2d546 in ThreadWeaver::Weaver::blockThreadUntilJobsAreBeingAssigned_locked(ThreadWeaver::Thread*) (this=0x11863c0, th=0x7f6658002e20) at /opt/kde/src/frameworks/threadweaver/src/weaver.cpp:594
#4  0x00007f66abd2d21f in ThreadWeaver::Weaver::takeFirstAvailableJobOrSuspendOrWait(ThreadWeaver::Thread*, bool, bool, bool) (this=0x11863c0, th=0x7f6658002e20, threadWasBusy=true, suspendIfInactive=false, justReturning=false) at /opt/kde/src/frameworks/threadweaver/src/weaver.cpp:554
#5  0x00007f66abd35c47 in ThreadWeaver::WorkingHardState::applyForWork(ThreadWeaver::Thread*, bool) (this=0x1025da0, th=0x7f6658002e20, wasBusy=true) at /opt/kde/src/frameworks/threadweaver/src/workinghardstate.cpp:66
#6  0x00007f66abd2d360 in ThreadWeaver::Weaver::applyForWork(ThreadWeaver::Thread*, bool) (this=0x11863c0, th=0x7f6658002e20, wasBusy=true) at /opt/kde/src/frameworks/threadweaver/src/weaver.cpp:568
#7  0x00007f66abd31d1e in ThreadWeaver::Thread::run() (this=0x7f6658002e20) at /opt/kde/src/frameworks/threadweaver/src/thread.cpp:103
#8  0x00007f66afa6abd9 in QThreadPrivate::start(void*) (arg=0x7f6658002e20) at thread/qthread_unix.cpp:343
#9  0x00007f66a7a6f464 in start_thread (arg=0x7f665ef55700) at pthread_create.c:333
#10 0x00007f66aee6930d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 7 (Thread 0x7f6666dbb700 (LWP 23900)):
#0  0x00007f66a7a7509f in pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007f66afa6b97b in QWaitCondition::wait(QMutex*, unsigned long) (time=18446744073709551615, this=0x11864b0) at thread/qwaitcondition_unix.cpp:143
#2  0x00007f66afa6b97b in QWaitCondition::wait(QMutex*, unsigned long) (this=<optimized out>, mutex=0x102ece0, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:215
#3  0x00007f66abd2d546 in ThreadWeaver::Weaver::blockThreadUntilJobsAreBeingAssigned_locked(ThreadWeaver::Thread*) (this=0x11863c0, th=0x3fd0e60) at /opt/kde/src/frameworks/threadweaver/src/weaver.cpp:594
#4  0x00007f66abd2d21f in ThreadWeaver::Weaver::takeFirstAvailableJobOrSuspendOrWait(ThreadWeaver::Thread*, bool, bool, bool) (this=0x11863c0, th=0x3fd0e60, threadWasBusy=false, suspendIfInactive=false, justReturning=false) at /opt/kde/src/frameworks/threadweaver/src/weaver.cpp:554
#5  0x00007f66abd35c47 in ThreadWeaver::WorkingHardState::applyForWork(ThreadWeaver::Thread*, bool) (this=0x1025da0, th=0x3fd0e60, wasBusy=false) at /opt/kde/src/frameworks/threadweaver/src/workinghardstate.cpp:66
#6  0x00007f66abd2d360 in ThreadWeaver::Weaver::applyForWork(ThreadWeaver::Thread*, bool) (this=0x11863c0, th=0x3fd0e60, wasBusy=false) at /opt/kde/src/frameworks/threadweaver/src/weaver.cpp:568
#7  0x00007f66abd35d4a in ThreadWeaver::WorkingHardState::applyForWork(ThreadWeaver::Thread*, bool) (this=0x1025da0, th=0x3fd0e60, wasBusy=true) at /opt/kde/src/frameworks/threadweaver/src/workinghardstate.cpp:73
#8  0x00007f66abd2d360 in ThreadWeaver::Weaver::applyForWork(ThreadWeaver::Thread*, bool) (this=0x11863c0, th=0x3fd0e60, wasBusy=true) at /opt/kde/src/frameworks/threadweaver/src/weaver.cpp:568
#9  0x00007f66abd31d1e in ThreadWeaver::Thread::run() (this=0x3fd0e60) at /opt/kde/src/frameworks/threadweaver/src/thread.cpp:103
#10 0x00007f66afa6abd9 in QThreadPrivate::start(void*) (arg=0x3fd0e60) at thread/qthread_unix.cpp:343
#11 0x00007f66a7a6f464 in start_thread (arg=0x7f6666dbb700) at pthread_create.c:333
#12 0x00007f66aee6930d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 6 (Thread 0x7f66665ba700 (LWP 23892)):
#0  0x00007f66a2ccaae4 in g_mutex_unlock (mutex=0x7f6660002cd0) at /build/glib2.0-wnDt2X/glib2.0-2.48.1/./glib/gthread-posix.c:1347
#1  0x00007f66a2c85920 in g_main_context_prepare (context=context@entry=0x7f6660002cd0, priority=priority@entry=0x7f66665b9b40) at /build/glib2.0-wnDt2X/glib2.0-2.48.1/./glib/gmain.c:3440
#2  0x00007f66a2c862cb in g_main_context_iterate (context=context@entry=0x7f6660002cd0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at /build/glib2.0-wnDt2X/glib2.0-2.48.1/./glib/gmain.c:3820
#3  0x00007f66a2c864ac in g_main_context_iteration (context=0x7f6660002cd0, may_block=may_block@entry=1) at /build/glib2.0-wnDt2X/glib2.0-2.48.1/./glib/gmain.c:3901
#4  0x00007f66afc8229b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7f6660002c00, flags=...) at kernel/qeventdispatcher_glib.cpp:425
#5  0x00007f66afc301ca in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7f66665b9c70, flags=..., flags@entry=...) at kernel/qeventloop.cpp:210
#6  0x00007f66afa662ac in QThread::exec() (this=this@entry=0x2cc66d0) at thread/qthread.cpp:511
#7  0x00007f66b50e4875 in QQmlThreadPrivate::run() (this=0x2cc66d0) at qml/ftw/qqmlthread.cpp:147
#8  0x00007f66afa6abd9 in QThreadPrivate::start(void*) (arg=0x2cc66d0) at thread/qthread_unix.cpp:343
#9  0x00007f66a7a6f464 in start_thread (arg=0x7f66665ba700) at pthread_create.c:333
#10 0x00007f66aee6930d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 5 (Thread 0x7f666cf54700 (LWP 23888)):
#0  0x00007f66afc81770 in socketNotifierSourcePrepare(GSource*, gint*) (timeout=timeout@entry=0x7f666cf53a34) at kernel/qeventdispatcher_glib.cpp:69
#1  0x00007f66a2c8592d in g_main_context_prepare (context=context@entry=0x7f6668000990, priority=priority@entry=0x7f666cf53ac0) at /build/glib2.0-wnDt2X/glib2.0-2.48.1/./glib/gmain.c:3442
#2  0x00007f66a2c862cb in g_main_context_iterate (context=context@entry=0x7f6668000990, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at /build/glib2.0-wnDt2X/glib2.0-2.48.1/./glib/gmain.c:3820
#3  0x00007f66a2c864ac in g_main_context_iteration (context=0x7f6668000990, may_block=may_block@entry=1) at /build/glib2.0-wnDt2X/glib2.0-2.48.1/./glib/gmain.c:3901
#4  0x00007f66afc8229b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7f66680008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:425
#5  0x00007f66afc301ca in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7f666cf53bf0, flags=..., flags@entry=...) at kernel/qeventloop.cpp:210
#6  0x00007f66afa662ac in QThread::exec() (this=<optimized out>) at thread/qthread.cpp:511
#7  0x00007f66acf121ef in KDevelop::CompletionWorkerThread::run() (this=0x18f7eb0) at /opt/kde/src/extragear/kdevelop/kdevplatform/language/codecompletion/codecompletionmodel.cpp:89
#8  0x00007f66afa6abd9 in QThreadPrivate::start(void*) (arg=0x18f7eb0) at thread/qthread_unix.cpp:343
#9  0x00007f66a7a6f464 in start_thread (arg=0x7f666cf54700) at pthread_create.c:333
#10 0x00007f66aee6930d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 4 (Thread 0x7f6679d2b700 (LWP 23887)):
#0  0x00007f66a2c85322 in g_main_context_acquire (context=0x7f6674000990) at /build/glib2.0-wnDt2X/glib2.0-2.48.1/./glib/gmain.c:3211
#1  0x00007f66a2c86255 in g_main_context_iterate (context=context@entry=0x7f6674000990, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at /build/glib2.0-wnDt2X/glib2.0-2.48.1/./glib/gmain.c:3790
#2  0x00007f66a2c864ac in g_main_context_iteration (context=0x7f6674000990, may_block=may_block@entry=1) at /build/glib2.0-wnDt2X/glib2.0-2.48.1/./glib/gmain.c:3901
#3  0x00007f66afc8229b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7f66740008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:425
#4  0x00007f66afc301ca in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7f6679d2abf0, flags=..., flags@entry=...) at kernel/qeventloop.cpp:210
#5  0x00007f66afa662ac in QThread::exec() (this=<optimized out>) at thread/qthread.cpp:511
#6  0x00007f66acf121ef in KDevelop::CompletionWorkerThread::run() (this=0x13db1f0) at /opt/kde/src/extragear/kdevelop/kdevplatform/language/codecompletion/codecompletionmodel.cpp:89
#7  0x00007f66afa6abd9 in QThreadPrivate::start(void*) (arg=0x13db1f0) at thread/qthread_unix.cpp:343
#8  0x00007f66a7a6f464 in start_thread (arg=0x7f6679d2b700) at pthread_create.c:333
#9  0x00007f66aee6930d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 3 (Thread 0x7f668191e700 (LWP 23886)):
#0  0x00007f66a7a75448 in pthread_cond_timedwait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:225
#1  0x00007f66afa6b8c6 in QWaitCondition::wait(QMutex*, unsigned long) (time=1000, this=0x13548c0) at thread/qwaitcondition_unix.cpp:133
#2  0x00007f66afa6b8c6 in QWaitCondition::wait(QMutex*, unsigned long) (time=1000, this=0x13548c0) at thread/qwaitcondition_unix.cpp:141
#3  0x00007f66afa6b8c6 in QWaitCondition::wait(QMutex*, unsigned long) (this=<optimized out>, mutex=0x1353800, time=1000) at thread/qwaitcondition_unix.cpp:215
#4  0x00007f66acdbe513 in KDevelop::DUChainPrivate::CleanupThread::run() (this=0x13537e0) at /opt/kde/src/extragear/kdevelop/kdevplatform/language/duchain/duchain.cpp:282
#5  0x00007f66afa6abd9 in QThreadPrivate::start(void*) (arg=0x13537e0) at thread/qthread_unix.cpp:343
#6  0x00007f66a7a6f464 in start_thread (arg=0x7f668191e700) at pthread_create.c:333
#7  0x00007f66aee6930d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 2 (Thread 0x7f6691ed0700 (LWP 23885)):
#0  0x00007f66a2c85e09 in g_main_context_check (context=context@entry=0x7f6684000990, max_priority=2147483647, fds=fds@entry=0x7f6684018f40, n_fds=n_fds@entry=1) at /build/glib2.0-wnDt2X/glib2.0-2.48.1/./glib/gmain.c:3733
#1  0x00007f66a2c86340 in g_main_context_iterate (context=context@entry=0x7f6684000990, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at /build/glib2.0-wnDt2X/glib2.0-2.48.1/./glib/gmain.c:3837
#2  0x00007f66a2c864ac in g_main_context_iteration (context=0x7f6684000990, may_block=may_block@entry=1) at /build/glib2.0-wnDt2X/glib2.0-2.48.1/./glib/gmain.c:3901
#3  0x00007f66afc8229b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7f66840008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:425
#4  0x00007f66afc301ca in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7f6691ecfc60, flags=..., flags@entry=...) at kernel/qeventloop.cpp:210
#5  0x00007f66afa662ac in QThread::exec() (this=this@entry=0x7f66b5ec9580 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at thread/qthread.cpp:511
#6  0x00007f66b5e593d5 in QDBusConnectionManager::run() (this=0x7f66b5ec9580 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at qdbusconnection.cpp:187
#7  0x00007f66afa6abd9 in QThreadPrivate::start(void*) (arg=0x7f66b5ec9580 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at thread/qthread_unix.cpp:343
#8  0x00007f66a7a6f464 in start_thread (arg=0x7f6691ed0700) at pthread_create.c:333
#9  0x00007f66aee6930d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 1 (Thread 0x7f6695d09940 (LWP 23883)):
[KCrash Handler]
#6  0x00007f66aedb51c8 in __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:54
#7  0x00007f66aedb664a in __GI_abort () at abort.c:89
#8  0x00007f66afa523ae in QMessageLogger::fatal(char const*, ...) const (context=..., message=<synthetic pointer>) at global/qlogging.cpp:1647
#9  0x00007f66afa523ae in QMessageLogger::fatal(char const*, ...) const (this=this@entry=0x7ffc9f2e0650, msg=msg@entry=0x7f66afce9920 "ASSERT: \"%s\" in file %s, line %d") at global/qlogging.cpp:792
#10 0x00007f66afa4dd6e in qt_assert(char const*, char const*, int) (assertion=<optimized out>, file=<optimized out>, line=<optimized out>) at global/qglobal.cpp:3059
#11 0x00007f66b4997f1a in KDevelop::OutputExecuteJob::~OutputExecuteJob() (this=0x484c040, __in_chrg=<optimized out>) at /opt/kde/src/extragear/kdevelop/kdevplatform/outputview/outputexecutejob.cpp:102
#12 0x00007f66739c8566 in NativeAppJob::~NativeAppJob() (this=0x484c040, __in_chrg=<optimized out>) at /opt/kde/build/extragear/kdevelop/kdevplatform/plugins/execute/../../../../../../src/extragear/kdevelop/kdevplatform/plugins/execute/nativeappjob.h:34
#13 0x00007f66739c8596 in NativeAppJob::~NativeAppJob() (this=0x484c040, __in_chrg=<optimized out>) at /opt/kde/build/extragear/kdevelop/kdevplatform/plugins/execute/../../../../../../src/extragear/kdevelop/kdevplatform/plugins/execute/nativeappjob.h:34
#14 0x00007f66afc5bac8 in QObject::event(QEvent*) (this=0x484c040, e=<optimized out>) at kernel/qobject.cpp:1254
#15 0x00007f66b0500f8c in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=<optimized out>, receiver=0x484c040, e=0x18aeab0) at kernel/qapplication.cpp:3799
#16 0x00007f66b0508476 in QApplication::notify(QObject*, QEvent*) (this=0x7ffc9f2e0e80, receiver=0x484c040, e=0x18aeab0) at kernel/qapplication.cpp:3556
#17 0x00007f66afc31c58 in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=0x484c040, event=event@entry=0x18aeab0) at kernel/qcoreapplication.cpp:988
#18 0x00007f66afc3424b in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) (event=0x18aeab0, receiver=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:231
#19 0x00007f66afc3424b in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) (receiver=receiver@entry=0x0, event_type=event_type@entry=0, data=0xd8ffa0) at kernel/qcoreapplication.cpp:1649
#20 0x00007f66afc346b8 in QCoreApplication::sendPostedEvents(QObject*, int) (receiver=receiver@entry=0x0, event_type=event_type@entry=0) at kernel/qcoreapplication.cpp:1503
#21 0x00007f66afc81e73 in postEventSourceDispatch(GSource*, GSourceFunc, gpointer) (s=0xdd1310) at kernel/qeventdispatcher_glib.cpp:276
#22 0x00007f66a2c861a7 in g_main_context_dispatch (context=0x7f668c0016f0) at /build/glib2.0-wnDt2X/glib2.0-2.48.1/./glib/gmain.c:3154
#23 0x00007f66a2c861a7 in g_main_context_dispatch (context=context@entry=0x7f668c0016f0) at /build/glib2.0-wnDt2X/glib2.0-2.48.1/./glib/gmain.c:3769
#24 0x00007f66a2c86400 in g_main_context_iterate (context=context@entry=0x7f668c0016f0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at /build/glib2.0-wnDt2X/glib2.0-2.48.1/./glib/gmain.c:3840
#25 0x00007f66a2c864ac in g_main_context_iteration (context=0x7f668c0016f0, may_block=may_block@entry=1) at /build/glib2.0-wnDt2X/glib2.0-2.48.1/./glib/gmain.c:3901
#26 0x00007f66afc8227f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0xe13d90, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#27 0x00007f66afc301ca in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7ffc9f2e0be0, flags=..., flags@entry=...) at kernel/qeventloop.cpp:210
#28 0x00007f66afc381ad in QCoreApplication::exec() () at kernel/qcoreapplication.cpp:1261
#29 0x000000000040f59d in main(int, char**) (argc=3, argv=0x7ffc9f2e2f68) at /opt/kde/src/extragear/kdevelop/kdevelop/app/main.cpp:759

Possible duplicates by query: bug 364721, bug 363707, bug 362635, bug 362228, bug 355392.

Reported using DrKonqi
Comment 1 Andreas Cord-Landwehr 2016-07-17 12:28:15 UTC
Git commit 1d87fc6302657922354a6fc49e2ce0b1d0d1f918 by Andreas Cord-Landwehr.
Committed on 17/07/2016 at 12:27.
Pushed by cordlandwehr into branch '5.0'.

Do not assert if process survives kill.

Summary:
If process survives kill, an error message is already printed to
indicate the problem. Since we cannot hope to kill the process,
gracefully handle this case.

Test Plan: Manual testing.

Reviewers: #kdevelop, brauch

Reviewed By: #kdevelop, brauch

Subscribers: brauch, kdevelop-devel

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

M  +10   -4    outputview/outputexecutejob.cpp

http://commits.kde.org/kdevplatform/1d87fc6302657922354a6fc49e2ce0b1d0d1f918