#773500 kdevelop crashes while importing large cmake project

Package:
kdevelop
Source:
kdevelop
Description:
integrated development environment for C/C++ and other languages
Submitter:
Скуратович Сергей
Date:
2014-12-19 08:15:06 UTC
Severity:
important
#773500#5
Date:
2014-12-19 08:03:49 UTC
From:
To:
Dear Maintainer,

after recent updates kdevelop starts to crash on opening large cmake-based projects.
Importing large cmake project also leads to segfault. Importing or opening small
projects works fine.

Backtrace:

#0  0x00007ffff249b620 in KDevelop::PersistentSymbolTable::getFilteredDeclarations(KDevelop::IndexedQualifiedIdentifier const&, Utils::StorableSet<KDevelop::IndexedTopDUContext, KDevelop::IndexedTopDUContextIndexConversion, KDevelop::RecursiveImportRepository, true, Utils::DummyLocker> const&) const
    () from /usr/lib/libkdevplatformlanguage.so.5
#1  0x00007ffff2428df6 in ?? () from /usr/lib/libkdevplatformlanguage.so.5
#2  0x00007ffff242c93d in bool KDevelop::TopDUContext::applyAliases<KDevelop::TopDUContext::FindDeclarationsAcceptor>(KDevelop::QualifiedIdentifier const&, KSharedPtr<KDevelop::DUContext::SearchItem> const&, KDevelop::TopDUContext::FindDeclarationsAcceptor&, KDevelop::CursorInRevision const&, bool, KDevelop::TopDUContext::ApplyAliasesBuddyInfo*, unsigned int) const () from /usr/lib/libkdevplatformlanguage.so.5
#3  0x00007ffff242d1d6 in void KDevelop::TopDUContext::applyAliases<KDevelop::TopDUContext::FindDeclarationsAcceptor>(KDevVarLengthArray<KSharedPtr<KDevelop::DUContext::SearchItem>, 256> const&, KDevelop::TopDUContext::FindDeclarationsAcceptor&, KDevelop::CursorInRevision const&, bool) const ()
   from /usr/lib/libkdevplatformlanguage.so.5
#4  0x00007ffff24256e3 in KDevelop::TopDUContext::findDeclarationsInternal(KDevVarLengthArray<KSharedPtr<KDevelop::DUContext::SearchItem>, 256> const&, KDevelop::CursorInRevision const&, TypePtr<KDevelop::AbstractType> const&, KDevVarLengthArray<KDevelop::Declaration*, 40>&, KDevelop::TopDUContext const*, QFlags<KDevelop::DUContext::SearchFlag>, unsigned int) const () from /usr/lib/libkdevplatformlanguage.so.5
#5  0x00007ffff2411dee in KDevelop::DUContext::findDeclarations(KDevelop::Identifier const&, KDevelop::CursorInRevision const&, KDevelop::TopDUContext const*, QFlags<KDevelop::DUContext::SearchFlag>) const () from /usr/lib/libkdevplatformlanguage.so.5
#6  0x00007fffcce6f068 in CMakeProjectVisitor::createUses (this=this@entry=0x7fff8580a6b0, desc=...)
    at ../../../projectmanagers/cmake/parser/cmakeprojectvisitor.cpp:2278
#7  0x00007fffcce71d95 in CMakeProjectVisitor::walk (this=0x7fff8580a6b0, fc=..., line=4, isClean=<optimized out>)
    at ../../../projectmanagers/cmake/parser/cmakeprojectvisitor.cpp:2186
#8  0x00007fffcce7296d in CMakeProjectVisitor::visit (this=0x7fff8580a6b0, whileast=0x7fffda6a1a80)
    at ../../../projectmanagers/cmake/parser/cmakeprojectvisitor.cpp:2091
#9  0x00007fffcce71c4a in CMakeProjectVisitor::walk (this=0x7fff8580a6b0, fc=..., line=3, isClean=<optimized out>)
    at ../../../projectmanagers/cmake/parser/cmakeprojectvisitor.cpp:2213
#10 0x00007fffcce729b0 in CMakeProjectVisitor::visit (this=0x7fff8580a6b0, whileast=0x7fffda69f8a0)

... a lot of 'visit' and 'walk' calls ...

#17712 0x00007fffcce759a5 in CMakeProjectVisitor::visit (this=0x7fff8580a6b0, inc=0x3441e90)
    at ../../../projectmanagers/cmake/parser/cmakeprojectvisitor.cpp:563
#17713 0x00007fffcce71c4a in CMakeProjectVisitor::walk (this=0x7fff8580a6b0, fc=..., line=5, isClean=<optimized out>)
    at ../../../projectmanagers/cmake/parser/cmakeprojectvisitor.cpp:2213
#17714 0x00007fffcce87a00 in CMakeParserUtils::includeScript (file=..., parent=..., data=0x3369638, sourcedir=..., env=...)
    at ../../../projectmanagers/cmake/parser/cmakeparserutils.cpp:175
#17715 0x00007fff864cdbd4 in CMakeManager::includeScript (this=this@entry=0x321a0a0, file=..., project=project@entry=0x344ab80, dir=..., parent=...)
    at ../../../projectmanagers/cmake/cmakemanager.cpp:659
#17716 0x00007fff864cff4f in CMakeManager::parse (this=0x321a0a0, item=0x3393de0) at ../../../projectmanagers/cmake/cmakemanager.cpp:714
#17717 0x00007ffff29fa34b in ?? () from /usr/lib/libkdevplatformproject.so.5
#17718 0x00007ffff29fa126 in ?? () from /usr/lib/libkdevplatformproject.so.5
#17719 0x00007ffff642e6bd in QThreadPoolThread::run (this=0x35dee00) at concurrent/qthreadpool.cpp:107
#17720 0x00007ffff643ad0b in QThreadPrivate::start (arg=0x35dee00) at thread/qthread_unix.cpp:307
#17721 0x00007ffff44cfb50 in start_thread (arg=<optimized out>) at pthread_create.c:304
#17722 0x00007ffff514b7bd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#17723 0x0000000000000000 in ?? ()