KDevelop-4.5.1 crashes while trying to parse file https://github.com/arybczak/ncmpcpp/blob/955d308bca9ff24ba56dd0669bb3608b3f29ca07/src/helpers.cpp#L32 - after line 32 is changed to "NC::Menu<MPD::Song> &w = myPlaylist->main();" it no longer crashes. Here's the backtrace: kdevelop(14481)/kdevelop (cpp support) CPPParseJob::mergeDefines: DEFINES: QHash() kdevelop(14481)/kdevelop (cpp support) CPPInternalParseJob::run: ===-- PARSING --===> "/home/unknown/Programowanie/ncmpcpp/src/helpers.cpp" kdevelop(14481)/kdevelop (cpp support) CPPInternalParseJob::run: updating duchain for "/home/unknown/Programowanie/ncmpcpp/src/helpers.cpp" kdevelop(14481)/kdevelop (cpp support) ContextBuilder::buildContexts: ContextBuilder::buildContexts: recompiling Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 0x7fff3edee700 (LWP 14701)] 0x00007ffff1d2603c in KDevelop::AbstractType::makeDynamic (this=0x0) at /var/tmp/portage/dev-util/kdevplatform-1.5.1/work/kdevplatform-1.5.1/language/duchain/types/abstracttype.cpp:35 35 /var/tmp/portage/dev-util/kdevplatform-1.5.1/work/kdevplatform-1.5.1/language/duchain/types/abstracttype.cpp: No such file or directory. (gdb) bt #0 0x00007ffff1d2603c in KDevelop::AbstractType::makeDynamic (this=0x0) at /var/tmp/portage/dev-util/kdevplatform-1.5.1/work/kdevplatform-1.5.1/language/duchain/types/abstracttype.cpp:35 #1 0x00007ffff1d26728 in KDevelop::AbstractType::d_func_dynamic (this=0x0) at /var/tmp/portage/dev-util/kdevplatform-1.5.1/work/kdevplatform-1.5.1/language/duchain/types/abstracttype.h:284 #2 0x00007ffff1d261b6 in KDevelop::AbstractType::setModifiers (this=0x0, modifiers=0) at /var/tmp/portage/dev-util/kdevplatform-1.5.1/work/kdevplatform-1.5.1/language/duchain/types/abstracttype.cpp:57 #3 0x00007fffd1c89a95 in TypeBuilder::createIntegralTypeForExpression (this=0x7fff3eded000, expression=0x7ffef01f75e8) at /var/tmp/portage/dev-util/kdevelop-4.5.1/work/kdevelop-4.5.1/languages/cpp/cppduchain/typebuilder.cpp:469 #4 0x00007fffd1c89db2 in TypeBuilder::createTypeForInitializer (this=0x7fff3eded000, node=0x7ffef01f7458) at /var/tmp/portage/dev-util/kdevelop-4.5.1/work/kdevelop-4.5.1/languages/cpp/cppduchain/typebuilder.cpp:508 #5 0x00007fffd1c4827f in ContextBuilder::visitDeclarator (this=0x7fff3eded000, node=0x7ffef01f7268) at /var/tmp/portage/dev-util/kdevelop-4.5.1/work/kdevelop-4.5.1/languages/cpp/cppduchain/contextbuilder.cpp:937 #6 0x00007fffd1c5c26a in DeclarationBuilder::visitDeclarator (this=0x7fff3eded000, node=0x7ffef01f7268) at /var/tmp/portage/dev-util/kdevelop-4.5.1/work/kdevelop-4.5.1/languages/cpp/cppduchain/declarationbuilder.cpp:532 #7 0x00007fffd1c480ff in ContextBuilder::visitInitDeclarator (this=0x7fff3eded000, node=0x7ffef01f7638) at /var/tmp/portage/dev-util/kdevelop-4.5.1/work/kdevelop-4.5.1/languages/cpp/cppduchain/contextbuilder.cpp:912 #8 0x00007fffd1c5a488 in DeclarationBuilder::visitInitDeclarator (this=0x7fff3eded000, node=0x7ffef01f7638) at /var/tmp/portage/dev-util/kdevelop-4.5.1/work/kdevelop-4.5.1/languages/cpp/cppduchain/declarationbuilder.cpp:256 #9 0x00007fffd19784e2 in Visitor::visit (this=0x7fff3eded060, node=0x7ffef01f7638) at /var/tmp/portage/dev-util/kdevelop-4.5.1/work/kdevelop-4.5.1/languages/cpp/parser/visitor.cpp:124 #10 0x00007fffd1c8a7f1 in TypeBuilder::visitSimpleDeclaration (this=0x7fff3eded000, node=0x7ffef01f7678) at /var/tmp/portage/dev-util/kdevelop-4.5.1/work/kdevelop-4.5.1/languages/cpp/cppduchain/typebuilder.cpp:672 #11 0x00007fffd1c5b65c in DeclarationBuilder::visitSimpleDeclaration (this=0x7fff3eded000, node=0x7ffef01f7678) at /var/tmp/portage/dev-util/kdevelop-4.5.1/work/kdevelop-4.5.1/languages/cpp/cppduchain/declarationbuilder.cpp:422 #12 0x00007fffd19784e2 in Visitor::visit (this=0x7fff3eded060, node=0x7ffef01f7678) at /var/tmp/portage/dev-util/kdevelop-4.5.1/work/kdevelop-4.5.1/languages/cpp/parser/visitor.cpp:124 #13 0x00007fffd197421a in DefaultVisitor::visitDeclarationStatement (this=0x7fff3eded060, node=0x7ffef01f76c0) at /var/tmp/portage/dev-util/kdevelop-4.5.1/work/kdevelop-4.5.1/languages/cpp/parser/default_visitor.cpp:104 #14 0x00007fffd19784e2 in Visitor::visit (this=0x7fff3eded060, node=0x7ffef01f76c0) at /var/tmp/portage/dev-util/kdevelop-4.5.1/work/kdevelop-4.5.1/languages/cpp/parser/visitor.cpp:124 #15 0x00007fffd1975b70 in visitNodes<StatementAST*> (v=0x7fff3eded060, nodes=0x7ffef01faa48) at /var/tmp/portage/dev-util/kdevelop-4.5.1/work/kdevelop-4.5.1/languages/cpp/parser/visitor.h:139 #16 0x00007fffd197405d in DefaultVisitor::visitCompoundStatement (this=0x7fff3eded060, node=0x7ffef01f71f0) at /var/tmp/portage/dev-util/kdevelop-4.5.1/work/kdevelop-4.5.1/languages/cpp/parser/default_visitor.cpp:73 #17 0x00007fffd1c47942 in ContextBuilder::visitCompoundStatement (this=0x7fff3eded000, node=0x7ffef01f71f0) at /var/tmp/portage/dev-util/kdevelop-4.5.1/work/kdevelop-4.5.1/languages/cpp/cppduchain/contextbuilder.cpp:674 #18 0x00007fffd19784e2 in Visitor::visit (this=0x7fff3eded060, node=0x7ffef01f71f0) at /var/tmp/portage/dev-util/kdevelop-4.5.1/work/kdevelop-4.5.1/languages/cpp/parser/visitor.cpp:124 #19 0x00007fffd1c48894 in ContextBuilder::visitIfStatement (this=0x7fff3eded000, node=0x7ffef01f6c70) at /var/tmp/portage/dev-util/kdevelop-4.5.1/work/kdevelop-4.5.1/languages/cpp/cppduchain/c---Type <return> to continue, or q <return> to quit--- ontextbuilder.cpp:1007 #20 0x00007fffd19784e2 in Visitor::visit (this=0x7fff3eded060, node=0x7ffef01f6c70) at /var/tmp/portage/dev-util/kdevelop-4.5.1/work/kdevelop-4.5.1/languages/cpp/parser/visitor.cpp:124 #21 0x00007fffd1975b70 in visitNodes<StatementAST*> (v=0x7fff3eded060, nodes=0x7ffef01fc668) at /var/tmp/portage/dev-util/kdevelop-4.5.1/work/kdevelop-4.5.1/languages/cpp/parser/visitor.h:139 #22 0x00007fffd197405d in DefaultVisitor::visitCompoundStatement (this=0x7fff3eded060, node=0x7ffef01f68c8) at /var/tmp/portage/dev-util/kdevelop-4.5.1/work/kdevelop-4.5.1/languages/cpp/parser/default_visitor.cpp:73 #23 0x00007fffd1c47942 in ContextBuilder::visitCompoundStatement (this=0x7fff3eded000, node=0x7ffef01f68c8) at /var/tmp/portage/dev-util/kdevelop-4.5.1/work/kdevelop-4.5.1/languages/cpp/cppduchain/contextbuilder.cpp:674 #24 0x00007fffd19784e2 in Visitor::visit (this=0x7fff3eded060, node=0x7ffef01f68c8) at /var/tmp/portage/dev-util/kdevelop-4.5.1/work/kdevelop-4.5.1/languages/cpp/parser/visitor.cpp:124 #25 0x00007fffd1c475e9 in ContextBuilder::visitFunctionDefinition (this=0x7fff3eded000, node=0x7ffef01fc680) at /var/tmp/portage/dev-util/kdevelop-4.5.1/work/kdevelop-4.5.1/languages/cpp/cppduchain/contextbuilder.cpp:592 #26 0x00007fffd19784e2 in Visitor::visit (this=0x7fff3eded060, node=0x7ffef01fc680) at /var/tmp/portage/dev-util/kdevelop-4.5.1/work/kdevelop-4.5.1/languages/cpp/parser/visitor.cpp:124 #27 0x00007fffd1975b06 in visitNodes<DeclarationAST*> (v=0x7fff3eded060, nodes=0x7ffef0126f90) at /var/tmp/portage/dev-util/kdevelop-4.5.1/work/kdevelop-4.5.1/languages/cpp/parser/visitor.h:139 #28 0x00007fffd1975295 in DefaultVisitor::visitTranslationUnit (this=0x7fff3eded060, node=0x7ffef01f5e90) at /var/tmp/portage/dev-util/kdevelop-4.5.1/work/kdevelop-4.5.1/languages/cpp/parser/default_visitor.cpp:425 #29 0x00007fffd19784e2 in Visitor::visit (this=0x7fff3eded060, node=0x7ffef01f5e90) at /var/tmp/portage/dev-util/kdevelop-4.5.1/work/kdevelop-4.5.1/languages/cpp/parser/visitor.cpp:124 #30 0x00007fffd1c44eeb in ContextBuilder::startVisiting (this=0x7fff3eded000, node=0x7ffef01f5e90) at /var/tmp/portage/dev-util/kdevelop-4.5.1/work/kdevelop-4.5.1/languages/cpp/cppduchain/contextbuilder.cpp:187 #31 0x00007fffd1c4b975 in KDevelop::AbstractContextBuilder<AST, NameAST>::supportBuild ( this=0x7fff3eded000, node=0x7ffef01f5e90, context=0x7ffef692a840) at /usr/include/kdevplatform/language/duchain/builders/abstractcontextbuilder.h:133 #32 0x00007fffd1c467a9 in ContextBuilder::buildContexts (this=0x7fff3eded000, file=..., node=0x7ffef01f5e90, includes=0x7fff3eded3e0, updateContext=..., removeOldImports=false) at /var/tmp/portage/dev-util/kdevelop-4.5.1/work/kdevelop-4.5.1/languages/cpp/cppduchain/contextbuilder.cpp:422 #33 0x00007fffd1c59843 in DeclarationBuilder::buildDeclarations (this=0x7fff3eded000, file=..., node=0x7ffef01f5e90, includes=0x7fff3eded3e0, updateContext=..., removeOldImports=false) at /var/tmp/portage/dev-util/kdevelop-4.5.1/work/kdevelop-4.5.1/languages/cpp/cppduchain/declarationbuilder.cpp:96 #34 0x00007fffd21c807f in CPPInternalParseJob::run (this=0x8484a40) at /var/tmp/portage/dev-util/kdevelop-4.5.1/work/kdevelop-4.5.1/languages/cpp/cppparsejob.cpp:644 #35 0x00007fffec386a9a in ?? () from /usr/lib64/libthreadweaver.so.4 #36 0x00007fffec386c11 in ThreadWeaver::Job::execute(ThreadWeaver::Thread*) () from /usr/lib64/libthreadweaver.so.4 #37 0x00007fffec388a63 in ?? () from /usr/lib64/libthreadweaver.so.4 #38 0x00007fffec38627f in ?? () from /usr/lib64/libthreadweaver.so.4 #39 0x00007fffec38633b in ThreadWeaver::Thread::run() () from /usr/lib64/libthreadweaver.so.4 #40 0x00007ffff5c1638f in ?? () from /usr/lib64/qt4/libQtCore.so.4 #41 0x00007ffff4647e03 in start_thread () from /lib64/libpthread.so.0 #42 0x00007ffff494406d in clone () from /lib64/libc.so.6 Reproducible: Always Steps to Reproduce: 1. Import ncmpcpp into KDevelop (using its own build system) 2. Open helpers.cpp 3. Observe the crash as KDevelop tries to parse the file Actual Results: Crash. Expected Results: Proper parsing. Sorry for bringing ncmpcpp into the scope, but I had trouble with minimizing the testcase (I thought it was auto &... that was triggering the crash, but apparently it's not).
*** This bug has been marked as a duplicate of bug 318972 ***