Version: unspecified OS: Linux since some time there occur deadlocks on shutdown afaik this is not really new, it was also reported on IRC a few days ago. Reproducible: Sometimes (gdb) thread apply all bt Thread 8 (Thread 0x7f265c427910 (LWP 21158)): #0 pthread_cond_timedwait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:220 #1 0x00007f266c111692 in QWaitConditionPrivate::wait (this=<value optimized out>, mutex=0x2020d40, time=200000) at thread/qwaitcondition_unix.cpp:85 #2 QWaitCondition::wait (this=<value optimized out>, mutex=0x2020d40, time=200000) at thread/qwaitcondition_unix.cpp:159 #3 0x00007f2668c9a037 in KDevelop::DUChainPrivate::CleanupThread::run (this=0x2020d20) at /home/milian/projects/kde4/kdevplatform/language/duchain/duchain.cpp:286 #4 0x00007f266c110775 in QThreadPrivate::start (arg=0x2020d20) at thread/qthread_unix.cpp:248 #5 0x00007f266be81a04 in start_thread (arg=<value optimized out>) at pthread_create.c:300 #6 0x00007f266a54f80d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112 #7 0x0000000000000000 in ?? () Thread 7 (Thread 0x7f26560e5910 (LWP 21159)): #0 pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:261 #1 0x00007f266c11172b in QWaitConditionPrivate::wait (this=<value optimized out>, mutex=0x1cd91b0, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:87 #2 QWaitCondition::wait (this=<value optimized out>, mutex=0x1cd91b0, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:159 #3 0x00007f266dc71096 in ?? () from /usr/lib/libthreadweaver.so.4 #4 0x00007f266dc7374b in ?? () from /usr/lib/libthreadweaver.so.4 #5 0x00007f266dc73764 in ?? () from /usr/lib/libthreadweaver.so.4 #6 0x00007f266dc73764 in ?? () from /usr/lib/libthreadweaver.so.4 #7 0x00007f266dc73764 in ?? () from /usr/lib/libthreadweaver.so.4 #8 0x00007f266dc73764 in ?? () from /usr/lib/libthreadweaver.so.4 #9 0x00007f266dc73764 in ?? () from /usr/lib/libthreadweaver.so.4 #10 0x00007f266dc73764 in ?? () from /usr/lib/libthreadweaver.so.4 #11 0x00007f266dc73764 in ?? () from /usr/lib/libthreadweaver.so.4 #12 0x00007f266dc73764 in ?? () from /usr/lib/libthreadweaver.so.4 #13 0x00007f266dc71bff in ?? () from /usr/lib/libthreadweaver.so.4 #14 0x00007f266dc72058 in ThreadWeaver::Thread::run() () from /usr/lib/libthreadweaver.so.4 #15 0x00007f266c110775 in QThreadPrivate::start (arg=0x28bf470) at thread/qthread_unix.cpp:248 #16 0x00007f266be81a04 in start_thread (arg=<value optimized out>) at pthread_create.c:300 #17 0x00007f266a54f80d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112 #18 0x0000000000000000 in ?? () Thread 6 (Thread 0x7f26550e3910 (LWP 21161)): #0 0x00007f266a548412 in select () from /lib/libc.so.6 #1 0x00007f266c1e1db3 in QProcessManager::run (this=0x7f266c518f20) at io/qprocess_unix.cpp:245 #2 0x00007f266c110775 in QThreadPrivate::start (arg=0x7f266c518f20) at thread/qthread_unix.cpp:248 #3 0x00007f266be81a04 in start_thread (arg=<value optimized out>) at pthread_create.c:300 #4 0x00007f266a54f80d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112 ---Type <return> to continue, or q <return> to quit--- #5 0x0000000000000000 in ?? () Thread 5 (Thread 0x7f26548e2910 (LWP 21167)): #0 pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:261 #1 0x00007f266c11172b in QWaitConditionPrivate::wait (this=<value optimized out>, mutex=0x1cd91b0, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:87 #2 QWaitCondition::wait (this=<value optimized out>, mutex=0x1cd91b0, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:159 #3 0x00007f266dc71096 in ?? () from /usr/lib/libthreadweaver.so.4 #4 0x00007f266dc7374b in ?? () from /usr/lib/libthreadweaver.so.4 #5 0x00007f266dc73764 in ?? () from /usr/lib/libthreadweaver.so.4 #6 0x00007f266dc73764 in ?? () from /usr/lib/libthreadweaver.so.4 #7 0x00007f266dc73764 in ?? () from /usr/lib/libthreadweaver.so.4 #8 0x00007f266dc71bff in ?? () from /usr/lib/libthreadweaver.so.4 #9 0x00007f266dc72058 in ThreadWeaver::Thread::run() () from /usr/lib/libthreadweaver.so.4 #10 0x00007f266c110775 in QThreadPrivate::start (arg=0x2009140) at thread/qthread_unix.cpp:248 #11 0x00007f266be81a04 in start_thread (arg=<value optimized out>) at pthread_create.c:300 #12 0x00007f266a54f80d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112 #13 0x0000000000000000 in ?? () Current language: auto The current source language is "auto; currently c". Thread 4 (Thread 0x7f264f7fe910 (LWP 21185)): #0 pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:261 #1 0x00007f266c11172b in QWaitConditionPrivate::wait (this=<value optimized out>, mutex=0x1cd91b0, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:87 #2 QWaitCondition::wait (this=<value optimized out>, mutex=0x1cd91b0, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:159 #3 0x00007f266dc71096 in ?? () from /usr/lib/libthreadweaver.so.4 #4 0x00007f266dc7374b in ?? () from /usr/lib/libthreadweaver.so.4 #5 0x00007f266dc73764 in ?? () from /usr/lib/libthreadweaver.so.4 #6 0x00007f266dc73764 in ?? () from /usr/lib/libthreadweaver.so.4 #7 0x00007f266dc73764 in ?? () from /usr/lib/libthreadweaver.so.4 #8 0x00007f266dc73764 in ?? () from /usr/lib/libthreadweaver.so.4 #9 0x00007f266dc73764 in ?? () from /usr/lib/libthreadweaver.so.4 #10 0x00007f266dc73764 in ?? () from /usr/lib/libthreadweaver.so.4 #11 0x00007f266dc73764 in ?? () from /usr/lib/libthreadweaver.so.4 #12 0x00007f266dc71bff in ?? () from /usr/lib/libthreadweaver.so.4 #13 0x00007f266dc72058 in ThreadWeaver::Thread::run() () from /usr/lib/libthreadweaver.so.4 #14 0x00007f266c110775 in QThreadPrivate::start (arg=0x2b95710) at thread/qthread_unix.cpp:248 #15 0x00007f266be81a04 in start_thread (arg=<value optimized out>) at pthread_create.c:300 #16 0x00007f266a54f80d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112 #17 0x0000000000000000 in ?? () Current language: auto ---Type <return> to continue, or q <return> to quit--- The current source language is "auto; currently asm". Thread 3 (Thread 0x7f264e7fc910 (LWP 21427)): #0 pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:261 #1 0x00007f2669918396 in QTWTF::TCMalloc_PageHeap::scavengerThread (this=0x7f2669bf6220) at ../3rdparty/javascriptcore/JavaScriptCore/wtf/FastMalloc.cpp:2304 #2 0x00007f26699183d9 in QTWTF::TCMalloc_PageHeap::runScavengerThread (context=0x7f2669c042ec) at ../3rdparty/javascriptcore/JavaScriptCore/wtf/FastMalloc.cpp:1438 #3 0x00007f266be81a04 in start_thread (arg=<value optimized out>) at pthread_create.c:300 #4 0x00007f266a54f80d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112 #5 0x0000000000000000 in ?? () Thread 2 (Thread 0x7f26457fa910 (LWP 21533)): #0 pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:261 #1 0x00007f266c11172b in QWaitConditionPrivate::wait (this=<value optimized out>, mutex=0x1cd91b0, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:87 #2 QWaitCondition::wait (this=<value optimized out>, mutex=0x1cd91b0, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:159 #3 0x00007f266dc71096 in ?? () from /usr/lib/libthreadweaver.so.4 #4 0x00007f266dc7374b in ?? () from /usr/lib/libthreadweaver.so.4 #5 0x00007f266dc71bff in ?? () from /usr/lib/libthreadweaver.so.4 #6 0x00007f266dc72058 in ThreadWeaver::Thread::run() () from /usr/lib/libthreadweaver.so.4 #7 0x00007f266c110775 in QThreadPrivate::start (arg=0x5bb7170) at thread/qthread_unix.cpp:248 #8 0x00007f266be81a04 in start_thread (arg=<value optimized out>) at pthread_create.c:300 #9 0x00007f266a54f80d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112 #10 0x0000000000000000 in ?? () Thread 1 (Thread 0x7f266f87d750 (LWP 21157)): #0 __lll_lock_wait_private () at ../nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S:97 #1 0x00007f266be862cb in _L_lock_20 () from /lib/libpthread.so.0 #2 0x00007f266be86079 in __pthread_cond_destroy (cond=0x7f264812ded8) at pthread_cond_destroy.c:33 #3 0x00007f266c10febd in ~QMutexPrivate (this=0x7f264812de90, __in_chrg=<value optimized out>) at thread/qmutex_unix.cpp:74 #4 0x00007f266c10ba51 in ~QMutex (this=<value optimized out>, __in_chrg=<value optimized out>) at thread/qmutex.cpp:132 #5 0x00007f266a4a8c12 in __run_exit_handlers (status=0) at exit.c:78 #6 *__GI_exit (status=0) at exit.c:100 #7 0x00007f266a48eac4 in __libc_start_main (main=<value optimized out>, argc=<value optimized out>, ubp_av=<value optimized out>, init=<value optimized out>, fini=<value optimized out>, rtld_fini=<value optimized out>, stack_end=0x7fffb5e3f008) at libc-start.c:252 #8 0x00000000004044e9 in _start () at ../sysdeps/x86_64/elf/start.S:113 (gdb)
still reproducible with kdev 4.1
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)
Have you recently switched to Qt 4.7? We are having a similar problem in Digikam under Qt 4.7: bug #247175 Michael
@Michael: No, this bug was triggered months ago the first time and I reproduce it on Qt 4.6.3.
probably a dupe of http://bugreports.qt.nokia.com/browse/QTBUG-16115 as the testcase there also shows this behavior sometimes, esp. the message "QMutex: mutex destroy failure: Device or resource busy" is shown in both.