Bug 305594

Summary: KDevelop crashes when parsing boost 1.50 [KDevelop::DUContext::setOwner]
Product: [Applications] kdevelop Reporter: claas.koehler
Component: Language Support: CPP (old)Assignee: kdevelop-bugs-null
Status: RESOLVED DUPLICATE    
Severity: crash CC: kde, netcelli.tux
Priority: NOR    
Version First Reported In: git master   
Target Milestone: 4.3.0   
Platform: openSUSE   
OS: Linux   
See Also: https://bugs.kde.org/show_bug.cgi?id=302505
Latest Commit: Version Fixed/Implemented In:
Sentry Crash Report:

Description claas.koehler 2012-08-22 12:14:49 UTC
After opening the boost 1.50 source as new project, KDevelop crashes after approximately 50% of the source is parsed.

Reproducible: Always

Steps to Reproduce:
1. open boost source as new project (with "custom built system")

Actual Results:  
Stack trace:
Program received signal SIGABRT, Aborted.
[Switching to Thread 0x7fff67fff700 (LWP 2758)]
0x00007ffff1c35d95 in raise () from /lib64/libc.so.6
#0  0x00007ffff1c35d95 in raise () from /lib64/libc.so.6
#1  0x00007ffff1c372ab in abort () from /lib64/libc.so.6
#2  0x00007ffff388f9f4 in qt_message_output(QtMsgType, char const*) ()
   from /usr/lib64/libQtCore.so.4
#3  0x00007ffff388fbaf in ?? () from /usr/lib64/libQtCore.so.4
#4  0x00007ffff388fd54 in qFatal(char const*, ...) () from /usr/lib64/libQtCore.so.4
#5  0x00007ffff388fd9a in qt_assert(char const*, char const*, int) ()
   from /usr/lib64/libQtCore.so.4
#6  0x00007fffeffe5531 in KDevelop::DUContext::setOwner (this=0x7fff3ada2f00, owner=0x0)
    at /home/donau101/tools/kdevelop/trunk-src/platform/language/duchain/ducontext.cpp:550
#7  0x00007ffff000e21b in KDevelop::Declaration::~Declaration (this=0x7fff3ada24b0, 
    __in_chrg=<optimized out>)
    at /home/donau101/tools/kdevelop/trunk-src/platform/language/duchain/declaration.cpp:167
#8  0x00007fffba001752 in Cpp::SpecialTemplateDeclaration<TemplateParameterDeclaration>::~SpecialTemplateDeclaration (this=0x7fff3ada24b0, __in_chrg=<optimized out>)
    at /home/donau101/tools/kdevelop/trunk-src/kdevelop/languages/cpp/cppduchain/templatedeclaration.h:247
#9  0x00007fffba001779 in Cpp::SpecialTemplateDeclaration<TemplateParameterDeclaration>::~SpecialTemplateDeclaration (this=0x7fff3ada24b0, __in_chrg=<optimized out>)
    at /home/donau101/tools/kdevelop/trunk-src/kdevelop/languages/cpp/cppduchain/templatedeclaration.h:247
#10 0x00007fffeffea869 in KDevelop::DUContext::deleteLocalDeclarations (this=<optimized out>)
    at /home/donau101/tools/kdevelop/trunk-src/platform/language/duchain/ducontext.cpp:1086
#11 0x00007fffeffeca20 in KDevelop::DUContext::~DUContext (this=0x7fff3ada20b0, 
    __in_chrg=<optimized out>)
    at /home/donau101/tools/kdevelop/trunk-src/platform/language/duchain/ducontext.cpp:518
#12 0x00007fffb9fd74a8 in Cpp::CppDUContext<KDevelop::DUContext>::~CppDUContext (this=
    0x7fff3ada20b0, __in_chrg=<optimized out>)
    at /home/donau101/tools/kdevelop/trunk-src/kdevelop/languages/cpp/cppduchain/cppducontext.h:713
#13 0x00007fffb9fd74b9 in Cpp::CppDUContext<KDevelop::DUContext>::~CppDUContext (this=
    0x7fff3ada20b0, __in_chrg=<optimized out>)
    at /home/donau101/tools/kdevelop/trunk-src/kdevelop/languages/cpp/cppduchain/cppducontext.h:713
#14 0x00007fffba037163 in Cpp::TemplateDeclaration::instantiate (this=0x7fff3ada22c0, 
    _templateArguments=..., source=<optimized out>, forceLocal=<optimized out>)
    at /home/donau101/tools/kdevelop/trunk-src/kdevelop/languages/cpp/cppduchain/templatedeclaration.cpp:901
#15 0x00007fffba02bc2d in Cpp::FindDeclaration::instantiateDeclaration (this=0x7fff67ffc170, 
    decl=<optimized out>, templateArguments=<optimized out>)
    at /home/donau101/tools/kdevelop/trunk-src/kdevelop/languages/cpp/cppduchain/cppducontext.cpp:125
#16 0x00007fffba02cdc2 in Cpp::FindDeclaration::closeIdentifier (this=0x7fff67ffc170, 
    isFinalIdentifier=false)
    at /home/donau101/tools/kdevelop/trunk-src/kdevelop/languages/cpp/cppduchain/cppducontext.cpp:273
#17 0x00007fffb9fdbc72 in Cpp::CppDUContext<KDevelop::DUContext>::findDeclarationsInternal (this=
    0x7fff3ae4b840, identifier=..., position=<optimized out>, dataType=<optimized out>, ret=..., 
    source=0x7fff3ae361c0, basicFlags=...)
    at /home/donau101/tools/kdevelop/trunk-src/kdevelop/languages/cpp/cppduchain/cppducontext.h:363
#18 0x00007fffb9fdc23e in Cpp::CppDUContext<KDevelop::DUContext>::findDeclarationsInternal (this=
    0x7fff3ae4b840, identifiers=..., position=..., dataType=..., ret=..., source=0x7fff3ae361c0, 
    basicFlags=..., depth=0)
    at /home/donau101/tools/kdevelop/trunk-src/kdevelop/languages/cpp/cppduchain/cppducontext.h:286
#19 0x00007fffeffe7f6f in KDevelop::DUContext::findDeclarations (this=0x7fff3ae4b840, 
    identifier=<optimized out>, position=..., dataType=..., topContext=<optimized out>, flags=
    ...) at /home/donau101/tools/kdevelop/trunk-src/platform/language/duchain/ducontext.cpp:845
#20 0x00007fffba0064e1 in TypeBuilder::openTypeFromName (this=0x7fff67ffdd20, name=
    0x7fff3ad78220, modifiers=0, needClass=false)
    at /home/donau101/tools/kdevelop/trunk-src/kdevelop/languages/cpp/cppduchain/typebuilder.cpp:497
#21 0x00007fffba00790a in TypeBuilder::visitSimpleTypeSpecifier (this=0x7fff67ffdd20, node=
    0x7fff3ad782f0)
    at /home/donau101/tools/kdevelop/trunk-src/kdevelop/languages/cpp/cppduchain/typebuilder.cpp:401
#22 0x00007fffb9fcce1b in ContextBuilder::visitFunctionDeclaration (this=0x7fff67ffdd20, node=
    0x7fff3ad78848)
    at /home/donau101/tools/kdevelop/trunk-src/kdevelop/languages/cpp/cppduchain/contextbuilder.cpp:606
#23 0x00007fffb9fe142f in DeclarationBuilder::visitFunctionDeclaration (this=0x7fff67ffdd20, 
    node=0x7fff3ad78848)
    at /home/donau101/tools/kdevelop/trunk-src/kdevelop/languages/cpp/cppduchain/declarationbuilder.cpp:179
#24 0x00007fffb9fcffab in ContextBuilder::visitFunctionDefinition (this=0x7fff67ffdd20, node=
    0x7fff3ad78848)
    at /home/donau101/tools/kdevelop/trunk-src/kdevelop/languages/cpp/cppduchain/contextbuilder.cpp:576
#25 0x00007fffb9d1825d in visitNodes<DeclarationAST*> (v=0x7fff67ffdd80, nodes=<optimized out>)
    at /home/donau101/tools/kdevelop/trunk-src/kdevelop/languages/cpp/parser/visitor.h:139
#26 0x00007fffb9fce382 in ContextBuilder::visitNamespace (this=0x7fff67ffdd20, node=
    0x7fff3c0bab10)
    at /home/donau101/tools/kdevelop/trunk-src/kdevelop/languages/cpp/cppduchain/contextbuilder.cpp:472
#27 0x00007fffb9fe258e in DeclarationBuilder::visitNamespace (this=0x7fff67ffdd20, ast=
    0x7fff3c0bab10)
    at /home/donau101/tools/kdevelop/trunk-src/kdevelop/languages/cpp/cppduchain/declarationbuilder.cpp:1085
#28 0x00007fffb9d1825d in visitNodes<DeclarationAST*> (v=0x7fff67ffdd80, nodes=<optimized out>)
    at /home/donau101/tools/kdevelop/trunk-src/kdevelop/languages/cpp/parser/visitor.h:139
#29 0x00007fffb9fce382 in ContextBuilder::visitNamespace (this=0x7fff67ffdd20, node=
    0x7fff3c0baab8)
    at /home/donau101/tools/kdevelop/trunk-src/kdevelop/languages/cpp/cppduchain/contextbuilder.cpp:472
#30 0x00007fffb9fe258e in DeclarationBuilder::visitNamespace (this=0x7fff67ffdd20, ast=
    0x7fff3c0baab8)
    at /home/donau101/tools/kdevelop/trunk-src/kdevelop/languages/cpp/cppduchain/declarationbuilder.cpp:1085
#31 0x00007fffb9d1825d in visitNodes<DeclarationAST*> (v=0x7fff67ffdd80, nodes=<optimized out>)
    at /home/donau101/tools/kdevelop/trunk-src/kdevelop/languages/cpp/parser/visitor.h:139
#32 0x00007fffb9fd30e8 in KDevelop::AbstractContextBuilder<AST, NameAST>::supportBuild (this=
    0x7fff67ffdd20, node=0x7fff3c0baa70, context=0x7fff3ae361c0)
    at /users/koeh_cl/Software/kdevelop/trunk/include/kdevplatform/language/duchain/builders/abstractcontextbuilder.h:133
#33 0x00007fffb9fd1803 in ContextBuilder::buildContexts (this=0x7fff67ffdd20, file=..., node=
    0x7fff3c0baa70, includes=<optimized out>, updateContext=<optimized out>, removeOldImports=
    false)
    at /home/donau101/tools/kdevelop/trunk-src/kdevelop/languages/cpp/cppduchain/contextbuilder.cpp:421
#34 0x00007fffb9fdeb83 in DeclarationBuilder::buildDeclarations (this=0x7fff67ffdd20, 
    file=<optimized out>, node=0x7fff3c0baa70, includes=<optimized out>, 
    updateContext=<optimized out>, removeOldImports=false)
    at /home/donau101/tools/kdevelop/trunk-src/kdevelop/languages/cpp/cppduchain/declarationbuilder.cpp:94
#35 0x00007fffba51e0c0 in CPPInternalParseJob::run (this=0x900d100)
    at /home/donau101/tools/kdevelop/trunk-src/kdevelop/languages/cpp/cppparsejob.cpp:639
#36 0x00007ffff63ddd31 in ?? () from /usr/lib64/libthreadweaver.so.4
#37 0x00007ffff63dde5c in ThreadWeaver::Job::execute(ThreadWeaver::Thread*) ()
   from /usr/lib64/libthreadweaver.so.4
#38 0x00007ffff63deea3 in ?? () from /usr/lib64/libthreadweaver.so.4
#39 0x00007ffff63dd53f in ?? () from /usr/lib64/libthreadweaver.so.4
#40 0x00007ffff63dd5fb in ThreadWeaver::Thread::run() () from /usr/lib64/libthreadweaver.so.4
#41 0x00007ffff3899025 in ?? () from /usr/lib64/libQtCore.so.4
#42 0x00007ffff3608f05 in start_thread () from /lib64/libpthread.so.0
#43 0x00007ffff1cdc10d in clone () from /lib64/libc.so.6


Compiled Kdevelop from sources using gcc 4.6.
Comment 1 Davide 2012-12-08 08:43:26 UTC
I have the same problem. I attached another backtrace:


Application: KDevelop (kdevelop), signal: Aborted
Using host libthread_db library "/lib64/libthread_db.so.1".
[Current thread is 1 (Thread 0x7fd2dd754780 (LWP 5926))]

Thread 12 (Thread 0x7fd2c7d20700 (LWP 5927)):
#0  0x00007fd2d9bb204e in pthread_cond_timedwait () from /lib64/libpthread.so.0
#1  0x00007fd2db18915e in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib64/qt4/libQtCore.so.4
#2  0x00007fd2d728840a in KDevelop::DUChainPrivate::CleanupThread::run() () from /usr/lib64/libkdevplatformlanguage.so.6
#3  0x00007fd2db188c7c in QThreadPrivate::start(void*) () from /usr/lib64/qt4/libQtCore.so.4
#4  0x00007fd2d9bade37 in start_thread () from /lib64/libpthread.so.0
#5  0x00007fd2d9eaabbd in clone () from /lib64/libc.so.6

Thread 11 (Thread 0x7fd2bd060700 (LWP 5928)):
#0  0x00007fd2d9ea214d in poll () from /lib64/libc.so.6
#1  0x00007fd2d401700e in g_main_context_iterate.isra.23 () from /usr/lib64/libglib-2.0.so.0
#2  0x00007fd2d4017124 in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#3  0x00007fd2db2b3676 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/qt4/libQtCore.so.4
#4  0x00007fd2db283e22 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/qt4/libQtCore.so.4
#5  0x00007fd2db284077 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/qt4/libQtCore.so.4
#6  0x00007fd2db185ccf in QThread::exec() () from /usr/lib64/qt4/libQtCore.so.4
#7  0x00007fd2db188c7c in QThreadPrivate::start(void*) () from /usr/lib64/qt4/libQtCore.so.4
#8  0x00007fd2d9bade37 in start_thread () from /lib64/libpthread.so.0
#9  0x00007fd2d9eaabbd in clone () from /lib64/libc.so.6

Thread 10 (Thread 0x7fd2b7bb1700 (LWP 5929)):
#0  0x00007fd2d9ea46a3 in select () from /lib64/libc.so.6
#1  0x00007fd2db2634bf in QProcessManager::run() () from /usr/lib64/qt4/libQtCore.so.4
#2  0x00007fd2db188c7c in QThreadPrivate::start(void*) () from /usr/lib64/qt4/libQtCore.so.4
#3  0x00007fd2d9bade37 in start_thread () from /lib64/libpthread.so.0
#4  0x00007fd2d9eaabbd in clone () from /lib64/libc.so.6

Thread 9 (Thread 0x7fd2adb0d700 (LWP 5931)):
#0  0x00007fd2d9bb1ccc in pthread_cond_wait () from /lib64/libpthread.so.0
#1  0x00007fd2d6602782 in QTWTF::TCMalloc_PageHeap::scavengerThread() () from /usr/lib64/qt4/libQtScript.so.4
#2  0x00007fd2d66027b9 in QTWTF::TCMalloc_PageHeap::runScavengerThread(void*) () from /usr/lib64/qt4/libQtScript.so.4
#3  0x00007fd2d9bade37 in start_thread () from /lib64/libpthread.so.0
#4  0x00007fd2d9eaabbd in clone () from /lib64/libc.so.6

Thread 8 (Thread 0x7fd2acaa4700 (LWP 5932)):
#0  0x00007fd2d9ea214d in poll () from /lib64/libc.so.6
#1  0x00007fd2d401700e in g_main_context_iterate.isra.23 () from /usr/lib64/libglib-2.0.so.0
#2  0x00007fd2d4017124 in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#3  0x00007fd2db2b3676 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/qt4/libQtCore.so.4
#4  0x00007fd2db283e22 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/qt4/libQtCore.so.4
#5  0x00007fd2db284077 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/qt4/libQtCore.so.4
#6  0x00007fd2db185ccf in QThread::exec() () from /usr/lib64/qt4/libQtCore.so.4
#7  0x00007fd2db188c7c in QThreadPrivate::start(void*) () from /usr/lib64/qt4/libQtCore.so.4
#8  0x00007fd2d9bade37 in start_thread () from /lib64/libpthread.so.0
#9  0x00007fd2d9eaabbd in clone () from /lib64/libc.so.6

Thread 7 (Thread 0x7fd2a7fff700 (LWP 5933)):
#0  0x00007fd2d9ea214d in poll () from /lib64/libc.so.6
#1  0x00007fd2d401700e in g_main_context_iterate.isra.23 () from /usr/lib64/libglib-2.0.so.0
#2  0x00007fd2d4017124 in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#3  0x00007fd2db2b3676 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/qt4/libQtCore.so.4
#4  0x00007fd2db283e22 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/qt4/libQtCore.so.4
#5  0x00007fd2db284077 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/qt4/libQtCore.so.4
#6  0x00007fd2db185ccf in QThread::exec() () from /usr/lib64/qt4/libQtCore.so.4
#7  0x00007fd2db188c7c in QThreadPrivate::start(void*) () from /usr/lib64/qt4/libQtCore.so.4
#8  0x00007fd2d9bade37 in start_thread () from /lib64/libpthread.so.0
#9  0x00007fd2d9eaabbd in clone () from /lib64/libc.so.6

Thread 6 (Thread 0x7fd2a77fe700 (LWP 5947)):
#0  0x00007fd2d9ea214d in poll () from /lib64/libc.so.6
#1  0x00007fd2d401700e in g_main_context_iterate.isra.23 () from /usr/lib64/libglib-2.0.so.0
#2  0x00007fd2d4017124 in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#3  0x00007fd2db2b3676 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/qt4/libQtCore.so.4
#4  0x00007fd2db283e22 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/qt4/libQtCore.so.4
#5  0x00007fd2db284077 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/qt4/libQtCore.so.4
#6  0x00007fd2db185ccf in QThread::exec() () from /usr/lib64/qt4/libQtCore.so.4
#7  0x00007fd2db263e1f in QInotifyFileSystemWatcherEngine::run() () from /usr/lib64/qt4/libQtCore.so.4
#8  0x00007fd2db188c7c in QThreadPrivate::start(void*) () from /usr/lib64/qt4/libQtCore.so.4
#9  0x00007fd2d9bade37 in start_thread () from /lib64/libpthread.so.0
#10 0x00007fd2d9eaabbd in clone () from /lib64/libc.so.6

Thread 5 (Thread 0x7fd2a5433700 (LWP 5972)):
#0  0x00007fd2d9bb1ccc in pthread_cond_wait () from /lib64/libpthread.so.0
#1  0x00007fd2d0b52544 in WTF::TCMalloc_PageHeap::scavengerThread() () from /usr/lib64/qt4/libQtWebKit.so.4
#2  0x00007fd2d0b52669 in WTF::TCMalloc_PageHeap::runScavengerThread(void*) () from /usr/lib64/qt4/libQtWebKit.so.4
#3  0x00007fd2d9bade37 in start_thread () from /lib64/libpthread.so.0
#4  0x00007fd2d9eaabbd in clone () from /lib64/libc.so.6

Thread 4 (Thread 0x7fd2a5c34700 (LWP 5973)):
#0  0x00007fd2d9ea214d in poll () from /lib64/libc.so.6
#1  0x00007fd2d401700e in g_main_context_iterate.isra.23 () from /usr/lib64/libglib-2.0.so.0
#2  0x00007fd2d4017124 in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#3  0x00007fd2db2b3676 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/qt4/libQtCore.so.4
#4  0x00007fd2db283e22 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/qt4/libQtCore.so.4
#5  0x00007fd2db284077 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/qt4/libQtCore.so.4
#6  0x00007fd2db185ccf in QThread::exec() () from /usr/lib64/qt4/libQtCore.so.4
#7  0x00007fd2db188c7c in QThreadPrivate::start(void*) () from /usr/lib64/qt4/libQtCore.so.4
#8  0x00007fd2d9bade37 in start_thread () from /lib64/libpthread.so.0
#9  0x00007fd2d9eaabbd in clone () from /lib64/libc.so.6

Thread 3 (Thread 0x7fd2977fe700 (LWP 6262)):
[KCrash Handler]
#6  0x00007fd2d9df9b75 in raise () from /lib64/libc.so.6
#7  0x00007fd2d9dfaeda in abort () from /lib64/libc.so.6
#8  0x00007fd2db17e55c in qt_message_output(QtMsgType, char const*) () from /usr/lib64/qt4/libQtCore.so.4
#9  0x00007fd2db17e6df in qt_message(QtMsgType, char const*, __va_list_tag*) () from /usr/lib64/qt4/libQtCore.so.4
#10 0x00007fd2db17e874 in qFatal(char const*, ...) () from /usr/lib64/qt4/libQtCore.so.4
#11 0x00007fd2d728d0cd in KDevelop::DUContext::setOwner(KDevelop::Declaration*) () from /usr/lib64/libkdevplatformlanguage.so.6
#12 0x00007fd2d72b9d9d in KDevelop::Declaration::~Declaration() () from /usr/lib64/libkdevplatformlanguage.so.6
#13 0x00007fd2acd8273f in Cpp::SpecialTemplateDeclaration<TemplateParameterDeclaration>::~SpecialTemplateDeclaration() () from /usr/lib64/libkdev4cppduchain.so
#14 0x00007fd2acd827f9 in Cpp::SpecialTemplateDeclaration<TemplateParameterDeclaration>::~SpecialTemplateDeclaration() () from /usr/lib64/libkdev4cppduchain.so
#15 0x00007fd2d72946eb in KDevelop::DUContext::deleteLocalDeclarations() () from /usr/lib64/libkdevplatformlanguage.so.6
#16 0x00007fd2d7296fca in KDevelop::DUContext::~DUContext() () from /usr/lib64/libkdevplatformlanguage.so.6
#17 0x00007fd2acd700f8 in Cpp::CppDUContext<KDevelop::DUContext>::~CppDUContext() () from /usr/lib64/libkdev4cppduchain.so
#18 0x00007fd2acddac9d in Cpp::TemplateDeclaration::instantiate(KDevelop::InstantiationInformation const&, KDevelop::TopDUContext const*, bool) () from /usr/lib64/libkdev4cppduchain.so
#19 0x00007fd2acdce3c6 in Cpp::FindDeclaration::instantiateDeclaration(KDevelop::Declaration*, KDevelop::InstantiationInformation const&) const () from /usr/lib64/libkdev4cppduchain.so
#20 0x00007fd2acdcf97e in Cpp::FindDeclaration::closeIdentifier(bool) () from /usr/lib64/libkdev4cppduchain.so
#21 0x00007fd2ace06e59 in NameASTVisitor::visitUnqualifiedName(UnqualifiedNameAST*) [clone .part.60] () from /usr/lib64/libkdev4cppduchain.so
#22 0x00007fd2ace0565c in NameASTVisitor::run(NameAST*, bool) () from /usr/lib64/libkdev4cppduchain.so
#23 0x00007fd2ace09324 in TypeASTVisitor::visitName(NameAST*) () from /usr/lib64/libkdev4cppduchain.so
#24 0x00007fd2ace09c72 in TypeASTVisitor::visitSimpleTypeSpecifier(SimpleTypeSpecifierAST*) [clone .part.58] () from /usr/lib64/libkdev4cppduchain.so
#25 0x00007fd2ace0891c in TypeASTVisitor::run(TypeSpecifierAST*) () from /usr/lib64/libkdev4cppduchain.so
#26 0x00007fd2ace089ad in TypeASTVisitor::run(TypeIdAST*) () from /usr/lib64/libkdev4cppduchain.so
#27 0x00007fd2ace06102 in NameASTVisitor::processTemplateArgument(TemplateArgumentAST*) () from /usr/lib64/libkdev4cppduchain.so
#28 0x00007fd2acd77262 in DeclarationBuilder::createSpecializationInformation(KDevelop::InstantiationInformation const&, UnqualifiedNameAST*, KDevelop::DUContext*) () from /usr/lib64/libkdev4cppduchain.so
#29 0x00007fd2acd774ab in DeclarationBuilder::createSpecializationInformation(NameAST*, KDevelop::DUContext*) () from /usr/lib64/libkdev4cppduchain.so
#30 0x00007fd2acd7e3d8 in DeclarationBuilder::visitClassSpecifier(ClassSpecifierAST*) () from /usr/lib64/libkdev4cppduchain.so
#31 0x00007fd2acda128c in TypeBuilder::visitSimpleDeclaration(SimpleDeclarationAST*) () from /usr/lib64/libkdev4cppduchain.so
#32 0x00007fd2acd79d95 in DeclarationBuilder::visitSimpleDeclaration(SimpleDeclarationAST*) () from /usr/lib64/libkdev4cppduchain.so
#33 0x00007fd2acd683f1 in ContextBuilder::visitTemplateDeclaration(TemplateDeclarationAST*) () from /usr/lib64/libkdev4cppduchain.so
#34 0x00007fd2acabe7ee in void visitNodes<DeclarationAST*>(Visitor*, ListNode<DeclarationAST*> const*) () from /usr/lib64/libkdev4cppparser.so
#35 0x00007fd2acd65a83 in ContextBuilder::visitNamespace(NamespaceAST*) () from /usr/lib64/libkdev4cppduchain.so
#36 0x00007fd2acd7b8ef in DeclarationBuilder::visitNamespace(NamespaceAST*) () from /usr/lib64/libkdev4cppduchain.so
#37 0x00007fd2acabe7ee in void visitNodes<DeclarationAST*>(Visitor*, ListNode<DeclarationAST*> const*) () from /usr/lib64/libkdev4cppparser.so
#38 0x00007fd2acd65a83 in ContextBuilder::visitNamespace(NamespaceAST*) () from /usr/lib64/libkdev4cppduchain.so
#39 0x00007fd2acd7b8ef in DeclarationBuilder::visitNamespace(NamespaceAST*) () from /usr/lib64/libkdev4cppduchain.so
#40 0x00007fd2acabe7ee in void visitNodes<DeclarationAST*>(Visitor*, ListNode<DeclarationAST*> const*) () from /usr/lib64/libkdev4cppparser.so
#41 0x00007fd2acd65a83 in ContextBuilder::visitNamespace(NamespaceAST*) () from /usr/lib64/libkdev4cppduchain.so
#42 0x00007fd2acd7b8ef in DeclarationBuilder::visitNamespace(NamespaceAST*) () from /usr/lib64/libkdev4cppduchain.so
#43 0x00007fd2acabe7ee in void visitNodes<DeclarationAST*>(Visitor*, ListNode<DeclarationAST*> const*) () from /usr/lib64/libkdev4cppparser.so
#44 0x00007fd2acd6c309 in KDevelop::AbstractContextBuilder<AST, NameAST>::supportBuild(AST*, KDevelop::DUContext*) () from /usr/lib64/libkdev4cppduchain.so
#45 0x00007fd2acd69caa in ContextBuilder::buildContexts(KSharedPtr<Cpp::EnvironmentFile>, AST*, QList<LineContextPair>*, KDevelop::ReferencedTopDUContext const&, bool) () from /usr/lib64/libkdev4cppduchain.so
#46 0x00007fd2acd76268 in DeclarationBuilder::buildDeclarations(KSharedPtr<Cpp::EnvironmentFile>, AST*, QList<LineContextPair>*, KDevelop::ReferencedTopDUContext const&, bool) () from /usr/lib64/libkdev4cppduchain.so
#47 0x00007fd2ad085bea in CPPInternalParseJob::run() () from /usr/lib64/kde4/kdevcpplanguagesupport.so
#48 0x00007fd2ad08aeb1 in PreprocessJob::sourceNeeded(QString&, rpp::Preprocessor::IncludeType, int, bool) () from /usr/lib64/kde4/kdevcpplanguagesupport.so
#49 0x00007fd2b4074c2e in rpp::pp::handle_include(bool, rpp::Stream&, rpp::Stream&) () from /usr/lib64/libkdev4cpprpp.so
#50 0x00007fd2b4076643 in rpp::pp::handle_directive(unsigned int, rpp::Stream&, rpp::Stream&) () from /usr/lib64/libkdev4cpprpp.so
#51 0x00007fd2b4076d31 in rpp::pp::operator()(rpp::Stream&, rpp::Stream&) () from /usr/lib64/libkdev4cpprpp.so
#52 0x00007fd2b4076fa1 in rpp::pp::processFileInternal(QString const&, QByteArray const&, QVector<unsigned int>&) () from /usr/lib64/libkdev4cpprpp.so
#53 0x00007fd2b4077045 in rpp::pp::processFile(QString const&, QByteArray const&) () from /usr/lib64/libkdev4cpprpp.so
#54 0x00007fd2ad08c6ea in PreprocessJob::run() () from /usr/lib64/kde4/kdevcpplanguagesupport.so
#55 0x00007fd2ad0814ad in CPPParseJob::parseForeground() () from /usr/lib64/kde4/kdevcpplanguagesupport.so
#56 0x00007fd2ad08aeb1 in PreprocessJob::sourceNeeded(QString&, rpp::Preprocessor::IncludeType, int, bool) () from /usr/lib64/kde4/kdevcpplanguagesupport.so
#57 0x00007fd2b4074c2e in rpp::pp::handle_include(bool, rpp::Stream&, rpp::Stream&) () from /usr/lib64/libkdev4cpprpp.so
#58 0x00007fd2b4076643 in rpp::pp::handle_directive(unsigned int, rpp::Stream&, rpp::Stream&) () from /usr/lib64/libkdev4cpprpp.so
#59 0x00007fd2b4076d31 in rpp::pp::operator()(rpp::Stream&, rpp::Stream&) () from /usr/lib64/libkdev4cpprpp.so
#60 0x00007fd2b4076fa1 in rpp::pp::processFileInternal(QString const&, QByteArray const&, QVector<unsigned int>&) () from /usr/lib64/libkdev4cpprpp.so
#61 0x00007fd2b4077045 in rpp::pp::processFile(QString const&, QByteArray const&) () from /usr/lib64/libkdev4cpprpp.so
#62 0x00007fd2ad08c6ea in PreprocessJob::run() () from /usr/lib64/kde4/kdevcpplanguagesupport.so
#63 0x00007fd2ad0814ad in CPPParseJob::parseForeground() () from /usr/lib64/kde4/kdevcpplanguagesupport.so
#64 0x00007fd2ad08aeb1 in PreprocessJob::sourceNeeded(QString&, rpp::Preprocessor::IncludeType, int, bool) () from /usr/lib64/kde4/kdevcpplanguagesupport.so
#65 0x00007fd2b4074c2e in rpp::pp::handle_include(bool, rpp::Stream&, rpp::Stream&) () from /usr/lib64/libkdev4cpprpp.so
#66 0x00007fd2b4076643 in rpp::pp::handle_directive(unsigned int, rpp::Stream&, rpp::Stream&) () from /usr/lib64/libkdev4cpprpp.so
#67 0x00007fd2b4076d31 in rpp::pp::operator()(rpp::Stream&, rpp::Stream&) () from /usr/lib64/libkdev4cpprpp.so
#68 0x00007fd2b4076fa1 in rpp::pp::processFileInternal(QString const&, QByteArray const&, QVector<unsigned int>&) () from /usr/lib64/libkdev4cpprpp.so
#69 0x00007fd2b4077045 in rpp::pp::processFile(QString const&, QByteArray const&) () from /usr/lib64/libkdev4cpprpp.so
#70 0x00007fd2ad08c6ea in PreprocessJob::run() () from /usr/lib64/kde4/kdevcpplanguagesupport.so
#71 0x00007fd2ad0814ad in CPPParseJob::parseForeground() () from /usr/lib64/kde4/kdevcpplanguagesupport.so
#72 0x00007fd2ad08aeb1 in PreprocessJob::sourceNeeded(QString&, rpp::Preprocessor::IncludeType, int, bool) () from /usr/lib64/kde4/kdevcpplanguagesupport.so
#73 0x00007fd2b4074c2e in rpp::pp::handle_include(bool, rpp::Stream&, rpp::Stream&) () from /usr/lib64/libkdev4cpprpp.so
#74 0x00007fd2b4076643 in rpp::pp::handle_directive(unsigned int, rpp::Stream&, rpp::Stream&) () from /usr/lib64/libkdev4cpprpp.so
#75 0x00007fd2b4076d31 in rpp::pp::operator()(rpp::Stream&, rpp::Stream&) () from /usr/lib64/libkdev4cpprpp.so
#76 0x00007fd2b4076fa1 in rpp::pp::processFileInternal(QString const&, QByteArray const&, QVector<unsigned int>&) () from /usr/lib64/libkdev4cpprpp.so
#77 0x00007fd2b4077045 in rpp::pp::processFile(QString const&, QByteArray const&) () from /usr/lib64/libkdev4cpprpp.so
#78 0x00007fd2ad08c6ea in PreprocessJob::run() () from /usr/lib64/kde4/kdevcpplanguagesupport.so
#79 0x00007fd2ad0814ad in CPPParseJob::parseForeground() () from /usr/lib64/kde4/kdevcpplanguagesupport.so
#80 0x00007fd2ad08aeb1 in PreprocessJob::sourceNeeded(QString&, rpp::Preprocessor::IncludeType, int, bool) () from /usr/lib64/kde4/kdevcpplanguagesupport.so
#81 0x00007fd2b4074c2e in rpp::pp::handle_include(bool, rpp::Stream&, rpp::Stream&) () from /usr/lib64/libkdev4cpprpp.so
#82 0x00007fd2b4076643 in rpp::pp::handle_directive(unsigned int, rpp::Stream&, rpp::Stream&) () from /usr/lib64/libkdev4cpprpp.so
#83 0x00007fd2b4076d31 in rpp::pp::operator()(rpp::Stream&, rpp::Stream&) () from /usr/lib64/libkdev4cpprpp.so
#84 0x00007fd2b4076fa1 in rpp::pp::processFileInternal(QString const&, QByteArray const&, QVector<unsigned int>&) () from /usr/lib64/libkdev4cpprpp.so
#85 0x00007fd2b4077045 in rpp::pp::processFile(QString const&, QByteArray const&) () from /usr/lib64/libkdev4cpprpp.so
#86 0x00007fd2ad08c6ea in PreprocessJob::run() () from /usr/lib64/kde4/kdevcpplanguagesupport.so
#87 0x00007fd2ad0814ad in CPPParseJob::parseForeground() () from /usr/lib64/kde4/kdevcpplanguagesupport.so
#88 0x00007fd2ad08aeb1 in PreprocessJob::sourceNeeded(QString&, rpp::Preprocessor::IncludeType, int, bool) () from /usr/lib64/kde4/kdevcpplanguagesupport.so
#89 0x00007fd2b4074c2e in rpp::pp::handle_include(bool, rpp::Stream&, rpp::Stream&) () from /usr/lib64/libkdev4cpprpp.so
#90 0x00007fd2b4076643 in rpp::pp::handle_directive(unsigned int, rpp::Stream&, rpp::Stream&) () from /usr/lib64/libkdev4cpprpp.so
#91 0x00007fd2b4076d31 in rpp::pp::operator()(rpp::Stream&, rpp::Stream&) () from /usr/lib64/libkdev4cpprpp.so
#92 0x00007fd2b4076fa1 in rpp::pp::processFileInternal(QString const&, QByteArray const&, QVector<unsigned int>&) () from /usr/lib64/libkdev4cpprpp.so
#93 0x00007fd2b4077045 in rpp::pp::processFile(QString const&, QByteArray const&) () from /usr/lib64/libkdev4cpprpp.so
#94 0x00007fd2ad08c6ea in PreprocessJob::run() () from /usr/lib64/kde4/kdevcpplanguagesupport.so
#95 0x00007fd2ad0814ad in CPPParseJob::parseForeground() () from /usr/lib64/kde4/kdevcpplanguagesupport.so
#96 0x00007fd2ad08aeb1 in PreprocessJob::sourceNeeded(QString&, rpp::Preprocessor::IncludeType, int, bool) () from /usr/lib64/kde4/kdevcpplanguagesupport.so
#97 0x00007fd2b4074c2e in rpp::pp::handle_include(bool, rpp::Stream&, rpp::Stream&) () from /usr/lib64/libkdev4cpprpp.so
#98 0x00007fd2b4076643 in rpp::pp::handle_directive(unsigned int, rpp::Stream&, rpp::Stream&) () from /usr/lib64/libkdev4cpprpp.so
#99 0x00007fd2b4076d31 in rpp::pp::operator()(rpp::Stream&, rpp::Stream&) () from /usr/lib64/libkdev4cpprpp.so
#100 0x00007fd2b4076fa1 in rpp::pp::processFileInternal(QString const&, QByteArray const&, QVector<unsigned int>&) () from /usr/lib64/libkdev4cpprpp.so
#101 0x00007fd2b4077045 in rpp::pp::processFile(QString const&, QByteArray const&) () from /usr/lib64/libkdev4cpprpp.so
#102 0x00007fd2ad08c6ea in PreprocessJob::run() () from /usr/lib64/kde4/kdevcpplanguagesupport.so
#103 0x00007fd2ad0814ad in CPPParseJob::parseForeground() () from /usr/lib64/kde4/kdevcpplanguagesupport.so
#104 0x00007fd2ad08aeb1 in PreprocessJob::sourceNeeded(QString&, rpp::Preprocessor::IncludeType, int, bool) () from /usr/lib64/kde4/kdevcpplanguagesupport.so
#105 0x00007fd2b4074c2e in rpp::pp::handle_include(bool, rpp::Stream&, rpp::Stream&) () from /usr/lib64/libkdev4cpprpp.so
#106 0x00007fd2b4076643 in rpp::pp::handle_directive(unsigned int, rpp::Stream&, rpp::Stream&) () from /usr/lib64/libkdev4cpprpp.so
#107 0x00007fd2b4076d31 in rpp::pp::operator()(rpp::Stream&, rpp::Stream&) () from /usr/lib64/libkdev4cpprpp.so
#108 0x00007fd2b4076fa1 in rpp::pp::processFileInternal(QString const&, QByteArray const&, QVector<unsigned int>&) () from /usr/lib64/libkdev4cpprpp.so
#109 0x00007fd2b4077045 in rpp::pp::processFile(QString const&, QByteArray const&) () from /usr/lib64/libkdev4cpprpp.so
#110 0x00007fd2ad08c6ea in PreprocessJob::run() () from /usr/lib64/kde4/kdevcpplanguagesupport.so
#111 0x00007fd2ad0814ad in CPPParseJob::parseForeground() () from /usr/lib64/kde4/kdevcpplanguagesupport.so
#112 0x00007fd2ad08aeb1 in PreprocessJob::sourceNeeded(QString&, rpp::Preprocessor::IncludeType, int, bool) () from /usr/lib64/kde4/kdevcpplanguagesupport.so
#113 0x00007fd2b4074c2e in rpp::pp::handle_include(bool, rpp::Stream&, rpp::Stream&) () from /usr/lib64/libkdev4cpprpp.so
#114 0x00007fd2b4076643 in rpp::pp::handle_directive(unsigned int, rpp::Stream&, rpp::Stream&) () from /usr/lib64/libkdev4cpprpp.so
#115 0x00007fd2b4076d31 in rpp::pp::operator()(rpp::Stream&, rpp::Stream&) () from /usr/lib64/libkdev4cpprpp.so
#116 0x00007fd2b4076fa1 in rpp::pp::processFileInternal(QString const&, QByteArray const&, QVector<unsigned int>&) () from /usr/lib64/libkdev4cpprpp.so
#117 0x00007fd2b4077045 in rpp::pp::processFile(QString const&, QByteArray const&) () from /usr/lib64/libkdev4cpprpp.so
#118 0x00007fd2ad08c6ea in PreprocessJob::run() () from /usr/lib64/kde4/kdevcpplanguagesupport.so
#119 0x00007fd2d153c99b in ThreadWeaver::JobRunHelper::runTheJob(ThreadWeaver::Thread*, ThreadWeaver::Job*) () from /usr/lib64/libthreadweaver.so.4
#120 0x00007fd2d153cb0c in ThreadWeaver::Job::execute(ThreadWeaver::Thread*) () from /usr/lib64/libthreadweaver.so.4
#121 0x00007fd2d153db23 in ThreadWeaver::JobCollectionJobRunner::execute(ThreadWeaver::Thread*) () from /usr/lib64/libthreadweaver.so.4
#122 0x00007fd2d153c157 in ThreadWeaver::ThreadRunHelper::run(ThreadWeaver::WeaverImpl*, ThreadWeaver::Thread*) () from /usr/lib64/libthreadweaver.so.4
#123 0x00007fd2d153c21b in ThreadWeaver::Thread::run() () from /usr/lib64/libthreadweaver.so.4
#124 0x00007fd2db188c7c in QThreadPrivate::start(void*) () from /usr/lib64/qt4/libQtCore.so.4
#125 0x00007fd2d9bade37 in start_thread () from /lib64/libpthread.so.0
#126 0x00007fd2d9eaabbd in clone () from /lib64/libc.so.6

Thread 2 (Thread 0x7fd296ffd700 (LWP 6263)):
#0  0x00007fd2d9bb1ccc in pthread_cond_wait () from /lib64/libpthread.so.0
#1  0x00007fd2db1891eb in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib64/qt4/libQtCore.so.4
#2  0x00007fd2d153aa5b in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned(ThreadWeaver::Thread*) () from /usr/lib64/libthreadweaver.so.4
#3  0x00007fd2d153d32b in ThreadWeaver::WorkingHardState::applyForWork(ThreadWeaver::Thread*, ThreadWeaver::Job*) () from /usr/lib64/libthreadweaver.so.4
#4  0x00007fd2d153d344 in ThreadWeaver::WorkingHardState::applyForWork(ThreadWeaver::Thread*, ThreadWeaver::Job*) () from /usr/lib64/libthreadweaver.so.4
#5  0x00007fd2d153c187 in ThreadWeaver::ThreadRunHelper::run(ThreadWeaver::WeaverImpl*, ThreadWeaver::Thread*) () from /usr/lib64/libthreadweaver.so.4
#6  0x00007fd2d153c21b in ThreadWeaver::Thread::run() () from /usr/lib64/libthreadweaver.so.4
#7  0x00007fd2db188c7c in QThreadPrivate::start(void*) () from /usr/lib64/qt4/libQtCore.so.4
#8  0x00007fd2d9bade37 in start_thread () from /lib64/libpthread.so.0
#9  0x00007fd2d9eaabbd in clone () from /lib64/libc.so.6

Thread 1 (Thread 0x7fd2dd754780 (LWP 5926)):
#0  0x00007fd2d9e9d72d in read () from /lib64/libc.so.6
#1  0x00007fd2d4050487 in g_wakeup_acknowledge () from /usr/lib64/libglib-2.0.so.0
#2  0x00007fd2d4016b9c in g_main_context_check () from /usr/lib64/libglib-2.0.so.0
#3  0x00007fd2d4016fb6 in g_main_context_iterate.isra.23 () from /usr/lib64/libglib-2.0.so.0
#4  0x00007fd2d4017124 in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#5  0x00007fd2db2b361b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/qt4/libQtCore.so.4
#6  0x00007fd2da6e563e in QGuiEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/qt4/libQtGui.so.4
#7  0x00007fd2db283e22 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/qt4/libQtCore.so.4
#8  0x00007fd2db284077 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/qt4/libQtCore.so.4
#9  0x00007fd2db288d95 in QCoreApplication::exec() () from /usr/lib64/qt4/libQtCore.so.4
#10 0x00000000004106fa in main ()


Here is the assertion that fails in the console:

 declaration with "<boost::proto::functional::env_var, 4>" 
kdevelop(5926)/kdevelop (cpp duchain) Cpp::TemplateDeclaration::instantiate: depth-limit reached while instantiating template declaration with "<boost::proto::when< ,  >, 4>" 
kdevelop(5926)/kdevelop (cpp duchain) Cpp::TemplateDeclaration::instantiate: depth-limit reached while instantiating template declaration with "<boost::proto::when< ,  >, 4>" 
ASSERT: "DUChain::lock()->currentThreadHasWriteLock()" in file /var/tmp/portage/dev-util/kdevplatform-1.4.1/work/kdevplatform-1.4.1/language/duchain/ducontext.cpp, line 550


Version: 4.4.1
Comment 2 claas.koehler 2012-12-08 10:45:43 UTC
To all those having similar problems: Since this bug makes developing projects including boost impossible, I can recommend to switch to Qtcreator. I made the switch  a few months ago and I am very happy with it in terms of speed, reliability and functionality.

Claas
Comment 3 Milian Wolff 2013-01-13 19:31:47 UTC
See bug 302505 - this should be fixed by the commit for bug 297133.

If not, please supply a new backtrace.

*** This bug has been marked as a duplicate of bug 302505 ***
Comment 4 Aleix Pol 2013-03-31 00:49:53 UTC
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