Bug 233405

Summary: Crash when completition box is displayed for template specialization
Product: [Applications] kdevelop Reporter: Adam Markiewicz <a.markiewicz>
Component: generalAssignee: kdevelop-bugs-null
Status: RESOLVED WORKSFORME    
Severity: crash Keywords: investigated, triaged
Priority: NOR    
Version First Reported In: unspecified   
Target Milestone: ---   
Platform: Compiled Sources   
OS: Linux   
Latest Commit: Version Fixed/Implemented In:
Sentry Crash Report:

Description Adam Markiewicz 2010-04-05 20:03:21 UTC
Version:           SVN rev 1109498 (using KDE 4.4.1)
Compiler:          gcc 4.4.1 
OS:                Linux
Installed from:    Compiled From Sources

KDevelop crash after code completition box is displayed when writing definition of a template class method:

template <typename Type, template class <typename> AllocationPolicy>
class Array<Type, AllocationPolicy>::(here program crash)

Tried several times, always with the same result.

Backtrace from gdb:

#0  0x0299f398 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.1
#1  0x029794bf in KDevelop::DeclarationId::getDeclaration(KDevelop::TopDUContext const*, bool) const () from /usr/lib/libkdevplatformlanguage.so.1
#2  0x0290e04a in KDevelop::DUContext::Import::context(KDevelop::TopDUContext const*, bool) const () from /usr/lib/libkdevplatformlanguage.so.1
#3  0x061b7d0b in Cpp::getTemplateContext(KDevelop::DUContext*, KDevelop::TopDUContext const*) () from /usr/lib/libkdev4cppduchain.so
#4  0x061b7e34 in Cpp::getTemplateContext(KDevelop::Declaration*, KDevelop::TopDUContext const*) () from /usr/lib/libkdev4cppduchain.so
#5  0x061cd75e in Cpp::TemplateDeclaration::instantiate(KDevelop::InstantiationInformation const&, KDevelop::TopDUContext const*, bool) () from /usr/lib/libkdev4cppduchain.so
#6  0x061cfb97 in Cpp::TemplateDeclaration::specialize(KDevelop::IndexedInstantiationInformation, KDevelop::TopDUContext const*, int) () from /usr/lib/libkdev4cppduchain.so
#7  0x0617029c in Cpp::SpecialTemplateDeclaration<KDevelop::ClassFunctionDeclaration>::specialize(KDevelop::IndexedInstantiationInformation, KDevelop::TopDUContext const*, int) ()
   from /usr/lib/libkdev4cppduchain.so
#8  0x02979651 in KDevelop::DeclarationId::getDeclaration(KDevelop::TopDUContext const*, bool) const () from /usr/lib/libkdevplatformlanguage.so.1
#9  0x0290e04a in KDevelop::DUContext::Import::context(KDevelop::TopDUContext const*, bool) const () from /usr/lib/libkdevplatformlanguage.so.1
#10 0x061b7d0b in Cpp::getTemplateContext(KDevelop::DUContext*, KDevelop::TopDUContext const*) () from /usr/lib/libkdev4cppduchain.so
#11 0x061b7e34 in Cpp::getTemplateContext(KDevelop::Declaration*, KDevelop::TopDUContext const*) () from /usr/lib/libkdev4cppduchain.so
#12 0x061cd75e in Cpp::TemplateDeclaration::instantiate(KDevelop::InstantiationInformation const&, KDevelop::TopDUContext const*, bool) () from /usr/lib/libkdev4cppduchain.so
#13 0x061cfb97 in Cpp::TemplateDeclaration::specialize(KDevelop::IndexedInstantiationInformation, KDevelop::TopDUContext const*, int) () from /usr/lib/libkdev4cppduchain.so
#14 0x0617029c in Cpp::SpecialTemplateDeclaration<KDevelop::ClassFunctionDeclaration>::specialize(KDevelop::IndexedInstantiationInformation, KDevelop::TopDUContext const*, int) ()
   from /usr/lib/libkdev4cppduchain.so
#15 0x02979651 in KDevelop::DeclarationId::getDeclaration(KDevelop::TopDUContext const*, bool) const () from /usr/lib/libkdevplatformlanguage.so.1
#16 0x0290e04a in KDevelop::DUContext::Import::context(KDevelop::TopDUContext const*, bool) const () from /usr/lib/libkdevplatformlanguage.so.1
#17 0x061b7d0b in Cpp::getTemplateContext(KDevelop::DUContext*, KDevelop::TopDUContext const*) () from /usr/lib/libkdev4cppduchain.so
#18 0x061b7e34 in Cpp::getTemplateContext(KDevelop::Declaration*, KDevelop::TopDUContext const*) () from /usr/lib/libkdev4cppduchain.so
#19 0x061cd75e in Cpp::TemplateDeclaration::instantiate(KDevelop::InstantiationInformation const&, KDevelop::TopDUContext const*, bool) () from /usr/lib/libkdev4cppduchain.so
#20 0x061cfb97 in Cpp::TemplateDeclaration::specialize(KDevelop::IndexedInstantiationInformation, KDevelop::TopDUContext const*, int) () from /usr/lib/libkdev4cppduchain.so
#21 0x0617029c in Cpp::SpecialTemplateDeclaration<KDevelop::ClassFunctionDeclaration>::specialize(KDevelop::IndexedInstantiationInformation, KDevelop::TopDUContext const*, int) ()
   from /usr/lib/libkdev4cppduchain.so
#22 0x02979651 in KDevelop::DeclarationId::getDeclaration(KDevelop::TopDUContext const*, bool) const () from /usr/lib/libkdevplatformlanguage.so.1
#23 0x0290e04a in KDevelop::DUContext::Import::context(KDevelop::TopDUContext const*, bool) const () from /usr/lib/libkdevplatformlanguage.so.1
#24 0x061b7d0b in Cpp::getTemplateContext(KDevelop::DUContext*, KDevelop::TopDUContext const*) () from /usr/lib/libkdev4cppduchain.so
#25 0x061b7e34 in Cpp::getTemplateContext(KDevelop::Declaration*, KDevelop::TopDUContext const*) () from /usr/lib/libkdev4cppduchain.so
#26 0x061cd75e in Cpp::TemplateDeclaration::instantiate(KDevelop::InstantiationInformation const&, KDevelop::TopDUContext const*, bool) () from /usr/lib/libkdev4cppduchain.so
#27 0x061cfb97 in Cpp::TemplateDeclaration::specialize(KDevelop::IndexedInstantiationInformation, KDevelop::TopDUContext const*, int) () from /usr/lib/libkdev4cppduchain.so
#28 0x0617029c in Cpp::SpecialTemplateDeclaration<KDevelop::ClassFunctionDeclaration>::specialize(KDevelop::IndexedInstantiationInformation, KDevelop::TopDUContext const*, int) ()
   from /usr/lib/libkdev4cppduchain.so
#29 0x02979651 in KDevelop::DeclarationId::getDeclaration(KDevelop::TopDUContext const*, bool) const () from /usr/lib/libkdevplatformlanguage.so.1
#30 0x0290e04a in KDevelop::DUContext::Import::context(KDevelop::TopDUContext const*, bool) const () from /usr/lib/libkdevplatformlanguage.so.1
#31 0x061b7d0b in Cpp::getTemplateContext(KDevelop::DUContext*, KDevelop::TopDUContext const*) () from /usr/lib/libkdev4cppduchain.so
#32 0x061b7e34 in Cpp::getTemplateContext(KDevelop::Declaration*, KDevelop::TopDUContext const*) () from /usr/lib/libkdev4cppduchain.so
#33 0x061cd75e in Cpp::TemplateDeclaration::instantiate(KDevelop::InstantiationInformation const&, KDevelop::TopDUContext const*, bool) () from /usr/lib/libkdev4cppduchain.so
#34 0x061cfb97 in Cpp::TemplateDeclaration::specialize(KDevelop::IndexedInstantiationInformation, KDevelop::TopDUContext const*, int) () from /usr/lib/libkdev4cppduchain.so
#35 0x0617029c in Cpp::SpecialTemplateDeclaration<KDevelop::ClassFunctionDeclaration>::specialize(KDevelop::IndexedInstantiationInformation, KDevelop::TopDUContext const*, int) ()
   from /usr/lib/libkdev4cppduchain.so
#36 0x02979651 in KDevelop::DeclarationId::getDeclaration(KDevelop::TopDUContext const*, bool) const () from /usr/lib/libkdevplatformlanguage.so.1
#37 0x0290e04a in KDevelop::DUContext::Import::context(KDevelop::TopDUContext const*, bool) const () from /usr/lib/libkdevplatformlanguage.so.1
#38 0x061b7d0b in Cpp::getTemplateContext(KDevelop::DUContext*, KDevelop::TopDUContext const*) () from /usr/lib/libkdev4cppduchain.so
#39 0x061b7e34 in Cpp::getTemplateContext(KDevelop::Declaration*, KDevelop::TopDUContext const*) () from /usr/lib/libkdev4cppduchain.so
#40 0x061cd75e in Cpp::TemplateDeclaration::instantiate(KDevelop::InstantiationInformation const&, KDevelop::TopDUContext const*, bool) () from /usr/lib/libkdev4cppduchain.so
#41 0x061cfb97 in Cpp::TemplateDeclaration::specialize(KDevelop::IndexedInstantiationInformation, KDevelop::TopDUContext const*, int) () from /usr/lib/libkdev4cppduchain.so
Comment 1 Andreas Pakulat 2010-04-06 08:36:43 UTC
Hmm, can you reproduce this? If so it would be good if you could get more verbose debug symbols that include file/line information. I can't see any obvious problem in the relevant code, so knowing which exact line it crashes on would be good.
Comment 2 Milian Wolff 2010-08-18 17:43:51 UTC
yes, please provide the full code example that triggers the crash or at least a better backtrace.

for me it works when I paste your example and try to do code completion after the colon, but I don't have the Array definition, which might be required.
Comment 3 Andrew Crouthamel 2018-09-20 22:11:06 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-21 04:51:16 UTC
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!