Bug 226175 - deadlock in KDevelop::DocumentRangeObject::syncFromSmart / OptionalMutexLocker
Summary: deadlock in KDevelop::DocumentRangeObject::syncFromSmart / OptionalMutexLocker
Status: RESOLVED UNMAINTAINED
Alias: None
Product: kdevelop
Classification: Applications
Component: general (other bugs)
Version First Reported In: unspecified
Platform: unspecified Unspecified
: NOR normal
Target Milestone: ---
Assignee: kdevelop-bugs-null
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-02-10 19:10 UTC by Milian Wolff
Modified: 2011-07-06 15:55 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed/Implemented In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Milian Wolff 2010-02-10 19:10:47 UTC
Version:            (using KDE 4.3.5)
Installed from:    Unspecified

I just hit a deadlock: After 5min of waits I had a lock at the BT again and it was the same...

(gdb) thread apply all bt

Thread 14 (Thread 0xb11b9b70 (LWP 9970)):
#0  0xb785e424 in __kernel_vsyscall ()   
#1  0xb4d663d2 in pthread_cond_timedwait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/pthread_cond_timedwait.S:179
#2  0xb5a02884 in __pthread_cond_timedwait (cond=0x88ef340, mutex=0x88ef328, abstime=0xb11b930c) at forward.c:152                         
#3  0xb660859c in QWaitConditionPrivate::wait (this=0x88f171c, mutex=0x88f1720, time=200000) at thread/qwaitcondition_unix.cpp:85         
#4  QWaitCondition::wait (this=0x88f171c, mutex=0x88f1720, time=200000) at thread/qwaitcondition_unix.cpp:159                             
#5  0xb5453231 in KDevelop::DUChainPrivate::CleanupThread::run (this=0x88f1710) at /home/milianw/projects/kde4/kdevplatform/language/duchain/duchain.cpp:286
#6  0xb66075e2 in QThreadPrivate::start (arg=0x88f1710) at thread/qthread_unix.cpp:188                                                                      
#7  0xb4d62585 in start_thread (arg=0xb11b9b70) at pthread_create.c:300                                                                                     
#8  0xb59f52be in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130                                                                                   

Thread 13 (Thread 0xafe8ab70 (LWP 9976)):
#0  0xb785e424 in __kernel_vsyscall ()   
#1  0xb4d660a5 in pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/pthread_cond_wait.S:122
#2  0xb5a0282d in __pthread_cond_wait (cond=0x8a0b718, mutex=0x8a0b700) at forward.c:139                                        
#3  0xb66085c2 in QWaitConditionPrivate::wait (this=0x8a131d8, mutex=0x89f8230, time=4294967295) at thread/qwaitcondition_unix.cpp:87
#4  QWaitCondition::wait (this=0x8a131d8, mutex=0x89f8230, time=4294967295) at thread/qwaitcondition_unix.cpp:159                    
#5  0xb7174648 in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=0x8a131c0, th=0x89c9590) at ../../../threadweaver/Weaver/WeaverImpl.cpp:365
#6  0xb71773ac in ThreadWeaver::WorkingHardState::waitForAvailableJob (this=0x8a0f6b0, th=0x89c9590) at ../../../threadweaver/Weaver/WorkingHardState.cpp:80      
#7  0xb717323b in ThreadWeaver::WeaverImpl::waitForAvailableJob (this=0x8a131c0, th=0x89c9590) at ../../../threadweaver/Weaver/WeaverImpl.cpp:356                 
#8  0xb71774a2 in ThreadWeaver::WorkingHardState::applyForWork (this=0x8a0f6b0, th=0x89c9590) at ../../../threadweaver/Weaver/WorkingHardState.cpp:71             
#9  0xb7174bd3 in ThreadWeaver::WeaverImpl::applyForWork (this=0x8a131c0, th=0x89c9590, previous=0x0) at ../../../threadweaver/Weaver/WeaverImpl.cpp:351          
#10 0xb71774c1 in ThreadWeaver::WorkingHardState::applyForWork (this=0x8a0f6b0, th=0x89c9590) at ../../../threadweaver/Weaver/WorkingHardState.cpp:74             
#11 0xb7174bd3 in ThreadWeaver::WeaverImpl::applyForWork (this=0x8a131c0, th=0x89c9590, previous=0x0) at ../../../threadweaver/Weaver/WeaverImpl.cpp:351          
#12 0xb71774c1 in ThreadWeaver::WorkingHardState::applyForWork (this=0x8a0f6b0, th=0x89c9590) at ../../../threadweaver/Weaver/WorkingHardState.cpp:74             
#13 0xb7174bd3 in ThreadWeaver::WeaverImpl::applyForWork (this=0x8a131c0, th=0x89c9590, previous=0x0) at ../../../threadweaver/Weaver/WeaverImpl.cpp:351          
#14 0xb71774c1 in ThreadWeaver::WorkingHardState::applyForWork (this=0x8a0f6b0, th=0x89c9590) at ../../../threadweaver/Weaver/WorkingHardState.cpp:74             
#15 0xb7174bd3 in ThreadWeaver::WeaverImpl::applyForWork (this=0x8a131c0, th=0x89c9590, previous=0x0) at ../../../threadweaver/Weaver/WeaverImpl.cpp:351          
---Type <return> to continue, or q <return> to quit---                                                                                                            
#16 0xb71774c1 in ThreadWeaver::WorkingHardState::applyForWork (this=0x8a0f6b0, th=0x89c9590) at ../../../threadweaver/Weaver/WorkingHardState.cpp:74             
#17 0xb7174bd3 in ThreadWeaver::WeaverImpl::applyForWork (this=0x8a131c0, th=0x89c9590, previous=0x0) at ../../../threadweaver/Weaver/WeaverImpl.cpp:351          
#18 0xb71774c1 in ThreadWeaver::WorkingHardState::applyForWork (this=0x8a0f6b0, th=0x89c9590) at ../../../threadweaver/Weaver/WorkingHardState.cpp:74             
#19 0xb7174bd3 in ThreadWeaver::WeaverImpl::applyForWork (this=0x8a131c0, th=0x89c9590, previous=0x0) at ../../../threadweaver/Weaver/WeaverImpl.cpp:351          
#20 0xb71774c1 in ThreadWeaver::WorkingHardState::applyForWork (this=0x8a0f6b0, th=0x89c9590) at ../../../threadweaver/Weaver/WorkingHardState.cpp:74             
#21 0xb7174bd3 in ThreadWeaver::WeaverImpl::applyForWork (this=0x8a131c0, th=0x89c9590, previous=0x0) at ../../../threadweaver/Weaver/WeaverImpl.cpp:351          
#22 0xb71774c1 in ThreadWeaver::WorkingHardState::applyForWork (this=0x8a0f6b0, th=0x89c9590) at ../../../threadweaver/Weaver/WorkingHardState.cpp:74             
#23 0xb7174bd3 in ThreadWeaver::WeaverImpl::applyForWork (this=0x8a131c0, th=0x89c9590, previous=0x0) at ../../../threadweaver/Weaver/WeaverImpl.cpp:351          
#24 0xb71774c1 in ThreadWeaver::WorkingHardState::applyForWork (this=0x8a0f6b0, th=0x89c9590) at ../../../threadweaver/Weaver/WorkingHardState.cpp:74             
#25 0xb7174bd3 in ThreadWeaver::WeaverImpl::applyForWork (this=0x8a131c0, th=0x89c9590, previous=0x0) at ../../../threadweaver/Weaver/WeaverImpl.cpp:351          
#26 0xb71774c1 in ThreadWeaver::WorkingHardState::applyForWork (this=0x8a0f6b0, th=0x89c9590) at ../../../threadweaver/Weaver/WorkingHardState.cpp:74             
#27 0xb7174bd3 in ThreadWeaver::WeaverImpl::applyForWork (this=0x8a131c0, th=0x89c9590, previous=0xab7da80) at ../../../threadweaver/Weaver/WeaverImpl.cpp:351    
#28 0xb71754be in ThreadWeaver::ThreadRunHelper::run (this=0xafe8a330, parent=0x8a131c0, th=0x89c9590) at ../../../threadweaver/Weaver/Thread.cpp:87              
#29 0xb7175afb in ThreadWeaver::Thread::run (this=0x89c9590) at ../../../threadweaver/Weaver/Thread.cpp:142                                                       
#30 0xb66075e2 in QThreadPrivate::start (arg=0x89c9590) at thread/qthread_unix.cpp:188                                                                            
#31 0xb4d62585 in start_thread (arg=0xafe8ab70) at pthread_create.c:300                                                                                           
#32 0xb59f52be in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130                                                                                         

Thread 12 (Thread 0xaf689b70 (LWP 9978)):
#0  0xb785e424 in __kernel_vsyscall ()   
#1  0xb4d660a5 in pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/pthread_cond_wait.S:122
#2  0xb5a0282d in __pthread_cond_wait (cond=0x8a0b718, mutex=0x8a0b700) at forward.c:139                                        
#3  0xb66085c2 in QWaitConditionPrivate::wait (this=0x8a131d8, mutex=0x89f8230, time=4294967295) at thread/qwaitcondition_unix.cpp:87
#4  QWaitCondition::wait (this=0x8a131d8, mutex=0x89f8230, time=4294967295) at thread/qwaitcondition_unix.cpp:159                    
#5  0xb7174648 in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=0x8a131c0, th=0x8a875e0) at ../../../threadweaver/Weaver/WeaverImpl.cpp:365
#6  0xb71773ac in ThreadWeaver::WorkingHardState::waitForAvailableJob (this=0x8a0f6b0, th=0x8a875e0) at ../../../threadweaver/Weaver/WorkingHardState.cpp:80      
#7  0xb717323b in ThreadWeaver::WeaverImpl::waitForAvailableJob (this=0x8a131c0, th=0x8a875e0) at ../../../threadweaver/Weaver/WeaverImpl.cpp:356                 
#8  0xb71774a2 in ThreadWeaver::WorkingHardState::applyForWork (this=0x8a0f6b0, th=0x8a875e0) at ../../../threadweaver/Weaver/WorkingHardState.cpp:71             
#9  0xb7174bd3 in ThreadWeaver::WeaverImpl::applyForWork (this=0x8a131c0, th=0x8a875e0, previous=0x0) at ../../../threadweaver/Weaver/WeaverImpl.cpp:351          
---Type <return> to continue, or q <return> to quit---                                                                                                            
#10 0xb71774c1 in ThreadWeaver::WorkingHardState::applyForWork (this=0x8a0f6b0, th=0x8a875e0) at ../../../threadweaver/Weaver/WorkingHardState.cpp:74             
#11 0xb7174bd3 in ThreadWeaver::WeaverImpl::applyForWork (this=0x8a131c0, th=0x8a875e0, previous=0xa939580) at ../../../threadweaver/Weaver/WeaverImpl.cpp:351    
#12 0xb71754be in ThreadWeaver::ThreadRunHelper::run (this=0xaf689330, parent=0x8a131c0, th=0x8a875e0) at ../../../threadweaver/Weaver/Thread.cpp:87              
#13 0xb7175afb in ThreadWeaver::Thread::run (this=0x8a875e0) at ../../../threadweaver/Weaver/Thread.cpp:142                                                       
#14 0xb66075e2 in QThreadPrivate::start (arg=0x8a875e0) at thread/qthread_unix.cpp:188                                                                            
#15 0xb4d62585 in start_thread (arg=0xaf689b70) at pthread_create.c:300                                                                                           
#16 0xb59f52be in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130                                                                                         

Thread 11 (Thread 0xadc2bb70 (LWP 9979)):
#0  0xb785e424 in __kernel_vsyscall ()   
#1  0xb59ee5b1 in select () from /lib/i686/cmov/libc.so.6
#2  0xb66d64a0 in QProcessManager::run (this=0x85bfcd8) at io/qprocess_unix.cpp:296
#3  0xb66075e2 in QThreadPrivate::start (arg=0x85bfcd8) at thread/qthread_unix.cpp:188
#4  0xb4d62585 in start_thread (arg=0xadc2bb70) at pthread_create.c:300               
#5  0xb59f52be in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130             

Thread 10 (Thread 0xad42ab70 (LWP 9984)):
#0  0xb785e424 in __kernel_vsyscall ()   
#1  0xb59e7b47 in *__GI___poll (fds=0x8c6e858, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:87
#2  0xb4cae04b in g_poll () from /lib/libglib-2.0.so.0                                                    
#3  0xb4ca120b in ?? () from /lib/libglib-2.0.so.0                                                        
#4  0xb4ca1503 in g_main_context_iteration () from /lib/libglib-2.0.so.0                                  
#5  0xb6723041 in QEventDispatcherGlib::processEvents (this=0x8c7d238, flags=...) at kernel/qeventdispatcher_glib.cpp:407
#6  0xb66f683a in QEventLoop::processEvents (this=0xad42a300, flags=...) at kernel/qeventloop.cpp:149                    
#7  0xb66f6c82 in QEventLoop::exec (this=0xad42a300, flags=...) at kernel/qeventloop.cpp:201                             
#8  0xb6604309 in QThread::exec (this=0x8c7d380) at thread/qthread.cpp:487                                               
#9  0xb555d49b in KDevelop::CompletionWorkerThread::run (this=0x8c7d380) at /home/milianw/projects/kde4/kdevplatform/language/codecompletion/codecompletionmodel.cpp:82
#10 0xb66075e2 in QThreadPrivate::start (arg=0x8c7d380) at thread/qthread_unix.cpp:188                                                                                 
#11 0xb4d62585 in start_thread (arg=0xad42ab70) at pthread_create.c:300                                                                                                
---Type <return> to continue, or q <return> to quit---                                                                                                                 
#12 0xb59f52be in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130                                                                                              

Thread 9 (Thread 0xacc29b70 (LWP 10071)):
#0  0xb785e424 in __kernel_vsyscall ()   
#1  0xb59e7b47 in *__GI___poll (fds=0x8e50e00, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:87
#2  0xb4cae04b in g_poll () from /lib/libglib-2.0.so.0                                                    
#3  0xb4ca120b in ?? () from /lib/libglib-2.0.so.0                                                        
#4  0xb4ca1503 in g_main_context_iteration () from /lib/libglib-2.0.so.0                                  
#5  0xb6723041 in QEventDispatcherGlib::processEvents (this=0x8e5eb80, flags=...) at kernel/qeventdispatcher_glib.cpp:407
#6  0xb66f683a in QEventLoop::processEvents (this=0xacc29300, flags=...) at kernel/qeventloop.cpp:149                    
#7  0xb66f6c82 in QEventLoop::exec (this=0xacc29300, flags=...) at kernel/qeventloop.cpp:201                             
#8  0xb6604309 in QThread::exec (this=0x8fba720) at thread/qthread.cpp:487                                               
#9  0xb555d49b in KDevelop::CompletionWorkerThread::run (this=0x8fba720) at /home/milianw/projects/kde4/kdevplatform/language/codecompletion/codecompletionmodel.cpp:82
#10 0xb66075e2 in QThreadPrivate::start (arg=0x8fba720) at thread/qthread_unix.cpp:188                                                                                 
#11 0xb4d62585 in start_thread (arg=0xacc29b70) at pthread_create.c:300                                                                                                
#12 0xb59f52be in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130                                                                                              

Thread 8 (Thread 0xa9fdfb70 (LWP 10072)):
#0  0xb785e424 in __kernel_vsyscall ()   
#1  0xb59e7b47 in *__GI___poll (fds=0x8e47e50, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:87
#2  0xb4cae04b in g_poll () from /lib/libglib-2.0.so.0                                                    
#3  0xb4ca120b in ?? () from /lib/libglib-2.0.so.0                                                        
#4  0xb4ca1503 in g_main_context_iteration () from /lib/libglib-2.0.so.0                                  
#5  0xb6723041 in QEventDispatcherGlib::processEvents (this=0x8e50ac0, flags=...) at kernel/qeventdispatcher_glib.cpp:407
#6  0xb66f683a in QEventLoop::processEvents (this=0xa9fdf300, flags=...) at kernel/qeventloop.cpp:149                    
#7  0xb66f6c82 in QEventLoop::exec (this=0xa9fdf300, flags=...) at kernel/qeventloop.cpp:201                             
#8  0xb6604309 in QThread::exec (this=0x8fbac00) at thread/qthread.cpp:487                                               
#9  0xb555d49b in KDevelop::CompletionWorkerThread::run (this=0x8fbac00) at /home/milianw/projects/kde4/kdevplatform/language/codecompletion/codecompletionmodel.cpp:82
#10 0xb66075e2 in QThreadPrivate::start (arg=0x8fbac00) at thread/qthread_unix.cpp:188                                                                                 
---Type <return> to continue, or q <return> to quit---                                                                                                                 
#11 0xb4d62585 in start_thread (arg=0xa9fdfb70) at pthread_create.c:300                                                                                                
#12 0xb59f52be in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130                                                                                              

Thread 7 (Thread 0xa97deb70 (LWP 10073)):
#0  0xb785e424 in __kernel_vsyscall ()   
#1  0xb4d663d2 in pthread_cond_timedwait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/pthread_cond_timedwait.S:179
#2  0xb5a02884 in __pthread_cond_timedwait (cond=0xa97de284, mutex=0xa97de2b4, abstime=0xa97de2f0) at forward.c:152                       
#3  0xb6606fee in thread_sleep (ti=0xa97de2f0) at thread/qthread_unix.cpp:297                                                             
#4  0xb660711b in QThread::msleep (msecs=<value optimized out>) at thread/qthread_unix.cpp:323                                            
#5  0xaa96e8d2 in UIBlockTester::UIBlockTesterThread::run (this=0x90038d8) at /home/milianw/projects/kde4/kdevelop/languages/cpp/cpplanguagesupport.cpp:672
#6  0xb66075e2 in QThreadPrivate::start (arg=0x90038d8) at thread/qthread_unix.cpp:188                                                                     
#7  0xb4d62585 in start_thread (arg=0xa97deb70) at pthread_create.c:300                                                                                    
#8  0xb59f52be in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130                                                                                  

Thread 6 (Thread 0xa8f5db70 (LWP 10082)):
#0  0xb785e424 in __kernel_vsyscall ()   
#1  0xb4d660a5 in pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/pthread_cond_wait.S:122
#2  0xb5a0282d in __pthread_cond_wait (cond=0x8788eb0, mutex=0x8788e98) at forward.c:139                                        
#3  0xb66085c2 in QWaitConditionPrivate::wait (this=0x87428a8, mutex=0x8742900, time=4294967295) at thread/qwaitcondition_unix.cpp:87
#4  QWaitCondition::wait (this=0x87428a8, mutex=0x8742900, time=4294967295) at thread/qwaitcondition_unix.cpp:159                    
#5  0xb7174648 in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=0x8742890, th=0x9255118) at ../../../threadweaver/Weaver/WeaverImpl.cpp:365
#6  0xb71773ac in ThreadWeaver::WorkingHardState::waitForAvailableJob (this=0x8744ac8, th=0x9255118) at ../../../threadweaver/Weaver/WorkingHardState.cpp:80      
#7  0xb717323b in ThreadWeaver::WeaverImpl::waitForAvailableJob (this=0x8742890, th=0x9255118) at ../../../threadweaver/Weaver/WeaverImpl.cpp:356                 
#8  0xb71774a2 in ThreadWeaver::WorkingHardState::applyForWork (this=0x8744ac8, th=0x9255118) at ../../../threadweaver/Weaver/WorkingHardState.cpp:71             
#9  0xb7174bd3 in ThreadWeaver::WeaverImpl::applyForWork (this=0x8742890, th=0x9255118, previous=0x0) at ../../../threadweaver/Weaver/WeaverImpl.cpp:351          
#10 0xb71774c1 in ThreadWeaver::WorkingHardState::applyForWork (this=0x8744ac8, th=0x9255118) at ../../../threadweaver/Weaver/WorkingHardState.cpp:74             
#11 0xb7174bd3 in ThreadWeaver::WeaverImpl::applyForWork (this=0x8742890, th=0x9255118, previous=0xa8da8f8) at ../../../threadweaver/Weaver/WeaverImpl.cpp:351    
#12 0xb71754be in ThreadWeaver::ThreadRunHelper::run (this=0xa8f5d330, parent=0x8742890, th=0x9255118) at ../../../threadweaver/Weaver/Thread.cpp:87              
#13 0xb7175afb in ThreadWeaver::Thread::run (this=0x9255118) at ../../../threadweaver/Weaver/Thread.cpp:142                                                       
---Type <return> to continue, or q <return> to quit---                                                                                                            
#14 0xb66075e2 in QThreadPrivate::start (arg=0x9255118) at thread/qthread_unix.cpp:188                                                                            
#15 0xb4d62585 in start_thread (arg=0xa8f5db70) at pthread_create.c:300                                                                                           
#16 0xb59f52be in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130                                                                                         

Thread 5 (Thread 0xa875cb70 (LWP 10083)):
#0  0xb785e424 in __kernel_vsyscall ()   
#1  0xb4d660a5 in pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/pthread_cond_wait.S:122
#2  0xb5a0282d in __pthread_cond_wait (cond=0x8788eb0, mutex=0x8788e98) at forward.c:139                                        
#3  0xb66085c2 in QWaitConditionPrivate::wait (this=0x87428a8, mutex=0x8742900, time=4294967295) at thread/qwaitcondition_unix.cpp:87
#4  QWaitCondition::wait (this=0x87428a8, mutex=0x8742900, time=4294967295) at thread/qwaitcondition_unix.cpp:159                    
#5  0xb7174648 in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=0x8742890, th=0x926ab20) at ../../../threadweaver/Weaver/WeaverImpl.cpp:365
#6  0xb71773ac in ThreadWeaver::WorkingHardState::waitForAvailableJob (this=0x8744ac8, th=0x926ab20) at ../../../threadweaver/Weaver/WorkingHardState.cpp:80      
#7  0xb717323b in ThreadWeaver::WeaverImpl::waitForAvailableJob (this=0x8742890, th=0x926ab20) at ../../../threadweaver/Weaver/WeaverImpl.cpp:356                 
#8  0xb71774a2 in ThreadWeaver::WorkingHardState::applyForWork (this=0x8744ac8, th=0x926ab20) at ../../../threadweaver/Weaver/WorkingHardState.cpp:71             
#9  0xb7174bd3 in ThreadWeaver::WeaverImpl::applyForWork (this=0x8742890, th=0x926ab20, previous=0x0) at ../../../threadweaver/Weaver/WeaverImpl.cpp:351          
#10 0xb71774c1 in ThreadWeaver::WorkingHardState::applyForWork (this=0x8744ac8, th=0x926ab20) at ../../../threadweaver/Weaver/WorkingHardState.cpp:74             
#11 0xb7174bd3 in ThreadWeaver::WeaverImpl::applyForWork (this=0x8742890, th=0x926ab20, previous=0x0) at ../../../threadweaver/Weaver/WeaverImpl.cpp:351          
#12 0xb71774c1 in ThreadWeaver::WorkingHardState::applyForWork (this=0x8744ac8, th=0x926ab20) at ../../../threadweaver/Weaver/WorkingHardState.cpp:74             
#13 0xb7174bd3 in ThreadWeaver::WeaverImpl::applyForWork (this=0x8742890, th=0x926ab20, previous=0xaa1f110) at ../../../threadweaver/Weaver/WeaverImpl.cpp:351    
#14 0xb71754be in ThreadWeaver::ThreadRunHelper::run (this=0xa875c330, parent=0x8742890, th=0x926ab20) at ../../../threadweaver/Weaver/Thread.cpp:87              
#15 0xb7175afb in ThreadWeaver::Thread::run (this=0x926ab20) at ../../../threadweaver/Weaver/Thread.cpp:142                                                       
#16 0xb66075e2 in QThreadPrivate::start (arg=0x926ab20) at thread/qthread_unix.cpp:188                                                                            
#17 0xb4d62585 in start_thread (arg=0xa875cb70) at pthread_create.c:300                                                                                           
#18 0xb59f52be in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130                                                                                         

Thread 4 (Thread 0xa7f5bb70 (LWP 10084)):
#0  0xb785e424 in __kernel_vsyscall ()   
#1  0xb4d660a5 in pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/pthread_cond_wait.S:122
#2  0xb5a0282d in __pthread_cond_wait (cond=0x8788eb0, mutex=0x8788e98) at forward.c:139                                        
---Type <return> to continue, or q <return> to quit---                                                                          
#3  0xb66085c2 in QWaitConditionPrivate::wait (this=0x87428a8, mutex=0x8742900, time=4294967295) at thread/qwaitcondition_unix.cpp:87
#4  QWaitCondition::wait (this=0x87428a8, mutex=0x8742900, time=4294967295) at thread/qwaitcondition_unix.cpp:159                    
#5  0xb7174648 in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=0x8742890, th=0x90d34f0) at ../../../threadweaver/Weaver/WeaverImpl.cpp:365
#6  0xb71773ac in ThreadWeaver::WorkingHardState::waitForAvailableJob (this=0x8744ac8, th=0x90d34f0) at ../../../threadweaver/Weaver/WorkingHardState.cpp:80      
#7  0xb717323b in ThreadWeaver::WeaverImpl::waitForAvailableJob (this=0x8742890, th=0x90d34f0) at ../../../threadweaver/Weaver/WeaverImpl.cpp:356                 
#8  0xb71774a2 in ThreadWeaver::WorkingHardState::applyForWork (this=0x8744ac8, th=0x90d34f0) at ../../../threadweaver/Weaver/WorkingHardState.cpp:71             
#9  0xb7174bd3 in ThreadWeaver::WeaverImpl::applyForWork (this=0x8742890, th=0x90d34f0, previous=0xa8fb3d8) at ../../../threadweaver/Weaver/WeaverImpl.cpp:351    
#10 0xb71754be in ThreadWeaver::ThreadRunHelper::run (this=0xa7f5b330, parent=0x8742890, th=0x90d34f0) at ../../../threadweaver/Weaver/Thread.cpp:87              
#11 0xb7175afb in ThreadWeaver::Thread::run (this=0x90d34f0) at ../../../threadweaver/Weaver/Thread.cpp:142                                                       
#12 0xb66075e2 in QThreadPrivate::start (arg=0x90d34f0) at thread/qthread_unix.cpp:188                                                                            
#13 0xb4d62585 in start_thread (arg=0xa7f5bb70) at pthread_create.c:300                                                                                           
#14 0xb59f52be in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130                                                                                         

Thread 3 (Thread 0xa67ffb70 (LWP 10199)):
#0  0xb785e424 in __kernel_vsyscall ()   
#1  0xb4d660a5 in pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/pthread_cond_wait.S:122
#2  0xb5a0282d in __pthread_cond_wait (cond=0x8a0b718, mutex=0x8a0b700) at forward.c:139                                        
#3  0xb66085c2 in QWaitConditionPrivate::wait (this=0x8a131d8, mutex=0x89f8230, time=4294967295) at thread/qwaitcondition_unix.cpp:87
#4  QWaitCondition::wait (this=0x8a131d8, mutex=0x89f8230, time=4294967295) at thread/qwaitcondition_unix.cpp:159                    
#5  0xb7174648 in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=0x8a131c0, th=0x91d6630) at ../../../threadweaver/Weaver/WeaverImpl.cpp:365
#6  0xb71773ac in ThreadWeaver::WorkingHardState::waitForAvailableJob (this=0x8a0f6b0, th=0x91d6630) at ../../../threadweaver/Weaver/WorkingHardState.cpp:80      
#7  0xb717323b in ThreadWeaver::WeaverImpl::waitForAvailableJob (this=0x8a131c0, th=0x91d6630) at ../../../threadweaver/Weaver/WeaverImpl.cpp:356                 
#8  0xb71774a2 in ThreadWeaver::WorkingHardState::applyForWork (this=0x8a0f6b0, th=0x91d6630) at ../../../threadweaver/Weaver/WorkingHardState.cpp:71             
#9  0xb7174bd3 in ThreadWeaver::WeaverImpl::applyForWork (this=0x8a131c0, th=0x91d6630, previous=0x0) at ../../../threadweaver/Weaver/WeaverImpl.cpp:351          
#10 0xb71774c1 in ThreadWeaver::WorkingHardState::applyForWork (this=0x8a0f6b0, th=0x91d6630) at ../../../threadweaver/Weaver/WorkingHardState.cpp:74             
#11 0xb7174bd3 in ThreadWeaver::WeaverImpl::applyForWork (this=0x8a131c0, th=0x91d6630, previous=0x0) at ../../../threadweaver/Weaver/WeaverImpl.cpp:351          
#12 0xb71774c1 in ThreadWeaver::WorkingHardState::applyForWork (this=0x8a0f6b0, th=0x91d6630) at ../../../threadweaver/Weaver/WorkingHardState.cpp:74             
#13 0xb7174bd3 in ThreadWeaver::WeaverImpl::applyForWork (this=0x8a131c0, th=0x91d6630, previous=0xa475f2c0) at ../../../threadweaver/Weaver/WeaverImpl.cpp:351   
#14 0xb71754be in ThreadWeaver::ThreadRunHelper::run (this=0xa67ff330, parent=0x8a131c0, th=0x91d6630) at ../../../threadweaver/Weaver/Thread.cpp:87              
---Type <return> to continue, or q <return> to quit---                                                                                                            
#15 0xb7175afb in ThreadWeaver::Thread::run (this=0x91d6630) at ../../../threadweaver/Weaver/Thread.cpp:142                                                       
#16 0xb66075e2 in QThreadPrivate::start (arg=0x91d6630) at thread/qthread_unix.cpp:188                                                                            
#17 0xb4d62585 in start_thread (arg=0xa67ffb70) at pthread_create.c:300                                                                                           
#18 0xb59f52be in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130                                                                                         

Thread 2 (Thread 0xa5ffeb70 (LWP 10200)):
#0  0xb785e424 in __kernel_vsyscall ()   
#1  0xb4d660a5 in pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/pthread_cond_wait.S:122
#2  0xb5a0282d in __pthread_cond_wait (cond=0x8a0b718, mutex=0x8a0b700) at forward.c:139                                        
#3  0xb66085c2 in QWaitConditionPrivate::wait (this=0x8a131d8, mutex=0x89f8230, time=4294967295) at thread/qwaitcondition_unix.cpp:87
#4  QWaitCondition::wait (this=0x8a131d8, mutex=0x89f8230, time=4294967295) at thread/qwaitcondition_unix.cpp:159                    
#5  0xb7174648 in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=0x8a131c0, th=0x938ce40) at ../../../threadweaver/Weaver/WeaverImpl.cpp:365
#6  0xb71773ac in ThreadWeaver::WorkingHardState::waitForAvailableJob (this=0x8a0f6b0, th=0x938ce40) at ../../../threadweaver/Weaver/WorkingHardState.cpp:80      
#7  0xb717323b in ThreadWeaver::WeaverImpl::waitForAvailableJob (this=0x8a131c0, th=0x938ce40) at ../../../threadweaver/Weaver/WeaverImpl.cpp:356                 
#8  0xb71774a2 in ThreadWeaver::WorkingHardState::applyForWork (this=0x8a0f6b0, th=0x938ce40) at ../../../threadweaver/Weaver/WorkingHardState.cpp:71             
#9  0xb7174bd3 in ThreadWeaver::WeaverImpl::applyForWork (this=0x8a131c0, th=0x938ce40, previous=0xab69c78) at ../../../threadweaver/Weaver/WeaverImpl.cpp:351    
#10 0xb71754be in ThreadWeaver::ThreadRunHelper::run (this=0xa5ffe330, parent=0x8a131c0, th=0x938ce40) at ../../../threadweaver/Weaver/Thread.cpp:87              
#11 0xb7175afb in ThreadWeaver::Thread::run (this=0x938ce40) at ../../../threadweaver/Weaver/Thread.cpp:142                                                       
#12 0xb66075e2 in QThreadPrivate::start (arg=0x938ce40) at thread/qthread_unix.cpp:188                                                                            
#13 0xb4d62585 in start_thread (arg=0xa5ffeb70) at pthread_create.c:300                                                                                           
#14 0xb59f52be in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130                                                                                         

Thread 1 (Thread 0xb48a0700 (LWP 9969)):
#0  0xb785e424 in __kernel_vsyscall ()  
#1  0xb4d68b69 in __lll_lock_wait () at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/lowlevellock.S:142
#2  0xb4d64065 in _L_lock_881 () from /lib/i686/cmov/libpthread.so.0                                        
#3  0xb4d63e80 in __pthread_mutex_lock (mutex=0xa977f48) at pthread_mutex_lock.c:61                         
#4  0xb5a029f6 in pthread_mutex_lock (mutex=0xa977f48) at forward.c:182                                     
#5  0xb6606b67 in QMutexPrivate::wait (this=0xa977f30, timeout=1000) at thread/qmutex_unix.cpp:76           
---Type <return> to continue, or q <return> to quit---                                                      
#6  0xb66021a1 in QMutex::tryLock (this=0xa88a660, timeout=1000) at thread/qmutex.cpp:329                   
#7  0xb54073ee in OptionalMutexLocker (this=0xbfe6b3ac, mutex=..., timeout=1000) at /home/milianw/projects/kde4/kdevplatform/language/editor/documentrangeobject.cpp:65
#8  0xb5406b7a in KDevelop::DocumentRangeObject::syncFromSmart (this=0xb08e4098) at /home/milianw/projects/kde4/kdevplatform/language/editor/documentrangeobject.cpp:81
#9  0xb5406d71 in KDevelop::DocumentRangeObject::range (this=0xb08e4098) at /home/milianw/projects/kde4/kdevplatform/language/editor/documentrangeobject.cpp:215       
#10 0xb54c676c in declarationUnderCursor (c=..., ctx=0xabf34c78) at /home/milianw/projects/kde4/kdevplatform/language/duchain/duchainutils.cpp:256                     
#11 0xb54c6e12 in KDevelop::DUChainUtils::itemUnderCursor (url=..., c=...) at /home/milianw/projects/kde4/kdevplatform/language/duchain/duchainutils.cpp:281           
#12 0xaec35305 in ContextBrowserPlugin::showToolTip (this=0x8b36be8, view=0xab017c8, position=...)                                                                     
    at /home/milianw/projects/kde4/kdevplatform/plugins/contextbrowser/contextbrowser.cpp:344                                                                          
#13 0xaec35cb8 in ContextBrowserPlugin::textHintRequested (this=0x8b36be8, cursor=...) at /home/milianw/projects/kde4/kdevplatform/plugins/contextbrowser/contextbrowser.cpp:306
#14 0xaec39ed5 in ContextBrowserPlugin::qt_metacall (this=0x8b36be8, _c=QMetaObject::InvokeMetaMethod, _id=15, _a=0xbfe6b758)                                                   
    at /home/milianw/projects/.build/kde4/kdevplatform/plugins/contextbrowser/contextbrowser.moc:119                                                                            
#15 0xb670d303 in QMetaObject::activate (sender=0xab017c8, from_signal_index=41, to_signal_index=41, argv=0xbfe6b758) at kernel/qobject.cpp:3112                                
#16 0xb670df42 in QMetaObject::activate (sender=0xab017c8, m=0xa57f9964, local_signal_index=2, argv=0xbfe6b758) at kernel/qobject.cpp:3186                                      
#17 0xa5722229 in KateView::needTextHint (this=0xab017c8, _t1=..., _t2=...) at ./kateview.moc:456                                                                               
#18 0xa573f2b6 in KateViewInternal::textHintTimeout (this=0x99f94a8) at ../../kate/view/kateviewinternal.cpp:3102
#19 0xa5744f7e in KateViewInternal::qt_metacall (this=0x99f94a8, _c=QMetaObject::InvokeMetaMethod, _id=26, _a=0xbfe6b8c8) at ./kateviewinternal.moc:145
#20 0xb670d303 in QMetaObject::activate (sender=0x99f9678, from_signal_index=4, to_signal_index=4, argv=0x0) at kernel/qobject.cpp:3112
#21 0xb670df42 in QMetaObject::activate (sender=0x99f9678, m=0xb67e9d84, local_signal_index=0, argv=0x0) at kernel/qobject.cpp:3186
#22 0xb6748b37 in QTimer::timeout (this=0x99f9678) at .moc/release-shared/moc_qtimer.cpp:128
#23 0xb671365e in QTimer::timerEvent (this=0x99f9678, e=0xbfe6bd4c) at kernel/qtimer.cpp:261
#24 0xb670839f in QObject::event (this=0x99f9678, e=0xbfe6bd4c) at kernel/qobject.cpp:1074
#25 0xb5ce4a94 in QApplicationPrivate::notify_helper (this=0x85bc990, receiver=0x99f9678, e=0xbfe6bd4c) at kernel/qapplication.cpp:4065
#26 0xb5cecbee in QApplication::notify (this=0xbfe6c078, receiver=0x99f9678, e=0xbfe6bd4c) at kernel/qapplication.cpp:3605
#27 0xb6a3162d in KApplication::notify (this=0xbfe6c078, receiver=0x99f9678, event=0xbfe6bd4c) at ../../kdeui/kernel/kapplication.cpp:302
#28 0xb66f81eb in QCoreApplication::notifyInternal (this=0xbfe6c078, receiver=0x99f9678, event=0xbfe6bd4c) at kernel/qcoreapplication.cpp:610
#29 0xb6726e21 in QCoreApplication::sendEvent (this=0x85bf694) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:213
#30 QTimerInfoList::activateTimers (this=0x85bf694) at kernel/qeventdispatcher_unix.cpp:580
#31 0xb6723317 in timerSourceDispatch (source=0x85bfb00) at kernel/qeventdispatcher_glib.cpp:184
#32 idleTimerSourceDispatch (source=0x85bfb00) at kernel/qeventdispatcher_glib.cpp:231
---Type <return> to continue, or q <return> to quit---
#33 0xb4c9db38 in g_main_context_dispatch () from /lib/libglib-2.0.so.0
#34 0xb4ca13d0 in ?? () from /lib/libglib-2.0.so.0
#35 0xb4ca1503 in g_main_context_iteration () from /lib/libglib-2.0.so.0
#36 0xb6723041 in QEventDispatcherGlib::processEvents (this=0x851c260, flags=...) at kernel/qeventdispatcher_glib.cpp:407
#37 0xb5d84305 in QGuiEventDispatcherGlib::processEvents (this=0x851c260, flags=...) at kernel/qguieventdispatcher_glib.cpp:202
#38 0xb66f683a in QEventLoop::processEvents (this=0xbfe6bfc0, flags=...) at kernel/qeventloop.cpp:149
#39 0xb66f6c82 in QEventLoop::exec (this=0xbfe6bfc0, flags=...) at kernel/qeventloop.cpp:201
#40 0xb66f90d9 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:888
#41 0xb5ce4917 in QApplication::exec () at kernel/qapplication.cpp:3525
#42 0x0804d9bc in main (argc=1, argv=0xbfe6c594) at /home/milianw/projects/kde4/kdevelop/app/main_internal.cpp:139
(gdb)
Comment 1 David Nolden 2010-02-10 21:23:34 UTC
Do you mean that you can reproduce the issue? This is strange. It hangs on a mutex, but the backtrace doesn't indicate that there is a deadlock, as there is no other thread holding the mutex. Maybe it's an issue in kate, where the smart-mutex is locked but not unlocked again.
Comment 2 Milian Wolff 2010-02-10 21:28:39 UTC
No, so far I could not reproduce it. What I meant was:

- KDevelop started to hang (very random, I didn't do anything fancy at all!)
- I gave it a minute or two - no change
- I attached GDB and produce the above BT
- I continued and waited for a few more minutes
- I interrupted and took a loog at the BT again (it didn't change)
Comment 3 Milian Wolff 2010-11-05 04:55:58 UTC
if you find a way to reproduce this, please run kdev through valgrind and show us the report. Then I can try to fix it for the 4.1 branch. should be fixed in 4.2 though as we don't use the smart stuff anymore.

bye

*** This bug has been marked as a duplicate of bug 247412 ***
Comment 4 Milian Wolff 2010-11-05 04:56:29 UTC
lol, wrong bug - it's too late I gotta go to bed o_O
Comment 5 Milian Wolff 2011-07-06 15:55:20 UTC
closing as kdevelop 4.1 won't see any further development and this bug is fixed in kate 4.5 / kdevelop 4.2