Bug 234952

Summary: Kdevelop freeze while parsing? (showing a documentation window)
Product: [Applications] kdevelop Reporter: Julien Michot <julien.michot.fr>
Component: Language Support: CPP (old)Assignee: kdevelop-bugs-null
Status: RESOLVED WORKSFORME    
Severity: normal Keywords: triaged
Priority: NOR    
Version First Reported In: unspecified   
Target Milestone: ---   
Platform: Ubuntu   
OS: Linux   
Latest Commit: Version Fixed/Implemented In:
Sentry Crash Report:

Description Julien Michot 2010-04-21 09:12:30 UTC
Version:           svn r1116686 (using KDE 4.4.2)
Compiler:          gcc 4.4 
OS:                Linux
Installed from:    Ubuntu Packages

Kdevelop has frozen when:
my mouse was over a function (so, i had little popup with the documentation) 
I commented the line (ctrl+d) and had a kdevelop freeze.
The popup stay in front of all my windows.
Only a kill solve the kdevelop freeze (infinite).

here is a backtrace :
Thread 9 (Thread 0xb3339b70 (LWP 21988)):
#0  0x00dbf422 in __kernel_vsyscall ()
#1  0x02d14a76 in nanosleep () from /lib/tls/i686/cmov/libc.so.6
#2  0x02d443cc in usleep (useconds=500) at ../sysdeps/unix/sysv/linux/usleep.c:33
#3  0x016e07d2 in KDevelop::DUChainLock::lockForWrite (this=0x92c9d84, timeout=0) at /home/julien/Code/kde/kdevplatform/language/duchain/duchainlock.cpp:201
#4  0x016e088e in KDevelop::DUChainWriteLocker::lock (this=0xb33392c8) at /home/julien/Code/kde/kdevplatform/language/duchain/duchainlock.cpp:299
#5  0x016e08ee in DUChainWriteLocker (this=0xb33392c8, duChainLock=0x92c9d84, timeout=0) at /home/julien/Code/kde/kdevplatform/language/duchain/duchainlock.cpp:284
#6  0x01698977 in KDevelop::DUChainPrivate::doMoreCleanup (this=0x92c9d78, retries=1, needLockRepository=true) at /home/julien/Code/kde/kdevplatform/language/duchain/duchain.cpp:705
#7  0x0169a083 in KDevelop::DUChainPrivate::CleanupThread::run (this=0x9013fe0) at /home/julien/Code/kde/kdevplatform/language/duchain/duchain.cpp:294
#8  0x0625d36e in ?? () from /usr/lib/libQtCore.so.4
#9  0x0038580e in start_thread (arg=0xb3339b70) at pthread_create.c:300
#10 0x02d4a8de in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130

Thread 8 (Thread 0xb21feb70 (LWP 21990)):
#0  0x00dbf422 in __kernel_vsyscall ()
#1  0x02d43a71 in select () from /lib/tls/i686/cmov/libc.so.6
#2  0x0633bcef in ?? () from /usr/lib/libQtCore.so.4
#3  0x0625d36e in ?? () from /usr/lib/libQtCore.so.4
#4  0x0038580e in start_thread (arg=0xb21feb70) at pthread_create.c:300
#5  0x02d4a8de in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130

Thread 7 (Thread 0xac40cb70 (LWP 22312)):
#0  0x00dbf422 in __kernel_vsyscall ()
#1  0x02d3cc96 in *__GI___poll (fds=0x2dbeff4, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:87
#2  0x053ce54b in g_poll () from /lib/libglib-2.0.so.0
#3  0x053c156b in ?? () from /lib/libglib-2.0.so.0
#4  0x053c1863 in g_main_context_iteration () from /lib/libglib-2.0.so.0
#5  0x0638b805 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#6  0x0635e209 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#7  0x0635e65a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#8  0x0625a5e8 in QThread::exec() () from /usr/lib/libQtCore.so.4
#9  0x01792450 in KDevelop::CompletionWorkerThread::run (this=0xae387430) at /home/julien/Code/kde/kdevplatform/language/codecompletion/codecompletionmodel.cpp:82
#10 0x0625d36e in ?? () from /usr/lib/libQtCore.so.4
#11 0x0038580e in start_thread (arg=0xac40cb70) at pthread_create.c:300
#12 0x02d4a8de in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130

Thread 6 (Thread 0xabc0bb70 (LWP 22314)):
#0  0x00dbf422 in __kernel_vsyscall ()
#1  0x02d3cc96 in *__GI___poll (fds=0x2dbeff4, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:87
#2  0x053ce54b in g_poll () from /lib/libglib-2.0.so.0
#3  0x053c156b in ?? () from /lib/libglib-2.0.so.0
#4  0x053c1863 in g_main_context_iteration () from /lib/libglib-2.0.so.0
#5  0x0638b805 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#6  0x0635e209 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#7  0x0635e65a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#8  0x0625a5e8 in QThread::exec() () from /usr/lib/libQtCore.so.4
#9  0x01792450 in KDevelop::CompletionWorkerThread::run (this=0x937a648) at /home/julien/Code/kde/kdevplatform/language/codecompletion/codecompletionmodel.cpp:82
#10 0x0625d36e in ?? () from /usr/lib/libQtCore.so.4
#11 0x0038580e in start_thread (arg=0xabc0bb70) at pthread_create.c:300
#12 0x02d4a8de in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130

Thread 5 (Thread 0xab40ab70 (LWP 22328)):
#0  0x00dbf422 in __kernel_vsyscall ()
#1  0x0038a142 in pthread_cond_timedwait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/pthread_cond_timedwait.S:179
#2  0x0625cc5e in ?? () from /usr/lib/libQtCore.so.4
#3  0x0625cdb3 in QThread::msleep(unsigned long) () from /usr/lib/libQtCore.so.4
#4  0x01c7136b in UIBlockTester::UIBlockTesterThread::run (this=0x97a4888) at /home/julien/Code/kde/kdevelop/languages/cpp/cpplanguagesupport.cpp:678
#5  0x0625d36e in ?? () from /usr/lib/libQtCore.so.4
---Type <return> to continue, or q <return> to quit---
#6  0x0038580e in start_thread (arg=0xab40ab70) at pthread_create.c:300
#7  0x02d4a8de in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130

Thread 4 (Thread 0xaa4e9b70 (LWP 22349)):
#0  0x00dbf422 in __kernel_vsyscall ()
#1  0x00389e15 in pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/pthread_cond_wait.S:122
#2  0x0625e2c7 in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/libQtCore.so.4
#3  0x003758a0 in ?? () from /usr/lib/libthreadweaver.so.4
#4  0x0037841c in ?? () from /usr/lib/libthreadweaver.so.4
#5  0x0037426b in ?? () from /usr/lib/libthreadweaver.so.4
#6  0x00378512 in ?? () from /usr/lib/libthreadweaver.so.4
#7  0x00375b23 in ?? () from /usr/lib/libthreadweaver.so.4
#8  0x00378531 in ?? () from /usr/lib/libthreadweaver.so.4
#9  0x00375b23 in ?? () from /usr/lib/libthreadweaver.so.4
#10 0x003764fe in ?? () from /usr/lib/libthreadweaver.so.4
#11 0x00376b1b in ThreadWeaver::Thread::run() () from /usr/lib/libthreadweaver.so.4
#12 0x0625d36e in ?? () from /usr/lib/libQtCore.so.4
#13 0x0038580e in start_thread (arg=0xaa4e9b70) at pthread_create.c:300
#14 0x02d4a8de in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130

Thread 3 (Thread 0xa9ce8b70 (LWP 22351)):
#0  0x00dbf422 in __kernel_vsyscall ()
#1  0x00389e15 in pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/pthread_cond_wait.S:122
#2  0x0625c902 in ?? () from /usr/lib/libQtCore.so.4
#3  0x062580a2 in QMutex::lock() () from /usr/lib/libQtCore.so.4
#4  0x016594fe in LockedSmartInterface (this=0xa9ce6f98, iface=0x1c4e44f8, doc=0x1c4e44b0) at /home/julien/Code/kde/kdevplatform/language/editor/editorintegrator.cpp:447
#5  0x0165a0ae in KDevelop::EditorIntegrator::smart (this=0xa9ce7f8c) at /home/julien/Code/kde/kdevplatform/language/editor/editorintegrator.cpp:142
#6  0x01e81f78 in KDevelop::Declaration* DeclarationBuilder::openDeclarationReal<KDevelop::Declaration>(NameAST*, AST*, KDevelop::Identifier const&, bool, bool, KDevelop::SimpleRange const*) ()
   from /usr/lib/libkdev4cppduchain.so
#7  0x01e5ae14 in openDeclaration<KDevelop::Declaration> (this=0xa9ce7b64, name=<value optimized out>, rangeNode=0xa4dd33f4, customName=..., collapseRangeAtStart=<value optimized out>, 
    collapseRangeAtEnd=<value optimized out>) at /home/julien/Code/kde/kdevelop/languages/cpp/cppduchain/declarationbuilder.cpp:425
#8  0x01e5ae8e in DeclarationBuilder::openNormalDeclaration (this=0xa9ce7b64, name=0xa4dd348c, rangeNode=0xa4dd33f4, customName=..., collapseRange=false)
    at /home/julien/Code/kde/kdevelop/languages/cpp/cppduchain/declarationbuilder.cpp:665
#9  0x01e5b4eb in DeclarationBuilder::openDefinition (this=0xa9ce7b64, name=0xa4dd348c, rangeNode=0xa4dd33f4, collapseRange=<value optimized out>)
    at /home/julien/Code/kde/kdevelop/languages/cpp/cppduchain/declarationbuilder.cpp:644
#10 0x01e5bb80 in DeclarationBuilder::visitDeclarator (this=0xa9ce7b64, node=0xa4dd33f4) at /home/julien/Code/kde/kdevelop/languages/cpp/cppduchain/declarationbuilder.cpp:301
#11 0x01e42f50 in ContextBuilder::visitInitDeclarator (this=0xa9ce7b64, node=0xa4dd353c) at /home/julien/Code/kde/kdevelop/languages/cpp/cppduchain/contextbuilder.cpp:1003
#12 0x01e57a73 in DeclarationBuilder::visitInitDeclarator (this=0xa9ce7b64, node=0xa4dd353c) at /home/julien/Code/kde/kdevelop/languages/cpp/cppduchain/declarationbuilder.cpp:247
#13 0x02232b53 in Visitor::visit (this=0xa9ce7b94, node=0xfffffe00) at /home/julien/Code/kde/kdevelop/languages/cpp/parser/visitor.cpp:113
#14 0x01e86e48 in TypeBuilder::visitSimpleDeclaration (this=0xa9ce7b64, node=0xa4dd3560) at /home/julien/Code/kde/kdevelop/languages/cpp/cppduchain/typebuilder.cpp:541
#15 0x01e555e4 in DeclarationBuilder::visitSimpleDeclaration (this=0xa9ce7b64, node=0xa4dd3560) at /home/julien/Code/kde/kdevelop/languages/cpp/cppduchain/declarationbuilder.cpp:261
#16 0x02232b53 in Visitor::visit (this=0xa9ce7b94, node=0xfffffe00) at /home/julien/Code/kde/kdevelop/languages/cpp/parser/visitor.cpp:113
#17 0x0223088b in DefaultVisitor::visitDeclarationStatement (this=0xa9ce7b94, node=0xa4dd3594) at /home/julien/Code/kde/kdevelop/languages/cpp/parser/default_visitor.cpp:99
#18 0x02232b53 in Visitor::visit (this=0xa9ce7b94, node=0xfffffe00) at /home/julien/Code/kde/kdevelop/languages/cpp/parser/visitor.cpp:113
#19 0x02230751 in visitNodes<StatementAST*> (this=0xa9ce7b94, node=0xa4dd0608) at /home/julien/Code/kde/kdevelop/languages/cpp/parser/visitor.h:128
#20 DefaultVisitor::visitCompoundStatement (this=0xa9ce7b94, node=0xa4dd0608) at /home/julien/Code/kde/kdevelop/languages/cpp/parser/default_visitor.cpp:68
#21 0x01e43f53 in ContextBuilder::visitCompoundStatement (this=0xa9ce7b64, node=0xa4dd0608) at /home/julien/Code/kde/kdevelop/languages/cpp/cppduchain/contextbuilder.cpp:784
#22 0x02232b53 in Visitor::visit (this=0xa9ce7b94, node=0xfffffe00) at /home/julien/Code/kde/kdevelop/languages/cpp/parser/visitor.cpp:113
#23 0x01e426f4 in ContextBuilder::visitFunctionDefinition (this=0xa9ce7b64, node=0xa4590048) at /home/julien/Code/kde/kdevelop/languages/cpp/cppduchain/contextbuilder.cpp:698
#24 0x02232b53 in Visitor::visit (this=0xa9ce7b94, node=0xfffffe00) at /home/julien/Code/kde/kdevelop/languages/cpp/parser/visitor.cpp:113
#25 0x02231861 in visitNodes<DeclarationAST*> (v=0xa9ce7b94, nodes=0xa30500bc) at /home/julien/Code/kde/kdevelop/languages/cpp/parser/visitor.h:128
#26 0x02232b53 in Visitor::visit (this=0xa9ce7b94, node=0xfffffe00) at /home/julien/Code/kde/kdevelop/languages/cpp/parser/visitor.cpp:113
#27 0x01e3fafc in ContextBuilder::startVisiting (this=0xa9ce7b64, node=0xa3050020) at /home/julien/Code/kde/kdevelop/languages/cpp/cppduchain/contextbuilder.cpp:224
#28 0x01e6be81 in KDevelop::AbstractTypeBuilder<AST, NameAST, ContextBuilder>::supportBuild(AST*, KDevelop::DUContext*) () from /usr/lib/libkdev4cppduchain.so
#29 0x01e45ab2 in ContextBuilder::buildContexts (this=0xa9ce7b64, file=..., node=0xa3050020, includes=0xa9ce8150, updateContext=..., removeOldImports=false)
    at /home/julien/Code/kde/kdevelop/languages/cpp/cppduchain/contextbuilder.cpp:485
#30 0x01e5485f in DeclarationBuilder::buildDeclarations (this=0xa9ce7b64, file=..., node=0xa3050020, includes=0xa9ce8150, updateContext=..., removeOldImports=<value optimized out>)
    at /home/julien/Code/kde/kdevelop/languages/cpp/cppduchain/declarationbuilder.cpp:100
#31 0x01c82eda in CPPInternalParseJob::run (this=0x1cf3d3d0) at /home/julien/Code/kde/kdevelop/languages/cpp/cppparsejob.cpp:662
#32 0x0037752d in ?? () from /usr/lib/libthreadweaver.so.4
#33 0x00377891 in ThreadWeaver::Job::execute(ThreadWeaver::Thread*) () from /usr/lib/libthreadweaver.so.4
#34 0x00379273 in ?? () from /usr/lib/libthreadweaver.so.4
#35 0x003764ca in ?? () from /usr/lib/libthreadweaver.so.4
#36 0x00376b1b in ThreadWeaver::Thread::run() () from /usr/lib/libthreadweaver.so.4
#37 0x0625d36e in ?? () from /usr/lib/libQtCore.so.4
#38 0x0038580e in start_thread (arg=0xa9ce8b70) at pthread_create.c:300
#39 0x02d4a8de in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130

Thread 2 (Thread 0xb19fdb70 (LWP 29385)):
#0  0x00dbf422 in __kernel_vsyscall ()
#1  0x00389e15 in pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/pthread_cond_wait.S:122
#2  0x0521e887 in ?? () from /usr/lib/libQtScript.so.4
#3  0x0521e8d1 in ?? () from /usr/lib/libQtScript.so.4
#4  0x0038580e in start_thread (arg=0xb19fdb70) at pthread_create.c:300
#5  0x02d4a8de in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130

Thread 1 (Thread 0xb77c3700 (LWP 21987)):
#0  0x00dbf422 in __kernel_vsyscall ()
#1  0x00389e15 in pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/pthread_cond_wait.S:122
#2  0x0625c902 in ?? () from /usr/lib/libQtCore.so.4
#3  0x062580a2 in QMutex::lock() () from /usr/lib/libQtCore.so.4
#4  0x02f0e81b in ?? () from /usr/lib/kde4/katepart.so
#5  0x02ef57a1 in ?? () from /usr/lib/kde4/katepart.so
#6  0x02eaca8c in ?? () from /usr/lib/kde4/katepart.so
#7  0x02eb85c5 in ?? () from /usr/lib/kde4/katepart.so
#8  0x06364e5a in QMetaObject::metacall(QObject*, QMetaObject::Call, int, void**) () from /usr/lib/libQtCore.so.4
#9  0x063735f5 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/libQtCore.so.4
#10 0x02df9087 in ?? () from /usr/lib/kde4/katepart.so
#11 0x02e81ce9 in ?? () from /usr/lib/kde4/katepart.so
#12 0x02e7127b in ?? () from /usr/lib/kde4/katepart.so
#13 0x06364e5a in QMetaObject::metacall(QObject*, QMetaObject::Call, int, void**) () from /usr/lib/libQtCore.so.4
#14 0x063735f5 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/libQtCore.so.4
#15 0x06f2cb89 in QAction::triggered(bool) () from /usr/lib/libQtGui.so.4
#16 0x06f2ed9c in QAction::activate(QAction::ActionEvent) () from /usr/lib/libQtGui.so.4
#17 0x06f30688 in QAction::event(QEvent*) () from /usr/lib/libQtGui.so.4
#18 0x08456f53 in KAction::event(QEvent*) () from /usr/lib/libkdeui.so.5
#19 0x06f333cc in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#20 0x06f3a01e in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#21 0x085435ba in KApplication::notify(QObject*, QEvent*) () from /usr/lib/libkdeui.so.5
#22 0x0635fbeb in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/libQtCore.so.4
#23 0x06f752fd in ?? () from /usr/lib/libQtGui.so.4
#24 0x06f770ee in ?? () from /usr/lib/libQtGui.so.4
#25 0x06f3bddd in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#26 0x085435ba in KApplication::notify(QObject*, QEvent*) () from /usr/lib/libkdeui.so.5
#27 0x0635fbeb in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/libQtCore.so.4
#28 0x06f342ae in ?? () from /usr/lib/libQtGui.so.4
#29 0x06fed800 in ?? () from /usr/lib/libQtGui.so.4
#30 0x06fefd49 in ?? () from /usr/lib/libQtGui.so.4
#31 0x06fc3477 in QApplication::x11ProcessEvent(_XEvent*) () from /usr/lib/libQtGui.so.4
#32 0x06ff300a in ?? () from /usr/lib/libQtGui.so.4
#33 0x053bde88 in g_main_context_dispatch () from /lib/libglib-2.0.so.0
#34 0x053c1730 in ?? () from /lib/libglib-2.0.so.0
#35 0x053c1863 in g_main_context_iteration () from /lib/libglib-2.0.so.0
#36 0x0638b805 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#37 0x06ff2b35 in ?? () from /usr/lib/libQtGui.so.4
#38 0x0635e209 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#39 0x0635e65a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#40 0x0636284f in QCoreApplication::exec() () from /usr/lib/libQtCore.so.4
#41 0x06f33467 in QApplication::exec() () from /usr/lib/libQtGui.so.4
#42 0x080500f3 in main (argc=1, argv=0xbf964064) at /home/julien/Code/kde/kdevelop/app/main_internal.cpp:232
Comment 1 Andreas Pakulat 2010-04-21 10:20:39 UTC
Can you reproduce this? If you can it would be good if you could get debug symbols installed for kate (kdelibs) so one can see which part of kate tries to lock the smartmutex at the same time the background thread has it locked.
Comment 2 Kevin Funk 2012-12-22 22:45:07 UTC
Please try to reproduce with a more recent version.
Comment 3 Andrew Crouthamel 2018-09-24 02:24:15 UTC
Dear Bug Submitter,

This bug has been in NEEDSINFO status with no change for at least 15 days. Please provide the requested information as soon as possible and set the bug status as REPORTED. Due to regular bug tracker maintenance, if the bug is still in NEEDSINFO status with no change in 30 days, the bug will be closed as RESOLVED > WORKSFORME due to lack of needed information.

For more information about our bug triaging procedures please read the wiki located here: https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging

If you have already provided the requested information, please set the bug status as REPORTED so that the KDE team knows that the bug is ready to be confirmed.

Thank you for helping us make KDE software even better for everyone!
Comment 4 Andrew Crouthamel 2018-10-27 03:57:27 UTC
Dear Bug Submitter,

This bug has been in NEEDSINFO status with no change for at least 30 days. The bug is now closed as RESOLVED > WORKSFORME due to lack of needed information.

For more information about our bug triaging procedures please read the wiki located here: https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging

Thank you for helping us make KDE software even better for everyone!