https://bugs.kde.org/show_bug.cgi?id=412410
Bug ID: 412410 Summary: Segfault when mouse over on a typedef Product: kdevelop Version: unspecified Platform: Other OS: Linux Status: REPORTED Severity: normal Priority: NOR Component: Language Support: CPP (Clang-based) Assignee: kdevelop-bugs-n...@kde.org Reporter: alex.mur...@gmx.ch Target Milestone: --- SUMMARY KDevelop will crash when hovering the mouse over a typedef'd forward declared struct. STEPS TO REPRODUCE 1) Add foo.h header file to project with following content: typedef struct foo foo; void bar(foo* bla); 2) hover your mouse over the type "foo". OBSERVED RESULT KDevelop segfaults. GDB backtrace: #0 0x00007ffff6edf7fe in KDevelop::PersistentSymbolTable::declarations(KDevelop::IndexedQualifiedIdentifier const&) const () from /usr/lib64/libKDevPlatformLanguage.so.54 #1 0x00007ffff6ee17f4 in KDevelop::PersistentSymbolTable::filteredDeclarations(KDevelop::IndexedQualifiedIdentifier const&, Utils::StorableSet<KDevelop::IndexedTopDUContext, KDevelop::IndexedTopDUContextIndexConversion, KDevelop::RecursiveImportRepository, true, Utils::DummyLocker> const&) const () from /usr/lib64/libKDevPlatformLanguage.so.54 #2 0x00007ffff6ef32c7 in KDevelop::DeclarationId::declaration(KDevelop::TopDUContext const*, bool) const () from /usr/lib64/libKDevPlatformLanguage.so.54 #3 0x00007ffff6e58da0 in KDevelop::AbstractDeclarationNavigationContext::declarationSizeInformation(KDevelop::DUChainPointer<KDevelop::Declaration> const&, KDevelop::TopDUContext const*) () from /usr/lib64/libKDevPlatformLanguage.so.54 #4 0x00007ffff6e58db9 in KDevelop::AbstractDeclarationNavigationContext::declarationSizeInformation(KDevelop::DUChainPointer<KDevelop::Declaration> const&, KDevelop::TopDUContext const*) () from /usr/lib64/libKDevPlatformLanguage.so.54 #5 0x00007ffff6e58db9 in KDevelop::AbstractDeclarationNavigationContext::declarationSizeInformation(KDevelop::DUChainPointer<KDevelop::Declaration> const&, KDevelop::TopDUContext const*) () from /usr/lib64/libKDevPlatformLanguage.so.54 #6 0x00007ffff6e58db9 in KDevelop::AbstractDeclarationNavigationContext::declarationSizeInformation(KDevelop::DUChainPointer<KDevelop::Declaration> const&, KDevelop::TopDUContext const*) () from /usr/lib64/libKDevPlatformLanguage.so.54 #7 0x00007ffff6e58db9 in KDevelop::AbstractDeclarationNavigationContext::declarationSizeInformation(KDevelop::DUChainPointer<KDevelop::Declaration> const&, KDevelop::TopDUContext const*) () from /usr/lib64/libKDevPlatformLanguage.so.54 #8 0x00007ffff6e58db9 in KDevelop::AbstractDeclarationNavigationContext::declarationSizeInformation(KDevelop::DUChainPointer<KDevelop::Declaration> const&, KDevelop::TopDUContext const*) () from /usr/lib64/libKDevPlatformLanguage.so.54 #9 0x00007ffff6e58db9 in KDevelop::AbstractDeclarationNavigationContext::declarationSizeInformation(KDevelop::DUChainPointer<KDevelop::Declaration> const&, KDevelop::TopDUContext const*) () from /usr/lib64/libKDevPlatformLanguage.so.54 #10 0x00007ffff6e58db9 in KDevelop::AbstractDeclarationNavigationContext::declarationSizeInformation(KDevelop::DUChainPointer<KDevelop::Declaration> const&, KDevelop::TopDUContext const*) () from /usr/lib64/libKDevPlatformLanguage.so.54 #11 0x00007ffff6e58db9 in KDevelop::AbstractDeclarationNavigationContext::declarationSizeInformation(KDevelop::DUChainPointer<KDevelop::Declaration> const&, KDevelop::TopDUContext const*) () from /usr/lib64/libKDevPlatformLanguage.so.54 #12 0x00007ffff6e58db9 in KDevelop::AbstractDeclarationNavigationContext::declarationSizeInformation(KDevelop::DUChainPointer<KDevelop::Declaration> const&, KDevelop::TopDUContext const*) () from /usr/lib64/libKDevPlatformLanguage.so.54 #13 0x00007ffff6e58db9 in KDevelop::AbstractDeclarationNavigationContext::declarationSizeInformation(KDevelop::DUChainPointer<KDevelop::Declaration> const&, KDevelop::TopDUContext const*) () from /usr/lib64/libKDevPlatformLanguage.so.54 #14 0x00007ffff6e58db9 in KDevelop::AbstractDeclarationNavigationContext::declarationSizeInformation(KDevelop::DUChainPointer<KDevelop::Declaration> const&, KDevelop::TopDUContext const*) () from /usr/lib64/libKDevPlatformLanguage.so.54 #15 0x00007ffff6e58db9 in KDevelop::AbstractDeclarationNavigationContext::declarationSizeInformation(KDevelop::DUChainPointer<KDevelop::Declaration> const&, KDevelop::TopDUContext const*) () from /usr/lib64/libKDevPlatformLanguage.so.54 #16 0x00007ffff6e58db9 in KDevelop::AbstractDeclarationNavigationContext::declarationSizeInformation(KDevelop::DUChainPointer<KDevelop::Declaration> const&, KDevelop::TopDUContext const*) () from /usr/lib64/libKDevPlatformLanguage.so.54 #17 0x00007ffff6e58db9 in KDevelop::AbstractDeclarationNavigationContext::declarationSizeInformation(KDevelop::DUChainPointer<KDevelop::Declaration> const&, KDevelop::TopDUContext const*) () from /usr/lib64/libKDevPlatformLanguage.so.54 #18 0x00007ffff6e58db9 in KDevelop::AbstractDeclarationNavigationContext::declarationSizeInformation(KDevelop::DUChainPointer<KDevelop::Declaration> const&, KDevelop::TopDUContext const*) () from /usr/lib64/libKDevPlatformLanguage.so.54 #19 0x00007ffff6e58db9 in KDevelop::AbstractDeclarationNavigationContext::declarationSizeInformation(KDevelop::DUChainPointer<KDevelop::Declaration> const&, KDevelop::TopDUContext const*) () from /usr/lib64/libKDevPlatformLanguage.so.54 #20 0x00007ffff6e58db9 in KDevelop::AbstractDeclarationNavigationContext::declarationSizeInformation(KDevelop::DUChainPointer<KDevelop::Declaration> const&, KDevelop::TopDUContext const*) () from /usr/lib64/libKDevPlatformLanguage.so.54 #21 0x00007ffff6e58db9 in KDevelop::AbstractDeclarationNavigationContext::declarationSizeInformation(KDevelop::DUChainPointer<KDevelop::Declaration> const&, KDevelop::TopDUContext const*) () from /usr/lib64/libKDevPlatformLanguage.so.54 #22 0x00007ffff6e58db9 in KDevelop::AbstractDeclarationNavigationContext::declarationSizeInformation(KDevelop::DUChainPointer<KDevelop::Declaration> const&, KDevelop::TopDUContext const*) () from /usr/lib64/libKDevPlatformLanguage.so.54 #23 0x00007ffff6e58db9 in KDevelop::AbstractDeclarationNavigationContext::declarationSizeInformation(KDevelop::DUChainPointer<KDevelop::Declaration> const&, KDevelop::TopDUContext const*) () from /usr/lib64/libKDevPlatformLanguage.so.54 #24 0x00007ffff6e58db9 in KDevelop::AbstractDeclarationNavigationContext::declarationSizeInformation(KDevelop::DUChainPointer<KDevelop::Declaration> const&, KDevelop::TopDUContext const*) () from /usr/lib64/libKDevPlatformLanguage.so.54 etc... Looks like a stack overflow, as there are tens of thousands of the same function. EXPECTED RESULT It shouldn't crash! SOFTWARE/OS VERSIONS I'm using dev-util/kdevelop-5.4.1 from Gentoo's package manager. 4.19.66-gentoo #1 SMP Mon Aug 26 14:56:58 CEST 2019 x86_64 AMD Ryzen Threadripper 1950X 16-Core Processor AuthenticAMD GNU/Linux -- You are receiving this mail because: You are watching all bug changes.