Bug 239032 - deadlock on shutdown (exit handler destroys QMutex , sys call is waiting)
Summary: deadlock on shutdown (exit handler destroys QMutex , sys call is waiting)
Status: RESOLVED UPSTREAM
Alias: None
Product: kdevelop
Classification: Applications
Component: general (show other bugs)
Version: unspecified
Platform: Unlisted Binaries Linux
: NOR crash
Target Milestone: 4.0.1
Assignee: kdevelop-bugs-null
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-05-27 18:41 UTC by Milian Wolff
Modified: 2010-12-18 14:00 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 Milian Wolff 2010-05-27 18:41:11 UTC
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)
Comment 1 Milian Wolff 2010-09-30 17:05:36 UTC
still reproducible with kdev 4.1
Comment 2 Milian Wolff 2010-09-30 17:12:14 UTC
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)
Comment 3 Michael G. Hansen 2010-09-30 23:02:31 UTC
Have you recently switched to Qt 4.7? We are having a similar problem in Digikam under Qt 4.7: bug #247175

Michael
Comment 4 Milian Wolff 2010-10-01 12:02:26 UTC
@Michael: No, this bug was triggered months ago the first time and I reproduce it on Qt 4.6.3.
Comment 5 Milian Wolff 2010-12-18 14:00:00 UTC
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.