Version: 4.2.0 (using KDE 4.6.0) OS: Linux KDevelop hangs during parsing c++ with this stack: Thread 11 (Thread 0xaeb56b70 (LWP 24760)): #0 0xb7747424 in __kernel_vsyscall () #1 0xb52061a6 in nanosleep () at ../sysdeps/unix/syscall-template.S:82 #2 0xb5236e9c in usleep (useconds=500) at ../sysdeps/unix/sysv/linux/usleep.c:33 #3 0xb4c2e8bc in KDevelop::DUChainLock::lockForWrite(unsigned int) () from /usr/local/lib/libkdevplatformlanguage.so.4 #4 0xb4c2eb0e in KDevelop::DUChainWriteLocker::lock() () from /usr/local/lib/libkdevplatformlanguage.so.4 #5 0xb4c2eb6e in KDevelop::DUChainWriteLocker::DUChainWriteLocker(KDevelop::DUChainLock*, unsigned int) () from /usr/local/lib/libkdevplatformlanguage.so.4 #6 0xb4be7e63 in KDevelop::DUChainPrivate::doMoreCleanup(int, bool) () from /usr/local/lib/libkdevplatformlanguage.so.4 #7 0xb4be9267 in KDevelop::DUChainPrivate::CleanupThread::run() () from /usr/local/lib/libkdevplatformlanguage.so.4 #8 0xb5f7adf9 in QThreadPrivate::start (arg=0x903b568) at thread/qthread_unix.cpp:266 #9 0xb510dcc9 in start_thread (arg=0xaeb56b70) at pthread_create.c:304 #10 0xb523d69e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130 Thread 10 (Thread 0xaca54b70 (LWP 24763)): #0 0xb7747424 in __kernel_vsyscall () #1 0xb5236371 in select () at ../sysdeps/unix/syscall-template.S:82 #2 0xb6057bb8 in QProcessManager::run (this=0xb61b0888) at io/qprocess_unix.cpp:245 #3 0xb5f7adf9 in QThreadPrivate::start (arg=0xb61b0888) at thread/qthread_unix.cpp:266 #4 0xb510dcc9 in start_thread (arg=0xaca54b70) at pthread_create.c:304 #5 0xb523d69e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130 Thread 9 (Thread 0xad255b70 (LWP 24769)): #0 0xb7747424 in __kernel_vsyscall () #1 0xb522edf6 in __poll (fds=0xb52c5ff4, nfds=2, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:87 #2 0xb4688a1b in g_poll () from /lib/libglib-2.0.so.0 #3 0xb467b43c in ?? () from /lib/libglib-2.0.so.0 #4 0xb467b848 in g_main_context_iteration () from /lib/libglib-2.0.so.0 #5 0xb60ab565 in QEventDispatcherGlib::processEvents (this=0x923e2d8, flags=...) at kernel/qeventdispatcher_glib.cpp:415 #6 0xb607b609 in QEventLoop::processEvents (this=0xad255290, flags=) at kernel/qeventloop.cpp:149 $''$''$''DWARF-2 expression error: DW_OP_reg operations must be used either alone or in conjuction with DW_OP_piece or DW_OP_bit_piece. #7 0xb607ba8a in QEventLoop::exec (this=0xad255290, flags=...) at kernel/qeventloop.cpp:201 #8 0xb5f77b7e in QThread::exec (this=0x9241448) at thread/qthread.cpp:490 #9 0xb605a35b in QInotifyFileSystemWatcherEngine::run (this=0x9241448) at io/qfilesystemwatcher_inotify.cpp:248 #10 0xb5f7adf9 in QThreadPrivate::start (arg=0x9241448) at thread/qthread_unix.cpp:266 ---Type <return> to continue, or q <return> to quit--- #11 0xb510dcc9 in start_thread (arg=0xad255b70) at pthread_create.c:304 #12 0xb523d69e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130 Thread 8 (Thread 0xaaa9cb70 (LWP 24772)): #0 0xb7747424 in __kernel_vsyscall () #1 0xb522edf6 in __poll (fds=0xb52c5ff4, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:87 #2 0xb4688a1b in g_poll () from /lib/libglib-2.0.so.0 #3 0xb467b43c in ?? () from /lib/libglib-2.0.so.0 #4 0xb467b848 in g_main_context_iteration () from /lib/libglib-2.0.so.0 #5 0xb60ab565 in QEventDispatcherGlib::processEvents (this=0x91204f0, flags=...) at kernel/qeventdispatcher_glib.cpp:415 #6 0xb607b609 in QEventLoop::processEvents (this=0xaaa9c2c0, flags=) at kernel/qeventloop.cpp:149 DWARF-2 expression error: DW_OP_reg operations must be used either alone or in conjuction with DW_OP_piece or DW_OP_bit_piece. #7 0xb607ba8a in QEventLoop::exec (this=0xaaa9c2c0, flags=...) at kernel/qeventloop.cpp:201 #8 0xb5f77b7e in QThread::exec (this=0x9276088) at thread/qthread.cpp:490 #9 0xb4cf4d98 in KDevelop::CompletionWorkerThread::run() () from /usr/local/lib/libkdevplatformlanguage.so.4 #10 0xb5f7adf9 in QThreadPrivate::start (arg=0x9276088) at thread/qthread_unix.cpp:266 #11 0xb510dcc9 in start_thread (arg=0xaaa9cb70) at pthread_create.c:304 #12 0xb523d69e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130 Thread 7 (Thread 0xaa29bb70 (LWP 24773)): #0 0xb7747424 in __kernel_vsyscall () #1 0xb522edf6 in __poll (fds=0xb52c5ff4, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:87 #2 0xb4688a1b in g_poll () from /lib/libglib-2.0.so.0 #3 0xb467b43c in ?? () from /lib/libglib-2.0.so.0 #4 0xb467b848 in g_main_context_iteration () from /lib/libglib-2.0.so.0 #5 0xb60ab565 in QEventDispatcherGlib::processEvents (this=0x927c308, flags=...) at kernel/qeventdispatcher_glib.cpp:415 #6 0xb607b609 in QEventLoop::processEvents (this=0xaa29b2c0, flags=) at kernel/qeventloop.cpp:149 DWARF-2 expression error: DW_OP_reg operations must be used either alone or in conjuction with DW_OP_piece or DW_OP_bit_piece. #7 0xb607ba8a in QEventLoop::exec (this=0xaa29b2c0, flags=...) at kernel/qeventloop.cpp:201 #8 0xb5f77b7e in QThread::exec (this=0xae2046b8) at thread/qthread.cpp:490 #9 0xb4cf4d98 in KDevelop::CompletionWorkerThread::run() () from /usr/local/lib/libkdevplatformlanguage.so.4 #10 0xb5f7adf9 in QThreadPrivate::start (arg=0xae2046b8) at thread/qthread_unix.cpp:266 #11 0xb510dcc9 in start_thread (arg=0xaa29bb70) at pthread_create.c:304 #12 0xb523d69e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130 Thread 6 (Thread 0xa923fb70 (LWP 24778)): ---Type <return> to continue, or q <return> to quit--- #0 0xb7747424 in __kernel_vsyscall () #1 0xb51124dc in pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/pthread_cond_wait.S:169 #2 0xb524ad9d in __pthread_cond_wait (cond=0xb50de290, mutex=0xb50de278) at forward.c:139 #3 0xb4fda877 in QTWTF::TCMalloc_PageHeap::scavengerThread (this=0xb50d91a0) at ../3rdparty/javascriptcore/JavaScriptCore/wtf/FastMalloc.cpp:2359 #4 0xb4fda8c1 in QTWTF::TCMalloc_PageHeap::runScavengerThread (context=0xb50d91a0) at ../3rdparty/javascriptcore/JavaScriptCore/wtf/FastMalloc.cpp:1464 #5 0xb510dcc9 in start_thread (arg=0xa923fb70) at pthread_create.c:304 #6 0xb523d69e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130 Thread 5 (Thread 0xa823bb70 (LWP 24782)): #0 0xb7747424 in __kernel_vsyscall () #1 0xb522edf6 in __poll (fds=0xb52c5ff4, nfds=2, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:87 #2 0xb4688a1b in g_poll () from /lib/libglib-2.0.so.0 #3 0xb467b43c in ?? () from /lib/libglib-2.0.so.0 #4 0xb467b848 in g_main_context_iteration () from /lib/libglib-2.0.so.0 #5 0xb60ab565 in QEventDispatcherGlib::processEvents (this=0x9eaf2a0, flags=...) at kernel/qeventdispatcher_glib.cpp:415 #6 0xb607b609 in QEventLoop::processEvents (this=0xa823b290, flags=) at kernel/qeventloop.cpp:149 DWARF-2 expression error: DW_OP_reg operations must be used either alone or in conjuction with DW_OP_piece or DW_OP_bit_piece. #7 0xb607ba8a in QEventLoop::exec (this=0xa823b290, flags=...) at kernel/qeventloop.cpp:201 #8 0xb5f77b7e in QThread::exec (this=0x9eadb90) at thread/qthread.cpp:490 #9 0xb605a35b in QInotifyFileSystemWatcherEngine::run (this=0x9eadb90) at io/qfilesystemwatcher_inotify.cpp:248 #10 0xb5f7adf9 in QThreadPrivate::start (arg=0x9eadb90) at thread/qthread_unix.cpp:266 #11 0xb510dcc9 in start_thread (arg=0xa823bb70) at pthread_create.c:304 #12 0xb523d69e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130 Thread 4 (Thread 0xa797eb70 (LWP 24792)): #0 0xb7747424 in __kernel_vsyscall () #1 0xb51124dc in pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/pthread_cond_wait.S:169 #2 0xb524ad9d in __pthread_cond_wait (cond=0xb44f6770, mutex=0xb44f6758) at forward.c:139 #3 0xb3fee3a5 in ?? () from /usr/lib/libQtWebKit.so.4 #4 0xb3fee481 in ?? () from /usr/lib/libQtWebKit.so.4 #5 0xb510dcc9 in start_thread (arg=0xa797eb70) at pthread_create.c:304 #6 0xb523d69e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130 Thread 3 (Thread 0xa68dcb70 (LWP 24793)): #0 0xb7747424 in __kernel_vsyscall () ---Type <return> to continue, or q <return> to quit--- #1 0xb52061a6 in nanosleep () at ../sysdeps/unix/syscall-template.S:82 #2 0xb5236e9c in usleep (useconds=500) at ../sysdeps/unix/sysv/linux/usleep.c:33 #3 0xb4c2e8bc in KDevelop::DUChainLock::lockForWrite(unsigned int) () from /usr/local/lib/libkdevplatformlanguage.so.4 #4 0xb4c2eb0e in KDevelop::DUChainWriteLocker::lock() () from /usr/local/lib/libkdevplatformlanguage.so.4 #5 0xb4c2eb6e in KDevelop::DUChainWriteLocker::DUChainWriteLocker(KDevelop::DUChainLock*, unsigned int) () from /usr/local/lib/libkdevplatformlanguage.so.4 #6 0xaab6dac5 in UseExpressionVisitor::usingDeclaration(AST*, unsigned int, unsigned int, KDevelop::DUChainPointer<KDevelop::Declaration> const&) () from /usr/local/lib/libkdev4cppduchain.so #7 0xaabcc999 in NameASTVisitor::visitUnqualifiedName(UnqualifiedNameAST*) () from /usr/local/lib/libkdev4cppduchain.so #8 0xaaaace73 in Visitor::visit(AST*) () from /usr/local/lib/libkdev4cppparser.so #9 0xaaaab6d0 in DefaultVisitor::visitName(NameAST*) () from /usr/local/lib/libkdev4cppparser.so #10 0xaaaace73 in Visitor::visit(AST*) () from /usr/local/lib/libkdev4cppparser.so #11 0xaabcaddf in NameASTVisitor::run(NameAST*, bool) () from /usr/local/lib/libkdev4cppduchain.so #12 0xaabce60c in TypeASTVisitor::visitName(NameAST*) () from /usr/local/lib/libkdev4cppduchain.so #13 0xaaaace73 in Visitor::visit(AST*) () from /usr/local/lib/libkdev4cppparser.so #14 0xaabcee12 in TypeASTVisitor::visitSimpleTypeSpecifier(SimpleTypeSpecifierAST*) () from /usr/local/lib/libkdev4cppduchain.so #15 0xaaaace73 in Visitor::visit(AST*) () from /usr/local/lib/libkdev4cppparser.so #16 0xaaaaaf3b in DefaultVisitor::visitPtrToMember(PtrToMemberAST*) () from /usr/local/lib/libkdev4cppparser.so #17 0xaaaace73 in Visitor::visit(AST*) () from /usr/local/lib/libkdev4cppparser.so #18 0xaabcdf76 in TypeASTVisitor::run(TypeIdAST*) () from /usr/local/lib/libkdev4cppduchain.so #19 0xaabcb9ac in NameASTVisitor::processTemplateArgument(TemplateArgumentAST*) () from /usr/local/lib/libkdev4cppduchain.so #20 0xaabcc1d6 in NameASTVisitor::visitTemplateArgument(TemplateArgumentAST*) () from /usr/local/lib/libkdev4cppduchain.so #21 0xaaaace73 in Visitor::visit(AST*) () from /usr/local/lib/libkdev4cppparser.so #22 0xaabcd7d9 in void visitNodes<TemplateArgumentAST*>(Visitor*, ListNode<TemplateArgumentAST*> const*) () from /usr/local/lib/libkdev4cppduchain.so #23 0xaabcc3be in NameASTVisitor::visitUnqualifiedName(UnqualifiedNameAST*) () from /usr/local/lib/libkdev4cppduchain.so #24 0xaaaace73 in Visitor::visit(AST*) () from /usr/local/lib/libkdev4cppparser.so #25 0xaaaabcb9 in void visitNodes<UnqualifiedNameAST*>(Visitor*, ListNode<UnqualifiedNameAST*> const*) () from /usr/local/lib/libkdev4cppparser.so #26 0xaaaab6c1 in DefaultVisitor::visitName(NameAST*) () from /usr/local/lib/libkdev4cppparser.so #27 0xaaaace73 in Visitor::visit(AST*) () from /usr/local/lib/libkdev4cppparser.so #28 0xaabcaddf in NameASTVisitor::run(NameAST*, bool) () from /usr/local/lib/libkdev4cppduchain.so #29 0xaabce60c in TypeASTVisitor::visitName(NameAST*) () from /usr/local/lib/libkdev4cppduchain.so #30 0xaaaace73 in Visitor::visit(AST*) () from /usr/local/lib/libkdev4cppparser.so #31 0xaabcee12 in TypeASTVisitor::visitSimpleTypeSpecifier(SimpleTypeSpecifierAST*) () from /usr/local/lib/libkdev4cppduchain.so #32 0xaaaace73 in Visitor::visit(AST*) () from /usr/local/lib/libkdev4cppparser.so #33 0xaabcdd12 in TypeASTVisitor::run(TypeSpecifierAST*) () from /usr/local/lib/libkdev4cppduchain.so #34 0xaabcddc9 in TypeASTVisitor::run(TypeIdAST*) () from /usr/local/lib/libkdev4cppduchain.so ---Type <return> to continue, or q <return> to quit--- #35 0xaabcb9ac in NameASTVisitor::processTemplateArgument(TemplateArgumentAST*) () from /usr/local/lib/libkdev4cppduchain.so #36 0xaabcc1d6 in NameASTVisitor::visitTemplateArgument(TemplateArgumentAST*) () from /usr/local/lib/libkdev4cppduchain.so #37 0xaaaace73 in Visitor::visit(AST*) () from /usr/local/lib/libkdev4cppparser.so #38 0xaabcd7d9 in void visitNodes<TemplateArgumentAST*>(Visitor*, ListNode<TemplateArgumentAST*> const*) () from /usr/local/lib/libkdev4cppduchain.so #39 0xaabcc3be in NameASTVisitor::visitUnqualifiedName(UnqualifiedNameAST*) () from /usr/local/lib/libkdev4cppduchain.so #40 0xaaaace73 in Visitor::visit(AST*) () from /usr/local/lib/libkdev4cppparser.so #41 0xaaaab6d0 in DefaultVisitor::visitName(NameAST*) () from /usr/local/lib/libkdev4cppparser.so #42 0xaaaace73 in Visitor::visit(AST*) () from /usr/local/lib/libkdev4cppparser.so #43 0xaabcaddf in NameASTVisitor::run(NameAST*, bool) () from /usr/local/lib/libkdev4cppduchain.so #44 0xaabce60c in TypeASTVisitor::visitName(NameAST*) () from /usr/local/lib/libkdev4cppduchain.so #45 0xaaaace73 in Visitor::visit(AST*) () from /usr/local/lib/libkdev4cppparser.so #46 0xaabcee12 in TypeASTVisitor::visitSimpleTypeSpecifier(SimpleTypeSpecifierAST*) () from /usr/local/lib/libkdev4cppduchain.so #47 0xaaaace73 in Visitor::visit(AST*) () from /usr/local/lib/libkdev4cppparser.so #48 0xaabcdd12 in TypeASTVisitor::run(TypeSpecifierAST*) () from /usr/local/lib/libkdev4cppduchain.so #49 0xaabad287 in Cpp::ExpressionVisitor::visitSimpleTypeSpecifier(SimpleTypeSpecifierAST*) () from /usr/local/lib/libkdev4cppduchain.so #50 0xaaaace73 in Visitor::visit(AST*) () from /usr/local/lib/libkdev4cppparser.so #51 0xaababe9b in Cpp::ExpressionVisitor::parse(AST*) () from /usr/local/lib/libkdev4cppduchain.so #52 0xaab6ac6d in UseBuilder::visitSimpleTypeSpecifier(SimpleTypeSpecifierAST*) () from /usr/local/lib/libkdev4cppduchain.so #53 0xaaaace73 in Visitor::visit(AST*) () from /usr/local/lib/libkdev4cppparser.so #54 0xaab24608 in ContextBuilder::visitFunctionDeclaration(FunctionDefinitionAST*) () from /usr/local/lib/libkdev4cppduchain.so #55 0xaab28394 in ContextBuilder::visitFunctionDefinition(FunctionDefinitionAST*) () from /usr/local/lib/libkdev4cppduchain.so #56 0xaaaace73 in Visitor::visit(AST*) () from /usr/local/lib/libkdev4cppparser.so #57 0xaab277d2 in ContextBuilder::visitTemplateDeclaration(TemplateDeclarationAST*) () from /usr/local/lib/libkdev4cppduchain.so #58 0xaaaace73 in Visitor::visit(AST*) () from /usr/local/lib/libkdev4cppparser.so #59 0xaaaab9b9 in void visitNodes<DeclarationAST*>(Visitor*, ListNode<DeclarationAST*> const*) () from /usr/local/lib/libkdev4cppparser.so #60 0xaaaace73 in Visitor::visit(AST*) () from /usr/local/lib/libkdev4cppparser.so #61 0xaaaaad4b in DefaultVisitor::visitNamespace(NamespaceAST*) () from /usr/local/lib/libkdev4cppparser.so #62 0xaab25029 in ContextBuilder::visitNamespace(NamespaceAST*) () from /usr/local/lib/libkdev4cppduchain.so #63 0xaaaace73 in Visitor::visit(AST*) () from /usr/local/lib/libkdev4cppparser.so #64 0xaaaab9b9 in void visitNodes<DeclarationAST*>(Visitor*, ListNode<DeclarationAST*> const*) () from /usr/local/lib/libkdev4cppparser.so #65 0xaaaace73 in Visitor::visit(AST*) () from /usr/local/lib/libkdev4cppparser.so #66 0xaab245ac in ContextBuilder::startVisiting(AST*) () from /usr/local/lib/libkdev4cppduchain.so #67 0xaab6a915 in UseBuilder::buildUses(AST*) () from /usr/local/lib/libkdev4cppduchain.so #68 0xaac3ac45 in CPPInternalParseJob::run() () from /usr/local/lib/kde4/kdevcpplanguagesupport.so ---Type <return> to continue, or q <return> to quit--- #69 0xb7031df4 in ?? () from /usr/lib/libthreadweaver.so.4 #70 0xb7032151 in ThreadWeaver::Job::execute(ThreadWeaver::Thread*) () from /usr/lib/libthreadweaver.so.4 #71 0xb7033b23 in ?? () from /usr/lib/libthreadweaver.so.4 #72 0xb7030e1a in ?? () from /usr/lib/libthreadweaver.so.4 #73 0xb703156b in ThreadWeaver::Thread::run() () from /usr/lib/libthreadweaver.so.4 #74 0xb5f7adf9 in QThreadPrivate::start (arg=0x9e522d0) at thread/qthread_unix.cpp:266 #75 0xb510dcc9 in start_thread (arg=0xa68dcb70) at pthread_create.c:304 #76 0xb523d69e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130 Thread 2 (Thread 0xa60dbb70 (LWP 24794)): #0 0xb7747424 in __kernel_vsyscall () #1 0xb52061a6 in nanosleep () at ../sysdeps/unix/syscall-template.S:82 #2 0xb5236e9c in usleep (useconds=500) at ../sysdeps/unix/sysv/linux/usleep.c:33 #3 0xb4c2e8bc in KDevelop::DUChainLock::lockForWrite(unsigned int) () from /usr/local/lib/libkdevplatformlanguage.so.4 #4 0xb4c2eb0e in KDevelop::DUChainWriteLocker::lock() () from /usr/local/lib/libkdevplatformlanguage.so.4 #5 0xb4c2eb6e in KDevelop::DUChainWriteLocker::DUChainWriteLocker(KDevelop::DUChainLock*, unsigned int) () from /usr/local/lib/libkdevplatformlanguage.so.4 #6 0xaac41000 in PreprocessJob::run() () from /usr/local/lib/kde4/kdevcpplanguagesupport.so #7 0xaac35a52 in CPPParseJob::parseForeground() () from /usr/local/lib/kde4/kdevcpplanguagesupport.so #8 0xaac3e8f3 in PreprocessJob::sourceNeeded(QString&, rpp::Preprocessor::IncludeType, int, bool) () from /usr/local/lib/kde4/kdevcpplanguagesupport.so #9 0xaac01383 in rpp::pp::handle_include(bool, rpp::Stream&, rpp::Stream&) () from /usr/local/lib/libkdev4cpprpp.so #10 0xaac03f63 in rpp::pp::handle_directive(unsigned int, rpp::Stream&, rpp::Stream&) () from /usr/local/lib/libkdev4cpprpp.so #11 0xaac0477b in rpp::pp::operator()(rpp::Stream&, rpp::Stream&) () from /usr/local/lib/libkdev4cpprpp.so #12 0xaac049d7 in rpp::pp::processFileInternal(QString const&, QByteArray const&, QVector<unsigned int>&) () from /usr/local/lib/libkdev4cpprpp.so #13 0xaac04a75 in rpp::pp::processFile(QString const&, QByteArray const&) () from /usr/local/lib/libkdev4cpprpp.so #14 0xaac414e2 in PreprocessJob::run() () from /usr/local/lib/kde4/kdevcpplanguagesupport.so #15 0xaac35a52 in CPPParseJob::parseForeground() () from /usr/local/lib/kde4/kdevcpplanguagesupport.so #16 0xaac3e8f3 in PreprocessJob::sourceNeeded(QString&, rpp::Preprocessor::IncludeType, int, bool) () from /usr/local/lib/kde4/kdevcpplanguagesupport.so #17 0xaac01383 in rpp::pp::handle_include(bool, rpp::Stream&, rpp::Stream&) () from /usr/local/lib/libkdev4cpprpp.so #18 0xaac03f63 in rpp::pp::handle_directive(unsigned int, rpp::Stream&, rpp::Stream&) () from /usr/local/lib/libkdev4cpprpp.so #19 0xaac0477b in rpp::pp::operator()(rpp::Stream&, rpp::Stream&) () from /usr/local/lib/libkdev4cpprpp.so #20 0xaac049d7 in rpp::pp::processFileInternal(QString const&, QByteArray const&, QVector<unsigned int>&) () from /usr/local/lib/libkdev4cpprpp.so #21 0xaac04a75 in rpp::pp::processFile(QString const&, QByteArray const&) () from /usr/local/lib/libkdev4cpprpp.so #22 0xaac40cd8 in PreprocessJob::run() () from /usr/local/lib/kde4/kdevcpplanguagesupport.so #23 0xaac35a52 in CPPParseJob::parseForeground() () from /usr/local/lib/kde4/kdevcpplanguagesupport.so ---Type <return> to continue, or q <return> to quit--- #24 0xaac3e8f3 in PreprocessJob::sourceNeeded(QString&, rpp::Preprocessor::IncludeType, int, bool) () from /usr/local/lib/kde4/kdevcpplanguagesupport.so #25 0xaac01383 in rpp::pp::handle_include(bool, rpp::Stream&, rpp::Stream&) () from /usr/local/lib/libkdev4cpprpp.so #26 0xaac03f63 in rpp::pp::handle_directive(unsigned int, rpp::Stream&, rpp::Stream&) () from /usr/local/lib/libkdev4cpprpp.so #27 0xaac0477b in rpp::pp::operator()(rpp::Stream&, rpp::Stream&) () from /usr/local/lib/libkdev4cpprpp.so #28 0xaac049d7 in rpp::pp::processFileInternal(QString const&, QByteArray const&, QVector<unsigned int>&) () from /usr/local/lib/libkdev4cpprpp.so #29 0xaac04a75 in rpp::pp::processFile(QString const&, QByteArray const&) () from /usr/local/lib/libkdev4cpprpp.so #30 0xaac40cd8 in PreprocessJob::run() () from /usr/local/lib/kde4/kdevcpplanguagesupport.so #31 0xaac35a52 in CPPParseJob::parseForeground() () from /usr/local/lib/kde4/kdevcpplanguagesupport.so #32 0xaac3e8f3 in PreprocessJob::sourceNeeded(QString&, rpp::Preprocessor::IncludeType, int, bool) () from /usr/local/lib/kde4/kdevcpplanguagesupport.so #33 0xaac01383 in rpp::pp::handle_include(bool, rpp::Stream&, rpp::Stream&) () from /usr/local/lib/libkdev4cpprpp.so #34 0xaac03f63 in rpp::pp::handle_directive(unsigned int, rpp::Stream&, rpp::Stream&) () from /usr/local/lib/libkdev4cpprpp.so #35 0xaac0477b in rpp::pp::operator()(rpp::Stream&, rpp::Stream&) () from /usr/local/lib/libkdev4cpprpp.so #36 0xaac049d7 in rpp::pp::processFileInternal(QString const&, QByteArray const&, QVector<unsigned int>&) () from /usr/local/lib/libkdev4cpprpp.so #37 0xaac04a75 in rpp::pp::processFile(QString const&, QByteArray const&) () from /usr/local/lib/libkdev4cpprpp.so #38 0xaac40cd8 in PreprocessJob::run() () from /usr/local/lib/kde4/kdevcpplanguagesupport.so #39 0xb7031df4 in ?? () from /usr/lib/libthreadweaver.so.4 #40 0xb7032151 in ThreadWeaver::Job::execute(ThreadWeaver::Thread*) () from /usr/lib/libthreadweaver.so.4 #41 0xb7033b23 in ?? () from /usr/lib/libthreadweaver.so.4 #42 0xb703453e in ThreadWeaver::JobCollection::execute(ThreadWeaver::Thread*) () from /usr/lib/libthreadweaver.so.4 #43 0xb7030e1a in ?? () from /usr/lib/libthreadweaver.so.4 #44 0xb703156b in ThreadWeaver::Thread::run() () from /usr/lib/libthreadweaver.so.4 #45 0xb5f7adf9 in QThreadPrivate::start (arg=0x9e4db78) at thread/qthread_unix.cpp:266 #46 0xb510dcc9 in start_thread (arg=0xa60dbb70) at pthread_create.c:304 #47 0xb523d69e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130 Thread 1 (Thread 0xb2ca1710 (LWP 24759)): #0 0xb7747424 in __kernel_vsyscall () #1 0xb52061a6 in nanosleep () at ../sysdeps/unix/syscall-template.S:82 #2 0xb5236e9c in usleep (useconds=500) at ../sysdeps/unix/sysv/linux/usleep.c:33 #3 0xb4c2e8bc in KDevelop::DUChainLock::lockForWrite(unsigned int) () from /usr/local/lib/libkdevplatformlanguage.so.4 #4 0xb4c2eb0e in KDevelop::DUChainWriteLocker::lock() () from /usr/local/lib/libkdevplatformlanguage.so.4 #5 0xb4c2eb6e in KDevelop::DUChainWriteLocker::DUChainWriteLocker(KDevelop::DUChainLock*, unsigned int) () from /usr/local/lib/libkdevplatformlanguage.so.4 #6 0xb4bd448c in KDevelop::DUChain::documentLoadedPrepare(KDevelop::IDocument*) () from /usr/local/lib/libkdevplatformlanguage.so.4 #7 0xb4bd5aa7 in KDevelop::DUChain::qt_metacall(QMetaObject::Call, int, void**) () from /usr/local/lib/libkdevplatformlanguage.so.4 ---Type <return> to continue, or q <return> to quit--- #8 0xb60828ca in QMetaObject::metacall (object=0x9020640, cl=QMetaObject::InvokeMetaMethod, idx=4, argv=0x0) at kernel/qmetaobject.cpp:237 #9 0xb60956ad in QMetaObject::activate (sender=0x8eb1de8, m=0xb7485574, local_signal_index=9, argv=0xfffffdfc) at kernel/qobject.cpp:3280 #10 0xb747b8a3 in KDevelop::IDocumentController::documentLoadedPrepare(KDevelop::IDocument*) () from /usr/local/lib/libkdevplatforminterfaces.so.4 #11 0xb7479102 in KDevelop::IDocument::notifyLoaded() () from /usr/local/lib/libkdevplatforminterfaces.so.4 #12 0xb740012e in KDevelop::TextDocument::qt_metacall(QMetaObject::Call, int, void**) () from /usr/local/lib/libkdevplatformshell.so.4 #13 0xb60828ca in QMetaObject::metacall (object=0xc49a470, cl=QMetaObject::InvokeMetaMethod, idx=6, argv=0x0) at kernel/qmetaobject.cpp:237 #14 0xb60956ad in QMetaObject::activate (sender=0xc4749e0, m=0xb706ed84, local_signal_index=5, argv=0xfffffdfc) at kernel/qobject.cpp:3280 #15 0xb7056143 in KTextEditor::Document::textChanged(KTextEditor::Document*) () from /usr/lib/libktexteditor.so.4 #16 0xb0268909 in KateDocument::editEnd() () from /usr/lib/libkatepartinterfaces.so.4 #17 0xb026be30 in KateDocument::editRemoveText(int, int, int) () from /usr/lib/libkatepartinterfaces.so.4 #18 0xb026c00a in KateDocument::removeTrailingSpace(int) () from /usr/lib/libkatepartinterfaces.so.4 #19 0xb027bd2f in KateDocument::openFile() () from /usr/lib/libkatepartinterfaces.so.4 #20 0xb70a0364 in ?? () from /usr/lib/libkparts.so.4 #21 0xb70a0d9a in KParts::ReadOnlyPart::openUrl(KUrl const&) () from /usr/lib/libkparts.so.4 #22 0xb73ffce6 in KDevelop::TextDocument::createViewWidget(QWidget*) () from /usr/local/lib/libkdevplatformshell.so.4 #23 0xb73ff43e in KDevelop::TextView::createWidget(QWidget*) () from /usr/local/lib/libkdevplatformshell.so.4 #24 0xb69fe007 in Sublime::View::widget(QWidget*) () from /usr/local/lib/libsublime.so.4 #25 0xb69fb27f in Sublime::MainWindowPrivate::ViewCreator::operator()(Sublime::AreaIndex*) () from /usr/local/lib/libsublime.so.4 #26 0xb69fd679 in Sublime::Area::WalkerMode Sublime::Area::walkViewsInternal<Sublime::MainWindowPrivate::ViewCreator>(Sublime::MainWindowPrivate::ViewCreator&, Sublime::AreaIndex*) () from /usr/local/lib/libsublime.so.4 #27 0xb69fd6cb in void Sublime::Area::walkViews<Sublime::MainWindowPrivate::ViewCreator>(Sublime::MainWindowPrivate::ViewCreator&, Sublime::AreaIndex*) () from /usr/local/lib/libsublime.so.4 #28 0xb69fbb0a in Sublime::MainWindowPrivate::viewAdded(Sublime::AreaIndex*, Sublime::View*) () from /usr/local/lib/libsublime.so.4 #29 0xb69f407b in Sublime::MainWindow::qt_metacall(QMetaObject::Call, int, void**) () from /usr/local/lib/libsublime.so.4 #30 0xb73d613a in KDevelop::MainWindow::qt_metacall(QMetaObject::Call, int, void**) () from /usr/local/lib/libkdevplatformshell.so.4 #31 0xb60828ca in QMetaObject::metacall (object=0x8d74120, cl=QMetaObject::InvokeMetaMethod, idx=0, argv=0xbfefe254) at kernel/qmetaobject.cpp:237 #32 0xb60956ad in QMetaObject::activate (sender=0x8d81a80, m=0xb6a113a0, local_signal_index=0, argv=0xfffffdfc) at kernel/qobject.cpp:3280 #33 0xb69e60b9 in Sublime::Area::viewAdded(Sublime::AreaIndex*, Sublime::View*) () from /usr/local/lib/libsublime.so.4 #34 0xb69e6222 in Sublime::Area::addView(Sublime::View*, Sublime::AreaIndex*) () from /usr/local/lib/libsublime.so.4 #35 0xb69e6cce in Sublime::Area::addView(Sublime::View*, Sublime::View*) () from /usr/local/lib/libsublime.so.4 #36 0xb7406b63 in KDevelop::DocumentControllerPrivate::openDocumentInternal(KDevelop::IDocument*, KTextEditor::Range const&, QFlags<KDevelop::IDocumentController::DocumentActivation>) () from /usr/local/lib/libkdevplatformshell.so.4 #37 0xb74079cd in KDevelop::DocumentControllerPrivate::openDocumentInternal(KUrl const&, QString const&, KTextEditor::Range const&, QString const&, QFlags<KDevelop::IDocumentController::DocumentActivation>) () from /usr/local/lib/libkdevplatformshell.so.4 #38 0xb7403894 in KDevelop::DocumentController::openDocument(KUrl const&, KTextEditor::Range const&, QFlags<KDevelop::IDocumentController::DocumentActivation>, QString const&) () ---Type <return> to continue, or q <return> to quit--- from /usr/local/lib/libkdevplatformshell.so.4 #39 0xb747b539 in KDevelop::IDocumentController::openDocument(KUrl const&, KTextEditor::Cursor const&, QFlags<KDevelop::IDocumentController::DocumentActivation>, QString const&) () from /usr/local/lib/libkdevplatforminterfaces.so.4 #40 0xb74398f3 in KDevelop::DebugController::showStepInSource(KUrl const&, int) () from /usr/local/lib/libkdevplatformshell.so.4 #41 0xb73c1e56 in KDevelop::DebugController::qt_metacall(QMetaObject::Call, int, void**) () from /usr/local/lib/libkdevplatformshell.so.4 #42 0xb60828ca in QMetaObject::metacall (object=0x8f81ff0, cl=QMetaObject::InvokeMetaMethod, idx=0, argv=0x8f81ff0) at kernel/qmetaobject.cpp:237 #43 0xb60956ad in QMetaObject::activate (sender=0xa26a250, m=0xb69cc6e0, local_signal_index=1, argv=0xfffffdfc) at kernel/qobject.cpp:3280 #44 0xb69aa3cf in KDevelop::IDebugSession::showStepInSource(KUrl const&, int, QString const&) () from /usr/local/lib/libkdevplatformdebugger.so.4 #45 0xb69aa54d in KDevelop::IDebugSession::setCurrentPosition(KUrl const&, int, QString const&) () from /usr/local/lib/libkdevplatformdebugger.so.4 #46 0xada7ba1c in GDBDebugger::DebugSession::slotProgramStopped(GDBMI::ResultRecord const&) () from /usr/local/lib/kde4/kdevgdb.so #47 0xada7f74e in GDBDebugger::DebugSession::qt_metacall(QMetaObject::Call, int, void**) () from /usr/local/lib/kde4/kdevgdb.so #48 0xb60828ca in QMetaObject::metacall (object=0xa26a250, cl=QMetaObject::InvokeMetaMethod, idx=57, argv=0xbfefeb08) at kernel/qmetaobject.cpp:237 #49 0xb60956ad in QMetaObject::activate (sender=0xbf4d960, m=0xadaa696c, local_signal_index=2, argv=0xfffffdfc) at kernel/qobject.cpp:3280 #50 0xada4f493 in GDBDebugger::GDB::programStopped(GDBMI::ResultRecord const&) () from /usr/local/lib/kde4/kdevgdb.so #51 0xada50de4 in GDBDebugger::GDB::processLine(QByteArray const&) () from /usr/local/lib/kde4/kdevgdb.so #52 0xada51a09 in GDBDebugger::GDB::readyReadStandardOutput() () from /usr/local/lib/kde4/kdevgdb.so #53 0xada4f903 in GDBDebugger::GDB::qt_metacall(QMetaObject::Call, int, void**) () from /usr/local/lib/kde4/kdevgdb.so #54 0xb60828ca in QMetaObject::metacall (object=0xbf4d960, cl=QMetaObject::InvokeMetaMethod, idx=15, argv=0xbfefedac) at kernel/qmetaobject.cpp:237 #55 0xb60956ad in QMetaObject::activate (sender=0xbc64600, m=0xb61ad6e8, local_signal_index=5, argv=0xfffffdfc) at kernel/qobject.cpp:3280 #56 0xb60105e7 in QProcess::readyReadStandardOutput (this=0xbc64600) at .moc/release-shared/moc_qprocess.cpp:162 #57 0xb60158cf in QProcessPrivate::_q_canReadStandardOutput (this=0xbf4df18) at io/qprocess.cpp:897 #58 0xb6016266 in QProcess::qt_metacall (this=0xbc64600, _c=QMetaObject::InvokeMetaMethod, _id=9, _a=0xbfefefa8) at .moc/release-shared/moc_qprocess.cpp:107 #59 0xb75892ea in KProcess::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib/libkdecore.so.5 #60 0xb60828ca in QMetaObject::metacall (object=0xbc64600, cl=QMetaObject::InvokeMetaMethod, idx=0, argv=0xbc64600) at kernel/qmetaobject.cpp:237 #61 0xb60956ad in QMetaObject::activate (sender=0xb9de1f8, m=0xb61af550, local_signal_index=0, argv=0xfffffdfc) at kernel/qobject.cpp:3280 #62 0xb60e7073 in QSocketNotifier::activated (this=0xb9de1f8, _t1=53) at .moc/release-shared/moc_qsocketnotifier.cpp:89 #63 0xb609a347 in QSocketNotifier::event (this=0xb9de1f8, e=0xbfeff434) at kernel/qsocketnotifier.cpp:317 #64 0xb557bfdc in QApplicationPrivate::notify_helper (this=0x8cab9d8, receiver=0xb9de1f8, e=0xbfeff434) at kernel/qapplication.cpp:4396 #65 0xb558204e in QApplication::notify (this=0xbfeff934, receiver=0xb9de1f8, e=0xbfeff434) at kernel/qapplication.cpp:3798 #66 0xb6435f7a in KApplication::notify(QObject*, QEvent*) () from /usr/lib/libkdeui.so.5 #67 0xb607cb3b in QCoreApplication::notifyInternal (this=0xbfeff934, receiver=0xb9de1f8, event=0xbfeff434) at kernel/qcoreapplication.cpp:732 #68 0xb60ab93a in sendEvent (source=0x8cae768) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:215 #69 socketNotifierSourceDispatch (source=0x8cae768) at kernel/qeventdispatcher_glib.cpp:110 #70 0xb4677855 in g_main_context_dispatch () from /lib/libglib-2.0.so.0 ---Type <return> to continue, or q <return> to quit--- #71 0xb467b668 in ?? () from /lib/libglib-2.0.so.0 #72 0xb467b848 in g_main_context_iteration () from /lib/libglib-2.0.so.0 #73 0xb60ab565 in QEventDispatcherGlib::processEvents (this=0x8c8eaf0, flags=...) at kernel/qeventdispatcher_glib.cpp:415 #74 0xb563dbe5 in QGuiEventDispatcherGlib::processEvents (this=0x8c8eaf0, flags=...) at kernel/qguieventdispatcher_glib.cpp:204 #75 0xb607b609 in QEventLoop::processEvents (this=0xbfeff6d4, flags=) at kernel/qeventloop.cpp:149 DWARF-2 expression error: DW_OP_reg operations must be used either alone or in conjuction with DW_OP_piece or DW_OP_bit_piece. #76 0xb607ba8a in QEventLoop::exec (this=0xbfeff6d4, flags=...) at kernel/qeventloop.cpp:201 #77 0xb608000f in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1009 #78 0xb557ae07 in QApplication::exec () at kernel/qapplication.cpp:3672 #79 0x08053600 in main () Reproducible: Didn't try
Reproducible: pretty easily :) Version: 4.2.60
how do you trigger this?
by opening my cmake project with ~15 files, 2 of them with "using namespace blah::blah".
is this project public, can we test it? I do not get this lockup for my projects.
Nope, it's not, unfortunally. But I can try to reproduce it by experimenting with 'using namespace' in this project, and then, in case of success, strip it down to minimalistic testcase for you. I was hoping that the reason may be in some recent commits, and it will be obvious to find deadlock looking to callstack.
sorry, won't reproduce :(
Sorry but such a deadlock will need more information to be resolved properly I'm afraid. If you ever find a way to reproduce this issue please let me know. From the backtrace alone it more looks like a deadlock in DUChainLock::lockForWrite... I'll try to create a test for that and see whether I can reproduce anything...
Git commit 36f9c05c650e48658c331df9a919b2d81132e7da by Milian Wolff. Committed on 09/01/2013 at 20:59. Pushed by mwolff into branch 'master'. Add three tests to check for deadlocks in the DUChainRead/Write locks. For me I cannot find any deadlock using this test, even though it continuously locks the duchain for read/write in multiple threads. M +99 -0 language/duchain/tests/test_duchain.cpp M +3 -0 language/duchain/tests/test_duchain.h http://commits.kde.org/kdevplatform/36f9c05c650e48658c331df9a919b2d81132e7da
Got this deadlock today, due to ContextUsesWidget::linkWasActivated: it starts with DUChainReadLocker lock(DUChain::lock()); and keeps that locked when calling openDocument(), which (via many layers) ends up KDevelop::DUChain::documentLoadedPrepare, which creates a write locker. -> deadlock (or assertion first, in debug mode). Testcase: open kdepim, go to MessageList::Core::Model::setStorageModel, Show uses (of that method), click on the link to "View::setStorageModel" at the bottom. Boom.
commit 15c8a3af8bec36ba73fc307eb1d4296949ab14d0 Author: David Faure <faure@kde.org> Date: Wed Mar 13 01:25:03 2013 +0100 Release the DUChain::lock() before calling openDocument We get an assert (debug) / deadlock (release) otherwise, in the case where a new view needs to be opened (KDevelop::DUChain::documentLoadedPrepare) CCBUG: 267042 (not closing, because the original bt is in IDebugSession::showStepInSource) kdevplatform/language/duchain/navigation/useswidget.cpp (and going through the OP's backtrace, I can't find an unreleased readlocker in these methods. But of course the code might have changed since then...)
Moving all the bugs from the CPP Parser. It was not well defined the difference between it and C++ Language Support and people kept reporting in both places indistinctively