[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-bugs-dist
Subject:    [Bug 239032] deadlock on shutdown (exit handler destroys QMutex ,
From:       Milian Wolff <mail () milianw ! de>
Date:       2010-09-30 15:12:22
Message-ID: 20100930151224.BA37B6CEC6 () immanuel ! kde ! org
[Download RAW message or body]

https://bugs.kde.org/show_bug.cgi?id=239032





--- Comment #2 from Milian Wolff <mail milianw de>  2010-09-30 17:12:14 ---
better backtrace:

(gdb) thread apply all bt

Thread 7 (Thread 0xb048eb70 (LWP 18743)):
#0  0xb7828424 in __kernel_vsyscall ()
#1  0xb4af4482 in pthread_cond_timedwait@@GLIBC_2.3.2 () at
../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/pthread_cond_timedwait.S:179
#2  0xb554fe64 in __pthread_cond_timedwait (cond=0x990c2c8, mutex=0x990c2b0,
abstime=0xb048e2d0) at forward.c:152
#3  0xb6261f3f in QWaitConditionPrivate::wait (this=0x99175c4, mutex=0x99175c8,
time=200000) at thread/qwaitcondition_unix.cpp:85
#4  QWaitCondition::wait (this=0x99175c4, mutex=0x99175c8, time=200000) at
thread/qwaitcondition_unix.cpp:159
#5  0xb4f12c60 in KDevelop::DUChainPrivate::CleanupThread::run (this=0x99175b8)
at /home/milianw/projects/kde4/kdevplatform/language/duchain/duchain.cpp:286
#6  0xb6260fbe in QThreadPrivate::start (arg=0x99175b8) at
thread/qthread_unix.cpp:248
#7  0xb4aef955 in start_thread (arg=0xb048eb70) at pthread_create.c:300
#8  0xb5542e7e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130

Thread 6 (Thread 0xafb84b70 (LWP 18745)):
#0  0xb7828424 in __kernel_vsyscall ()
#1  0xb553c011 in select () at ../sysdeps/unix/syscall-template.S:82
#2  0xb633825c in QProcessManager::run (this=0xb6474390) at
io/qprocess_unix.cpp:245
#3  0xb6260fbe in QThreadPrivate::start (arg=0xb6474390) at
thread/qthread_unix.cpp:248
#4  0xb4aef955 in start_thread (arg=0xafb84b70) at pthread_create.c:300
#5  0xb5542e7e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130

Thread 5 (Thread 0xae984b70 (LWP 18747)):
#0  0xb7828424 in __kernel_vsyscall ()
#1  0xb4af3f7f in __pthread_cond_wait (cond=0x99d7b40, mutex=0x99d7b28) at
pthread_cond_wait.c:153
#2  0xb554fe0d in __pthread_cond_wait (cond=0x99d7b40, mutex=0x99d7b28) at
forward.c:139
#3  0xb6261fb7 in QWaitConditionPrivate::wait (this=0x99a4520, mutex=0x99b2760,
time=4294967295) at thread/qwaitcondition_unix.cpp:87
#4  QWaitCondition::wait (this=0x99a4520, mutex=0x99b2760, time=4294967295) at
thread/qwaitcondition_unix.cpp:159
#5  0xb711a682 in
ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=0x99a4508,
th=0x99ab258)
    at ../../../threadweaver/Weaver/WeaverImpl.cpp:365
#6  0xb711d3dc in ThreadWeaver::WorkingHardState::waitForAvailableJob
(this=0x99b2460, th=0x99ab258) at
../../../threadweaver/Weaver/WorkingHardState.cpp:80
#7  0xb711924b in ThreadWeaver::WeaverImpl::waitForAvailableJob
(this=0x99a4508, th=0x99ab258) at
../../../threadweaver/Weaver/WeaverImpl.cpp:356
#8  0xb711d4d2 in ThreadWeaver::WorkingHardState::applyForWork (this=0x99b2460,
th=0x99ab258) at ../../../threadweaver/Weaver/WorkingHardState.cpp:71
#9  0xb711abe3 in ThreadWeaver::WeaverImpl::applyForWork (this=0x99a4508,
th=0x99ab258, previous=0xaf20cc98) at
../../../threadweaver/Weaver/WeaverImpl.cpp:351
#10 0xb711b57e in ThreadWeaver::ThreadRunHelper::run (this=0xae9842f4,
parent=0x99a4508, th=0x99ab258) at ../../../threadweaver/Weaver/Thread.cpp:87
#11 0xb711bc9b in ThreadWeaver::Thread::run (this=0x99ab258) at
../../../threadweaver/Weaver/Thread.cpp:142
#12 0xb6260fbe in QThreadPrivate::start (arg=0x99ab258) at
thread/qthread_unix.cpp:248
---Type <return> to continue, or q <return> to quit---
#13 0xb4aef955 in start_thread (arg=0xae984b70) at pthread_create.c:300
#14 0xb5542e7e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130

Thread 4 (Thread 0xade85b70 (LWP 18749)):
#0  0xb7828424 in __kernel_vsyscall ()
#1  0xb4af3f7f in __pthread_cond_wait (cond=0x99d7b40, mutex=0x99d7b28) at
pthread_cond_wait.c:153
#2  0xb554fe0d in __pthread_cond_wait (cond=0x99d7b40, mutex=0x99d7b28) at
forward.c:139
#3  0xb6261fb7 in QWaitConditionPrivate::wait (this=0x99a4520, mutex=0x99b2760,
time=4294967295) at thread/qwaitcondition_unix.cpp:87
#4  QWaitCondition::wait (this=0x99a4520, mutex=0x99b2760, time=4294967295) at
thread/qwaitcondition_unix.cpp:159
#5  0xb711a682 in
ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=0x99a4508,
th=0x9c29ba8)
    at ../../../threadweaver/Weaver/WeaverImpl.cpp:365
#6  0xb711d3dc in ThreadWeaver::WorkingHardState::waitForAvailableJob
(this=0x99b2460, th=0x9c29ba8) at
../../../threadweaver/Weaver/WorkingHardState.cpp:80
#7  0xb711924b in ThreadWeaver::WeaverImpl::waitForAvailableJob
(this=0x99a4508, th=0x9c29ba8) at
../../../threadweaver/Weaver/WeaverImpl.cpp:356
#8  0xb711d4d2 in ThreadWeaver::WorkingHardState::applyForWork (this=0x99b2460,
th=0x9c29ba8) at ../../../threadweaver/Weaver/WorkingHardState.cpp:71
#9  0xb711abe3 in ThreadWeaver::WeaverImpl::applyForWork (this=0x99a4508,
th=0x9c29ba8, previous=0x0) at ../../../threadweaver/Weaver/WeaverImpl.cpp:351
#10 0xb711d4f1 in ThreadWeaver::WorkingHardState::applyForWork (this=0x99b2460,
th=0x9c29ba8) at ../../../threadweaver/Weaver/WorkingHardState.cpp:74
#11 0xb711abe3 in ThreadWeaver::WeaverImpl::applyForWork (this=0x99a4508,
th=0x9c29ba8, previous=0x0) at ../../../threadweaver/Weaver/WeaverImpl.cpp:351
#12 0xb711b57e in ThreadWeaver::ThreadRunHelper::run (this=0xade852f4,
parent=0x99a4508, th=0x9c29ba8) at ../../../threadweaver/Weaver/Thread.cpp:87
#13 0xb711bc9b in ThreadWeaver::Thread::run (this=0x9c29ba8) at
../../../threadweaver/Weaver/Thread.cpp:142
#14 0xb6260fbe in QThreadPrivate::start (arg=0x9c29ba8) at
thread/qthread_unix.cpp:248
#15 0xb4aef955 in start_thread (arg=0xade85b70) at pthread_create.c:300
#16 0xb5542e7e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130

Thread 3 (Thread 0xac66fb70 (LWP 18759)):
#0  0xb7828424 in __kernel_vsyscall ()
#1  0xb4af3f7f in __pthread_cond_wait (cond=0x99d7b40, mutex=0x99d7b28) at
pthread_cond_wait.c:153
#2  0xb554fe0d in __pthread_cond_wait (cond=0x99d7b40, mutex=0x99d7b28) at
forward.c:139
#3  0xb6261fb7 in QWaitConditionPrivate::wait (this=0x99a4520, mutex=0x99b2760,
time=4294967295) at thread/qwaitcondition_unix.cpp:87
#4  QWaitCondition::wait (this=0x99a4520, mutex=0x99b2760, time=4294967295) at
thread/qwaitcondition_unix.cpp:159
#5  0xb711a682 in
ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=0x99a4508,
th=0xaf207268)
    at ../../../threadweaver/Weaver/WeaverImpl.cpp:365
#6  0xb711d3dc in ThreadWeaver::WorkingHardState::waitForAvailableJob
(this=0x99b2460, th=0xaf207268) at
../../../threadweaver/Weaver/WorkingHardState.cpp:80
#7  0xb711924b in ThreadWeaver::WeaverImpl::waitForAvailableJob
(this=0x99a4508, th=0xaf207268) at
../../../threadweaver/Weaver/WeaverImpl.cpp:356
#8  0xb711d4d2 in ThreadWeaver::WorkingHardState::applyForWork (this=0x99b2460,
th=0xaf207268) at ../../../threadweaver/Weaver/WorkingHardState.cpp:71
#9  0xb711abe3 in ThreadWeaver::WeaverImpl::applyForWork (this=0x99a4508,
th=0xaf207268, previous=0x0) at ../../../threadweaver/Weaver/WeaverImpl.cpp:351
---Type <return> to continue, or q <return> to quit---
#10 0xb711b57e in ThreadWeaver::ThreadRunHelper::run (this=0xac66f2f4,
parent=0x99a4508, th=0xaf207268) at ../../../threadweaver/Weaver/Thread.cpp:87
#11 0xb711bc9b in ThreadWeaver::Thread::run (this=0xaf207268) at
../../../threadweaver/Weaver/Thread.cpp:142
#12 0xb6260fbe in QThreadPrivate::start (arg=0xaf207268) at
thread/qthread_unix.cpp:248
#13 0xb4aef955 in start_thread (arg=0xac66fb70) at pthread_create.c:300
#14 0xb5542e7e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130

Thread 2 (Thread 0xaa787b70 (LWP 18916)):
#0  0xb7828424 in __kernel_vsyscall ()
#1  0xb4af3f7f in __pthread_cond_wait (cond=0xb541024c, mutex=0xb5410234) at
pthread_cond_wait.c:153
#2  0xb554fe0d in __pthread_cond_wait (cond=0xb541024c, mutex=0xb5410234) at
forward.c:139
#3  0xb5332417 in QTWTF::TCMalloc_PageHeap::scavengerThread (this=0xb540b160)
at ../3rdparty/javascriptcore/JavaScriptCore/wtf/FastMalloc.cpp:2304
#4  0xb5332461 in QTWTF::TCMalloc_PageHeap::runScavengerThread
(context=0xb540b160) at
../3rdparty/javascriptcore/JavaScriptCore/wtf/FastMalloc.cpp:1438
#5  0xb4aef955 in start_thread (arg=0xaa787b70) at pthread_create.c:300
#6  0xb5542e7e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130

Thread 1 (Thread 0xb2e3e930 (LWP 18742)):
#0  0xb7828424 in __kernel_vsyscall ()
#1  0xb4af6c03 in __lll_lock_wait_private () at
../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/lowlevellock.S:95
#2  0xb4af3e0f in _L_lock_23 () from /lib/i686/cmov/libpthread.so.0
#3  0xb4af3c89 in __pthread_cond_destroy (cond=0xa9951d18) at
pthread_cond_destroy.c:33
#4  0xb554fd36 in __pthread_cond_destroy (cond=0xa9951d18) at forward.c:107
#5  0xb62605a8 in ~QMutexPrivate (this=0xa9951ce8, __in_chrg=<value optimized
out>) at thread/qmutex_unix.cpp:74
#6  0xb625bb28 in ~QMutex (this=0xfffffe00, __in_chrg=<value optimized out>) at
thread/qmutex.cpp:132
#7  0xb54a62bf in __run_exit_handlers (status=0, listp=0xb55b9304,
run_list_atexit=true) at exit.c:78
#8  0xb54a632f in *__GI_exit (status=0) at exit.c:100
#9  0xb548dc7e in __libc_start_main (main=0x804adc4 <main>, argc=3,
ubp_av=0xbf95bab4, init=0x8052ec0 <__libc_csu_init>, fini=0x8052eb0
<__libc_csu_fini>, 
    rtld_fini=0xb78370b0 <_dl_fini>, stack_end=0xbf95baac) at libc-start.c:260
#10 0x0804ad31 in _start ()
(gdb)

-- 
Configure bugmail: https://bugs.kde.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are watching all bug changes.
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic