https://bugs.kde.org/show_bug.cgi?id=438249
Igor Kushnir <igor...@gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Ever confirmed|0 |1 Status|REPORTED |CONFIRMED --- Comment #30 from Igor Kushnir <igor...@gmail.com> --- Managed to reproduce the assertion failure in KDevelop master built against fresh libclang version 17.0.0-git by opening the file /usr/include/boost/container/string.hpp in a session containing a couple of tiny projects and waiting for the background parser to parse this file. Found the upstream bug https://github.com/llvm/llvm-project/issues/56644 and mentioned this KDevelop crash in a comment to it. The backtrace: *** Program received signal SIGABRT (Aborted) *** #0 0x00007f42848a08ec in () at /usr/lib/libc.so.6 #1 0x00007f4284851ea8 in raise () at /usr/lib/libc.so.6 #2 0x00007f428483b53d in abort () at /usr/lib/libc.so.6 #3 0x00007f428483b45c in () at /usr/lib/libc.so.6 #4 0x00007f428484a9f6 in () at /usr/lib/libc.so.6 #5 0x00007f421116303d in clang::Expr::EvaluateKnownConstInt(clang::ASTContext const&, llvm::SmallVectorImpl<std::pair<clang::SourceLocation, clang::PartialDiagnostic> >*) const (this=<optimized out>, Ctx=<optimized out>, Diag=Diag@entry=0x0) at llvm-project/clang/lib/AST/ExprConstant.cpp:15473 #6 0x00007f421104e7a5 in clang::FieldDecl::getBitWidthValue(clang::ASTContext const&) const (this=<optimized out>, Ctx=<optimized out>) at llvm-project/clang/lib/AST/Decl.cpp:4309 #7 0x00007f421b0b972b in (anonymous namespace)::Visitor::setDeclData<(CXCursorKind)6>(CXCursor, KDevelop::ClassMemberDeclaration*) const (this=0x7f421a702ff0, cursor=..., decl=0x7f420202d170) at kdevelop/plugins/clang/duchain/builder.cpp:1159 #8 0x00007f421b0a6d4a in (anonymous namespace)::Visitor::createDeclarationCommon<(CXCursorKind)6, KDevelop::ClassMemberDeclaration>(CXCursor, KDevelop::Identifier const&) (this=0x7f421a702ff0, cursor=..., id=...) at kdevelop/plugins/clang/duchain/builder.cpp:445 #9 0x00007f421b09a789 in (anonymous namespace)::Visitor::createDeclaration<(CXCursorKind)6, KDevelop::ClassMemberDeclaration>(CXCursor, KDevelop::Identifier const&, KDevelop::DUContext*) (this=0x7f421a702ff0, cursor=..., id=..., context=0x0) at kdevelop/plugins/clang/duchain/builder.cpp:456 #10 0x00007f421b093591 in (anonymous namespace)::Visitor::buildDeclaration<(CXCursorKind)6, KDevelop::ClassMemberDeclaration, false>(CXCursor) (this=0x7f421a702ff0, cursor=...) at kdevelop/plugins/clang/duchain/builder.cpp:1293 #11 0x00007f421b088e99 in (anonymous namespace)::Visitor::dispatchCursor<(CXCursorKind)6>(CXCursor, CXCursor) (this=0x7f421a702ff0, cursor=..., parent=...) at kdevelop/plugins/clang/duchain/builder.cpp:1009 #12 0x00007f421b082309 in (anonymous namespace)::visitCursor(CXCursor, CXCursor, CXClientData) (cursor=..., parent=..., data=0x7f421a702ff0) at kdevelop/plugins/clang/duchain/builder.cpp:1675 #13 0x00007f4210f2b400 in clang::cxcursor::CursorVisitor::Visit(CXCursor, bool) (this=0x7f421a700ec0, Cursor=..., CheckedRegionOfInterest=<optimized out>) at llvm-project/clang/tools/libclang/CIndex.cpp:220 #14 0x00007f4210f31e66 in clang::cxcursor::CursorVisitor::handleDeclForVisitation(clang::Decl const*) (this=0x7f421a700ec0, D=0x7f41e0443490) at llvm-project/clang/tools/libclang/CIndex.cpp:682 #15 0x00007f4210f32021 in clang::cxcursor::CursorVisitor::VisitDeclContext(clang::DeclContext*) (this=0x7f421a700ec0, DC=0x7f41e0443148) at llvm-project/clang/tools/libclang/CIndex.cpp:643 #16 0x00007f4210f2aca8 in clang::cxcursor::CursorVisitor::VisitChildren(CXCursor) (this=0x7f421a700ec0, Cursor=...) at llvm-project/clang/tools/libclang/CIndex.cpp:509 #17 0x00007f4210f2b2c1 in clang_visitChildren(CXCursor, CXCursorVisitor, CXClientData) (parent=..., visitor=0x7f421b081f0f <(anonymous namespace)::visitCursor(CXCursor, CXCursor, CXClientData)>, client_data=0x7f421a702ff0) at llvm-project/clang/tools/libclang/CIndex.cpp:4827 #18 0x00007f421b0a42f8 in (anonymous namespace)::Visitor::buildDeclaration<(CXCursorKind)2, KDevelop::ClassDeclaration, true>(CXCursor) (this=0x7f421a702ff0, cursor=...) at kdevelop/plugins/clang/duchain/builder.cpp:1290 #19 0x00007f421b0999dd in (anonymous namespace)::Visitor::dispatchCursor<(CXCursorKind)2, (Decision)0, (Decision)0>(CXCursor, CXCursor) (this=0x7f421a702ff0, cursor=..., parent=...) at kdevelop/plugins/clang/duchain/builder.cpp:1009 #20 0x00007f421b092ac7 in (anonymous namespace)::Visitor::dispatchCursor<(CXCursorKind)2, (Decision)0, (Decision)2>(CXCursor, CXCursor) (this=0x7f421a702ff0, cursor=..., parent=...) at kdevelop/plugins/clang/duchain/builder.cpp:984 #21 0x00007f421b088a79 in (anonymous namespace)::Visitor::dispatchCursor<(CXCursorKind)2>(CXCursor, CXCursor) (this=0x7f421a702ff0, cursor=..., parent=...) at kdevelop/plugins/clang/duchain/builder.cpp:972 #22 0x00007f421b082185 in (anonymous namespace)::visitCursor(CXCursor, CXCursor, CXClientData) (cursor=..., parent=..., data=0x7f421a702ff0) at kdevelop/plugins/clang/duchain/builder.cpp:1671 #23 0x00007f4210f2b400 in clang::cxcursor::CursorVisitor::Visit(CXCursor, bool) (this=0x7f421a701540, Cursor=..., CheckedRegionOfInterest=<optimized out>) at llvm-project/clang/tools/libclang/CIndex.cpp:220 #24 0x00007f4210f31e66 in clang::cxcursor::CursorVisitor::handleDeclForVisitation(clang::Decl const*) (this=0x7f421a701540, D=0x7f41e0443108) at llvm-project/clang/tools/libclang/CIndex.cpp:682 #25 0x00007f4210f32021 in clang::cxcursor::CursorVisitor::VisitDeclContext(clang::DeclContext*) (this=0x7f421a701540, DC=0x7f41e13ee650) at llvm-project/clang/tools/libclang/CIndex.cpp:643 #26 0x00007f4210f2aca8 in clang::cxcursor::CursorVisitor::VisitChildren(CXCursor) (this=0x7f421a701540, Cursor=...) at llvm-project/clang/tools/libclang/CIndex.cpp:509 #27 0x00007f4210f2b2c1 in clang_visitChildren(CXCursor, CXCursorVisitor, CXClientData) (parent=..., visitor=0x7f421b081f0f <(anonymous namespace)::visitCursor(CXCursor, CXCursor, CXClientData)>, client_data=0x7f421a702ff0) at llvm-project/clang/tools/libclang/CIndex.cpp:4827 #28 0x00007f421b0afcf2 in (anonymous namespace)::Visitor::buildDeclaration<(CXCursorKind)31, KDevelop::ClassDeclaration, true>(CXCursor) (this=0x7f421a702ff0, cursor=...) at kdevelop/plugins/clang/duchain/builder.cpp:1290 #29 0x00007f421b09f967 in (anonymous namespace)::Visitor::dispatchCursor<(CXCursorKind)31, (Decision)1, (Decision)0>(CXCursor, CXCursor) (this=0x7f421a702ff0, cursor=..., parent=...) at kdevelop/plugins/clang/duchain/builder.cpp:1009 #30 0x00007f421b09591f in (anonymous namespace)::Visitor::dispatchCursor<(CXCursorKind)31, (Decision)1, (Decision)2>(CXCursor, CXCursor) (this=0x7f421a702ff0, cursor=..., parent=...) at kdevelop/plugins/clang/duchain/builder.cpp:984 #31 0x00007f421b089d9f in (anonymous namespace)::Visitor::dispatchCursor<(CXCursorKind)31>(CXCursor, CXCursor) (this=0x7f421a702ff0, cursor=..., parent=...) at kdevelop/plugins/clang/duchain/builder.cpp:973 #32 0x00007f421b082919 in (anonymous namespace)::visitCursor(CXCursor, CXCursor, CXClientData) (cursor=..., parent=..., data=0x7f421a702ff0) at kdevelop/plugins/clang/duchain/builder.cpp:1691 #33 0x00007f4210f2b400 in clang::cxcursor::CursorVisitor::Visit(CXCursor, bool) (this=0x7f421a701bc0, Cursor=..., CheckedRegionOfInterest=<optimized out>) at llvm-project/clang/tools/libclang/CIndex.cpp:220 #34 0x00007f4210f31e66 in clang::cxcursor::CursorVisitor::handleDeclForVisitation(clang::Decl const*) (this=0x7f421a701bc0, D=0x7f41e13ee6b8) at llvm-project/clang/tools/libclang/CIndex.cpp:682 #35 0x00007f4210f32021 in clang::cxcursor::CursorVisitor::VisitDeclContext(clang::DeclContext*) (this=0x7f421a701bc0, DC=0x7f41e13ee510) at llvm-project/clang/tools/libclang/CIndex.cpp:643 #36 0x00007f4210f2aca8 in clang::cxcursor::CursorVisitor::VisitChildren(CXCursor) (this=0x7f421a701bc0, Cursor=...) at llvm-project/clang/tools/libclang/CIndex.cpp:509 #37 0x00007f4210f2b2c1 in clang_visitChildren(CXCursor, CXCursorVisitor, CXClientData) (parent=..., visitor=0x7f421b081f0f <(anonymous namespace)::visitCursor(CXCursor, CXCursor, CXClientData)>, client_data=0x7f421a702ff0) at llvm-project/clang/tools/libclang/CIndex.cpp:4827 #38 0x00007f421b0942da in (anonymous namespace)::Visitor::buildDeclaration<(CXCursorKind)22, KDevelop::Declaration, true>(CXCursor) (this=0x7f421a702ff0, cursor=...) at kdevelop/plugins/clang/duchain/builder.cpp:1290 #39 0x00007f421b089571 in (anonymous namespace)::Visitor::dispatchCursor<(CXCursorKind)22>(CXCursor, CXCursor) (this=0x7f421a702ff0, cursor=..., parent=...) at kdevelop/plugins/clang/duchain/builder.cpp:1009 #40 0x00007f421b0825b0 in (anonymous namespace)::visitCursor(CXCursor, CXCursor, CXClientData) (cursor=..., parent=..., data=0x7f421a702ff0) at kdevelop/plugins/clang/duchain/builder.cpp:1682 #41 0x00007f4210f2b400 in clang::cxcursor::CursorVisitor::Visit(CXCursor, bool) (this=0x7f421a702160, Cursor=..., CheckedRegionOfInterest=<optimized out>) at llvm-project/clang/tools/libclang/CIndex.cpp:220 #42 0x00007f4210f31e66 in clang::cxcursor::CursorVisitor::handleDeclForVisitation(clang::Decl const*) (this=0x7f421a702160, D=0x7f41e13ee4e0) at llvm-project/clang/tools/libclang/CIndex.cpp:682 #43 0x00007f4210f32021 in clang::cxcursor::CursorVisitor::VisitDeclContext(clang::DeclContext*) (this=0x7f421a702160, DC=0x7f41e13edba0) at llvm-project/clang/tools/libclang/CIndex.cpp:643 #44 0x00007f4210f2aca8 in clang::cxcursor::CursorVisitor::VisitChildren(CXCursor) (this=0x7f421a702160, Cursor=...) at llvm-project/clang/tools/libclang/CIndex.cpp:509 #45 0x00007f4210f2b2c1 in clang_visitChildren(CXCursor, CXCursorVisitor, CXClientData) (parent=..., visitor=0x7f421b081f0f <(anonymous namespace)::visitCursor(CXCursor, CXCursor, CXClientData)>, client_data=0x7f421a702ff0) at llvm-project/clang/tools/libclang/CIndex.cpp:4827 #46 0x00007f421b0942da in (anonymous namespace)::Visitor::buildDeclaration<(CXCursorKind)22, KDevelop::Declaration, true>(CXCursor) (this=0x7f421a702ff0, cursor=...) at kdevelop/plugins/clang/duchain/builder.cpp:1290 #47 0x00007f421b089571 in (anonymous namespace)::Visitor::dispatchCursor<(CXCursorKind)22>(CXCursor, CXCursor) (this=0x7f421a702ff0, cursor=..., parent=...) at kdevelop/plugins/clang/duchain/builder.cpp:1009 #48 0x00007f421b0825b0 in (anonymous namespace)::visitCursor(CXCursor, CXCursor, CXClientData) (cursor=..., parent=..., data=0x7f421a702ff0) at kdevelop/plugins/clang/duchain/builder.cpp:1682 #49 0x00007f4210f2b400 in clang::cxcursor::CursorVisitor::Visit(CXCursor, bool) (this=0x7f421a702700, Cursor=..., CheckedRegionOfInterest=<optimized out>) at llvm-project/clang/tools/libclang/CIndex.cpp:220 #50 0x00007f4210f31e66 in clang::cxcursor::CursorVisitor::handleDeclForVisitation(clang::Decl const*) (this=0x7f421a702700, D=0x7f41e13edb70) at llvm-project/clang/tools/libclang/CIndex.cpp:682 #51 0x00007f4210f32021 in clang::cxcursor::CursorVisitor::VisitDeclContext(clang::DeclContext*) (this=0x7f421a702700, DC=0x7f41e09c8590) at llvm-project/clang/tools/libclang/CIndex.cpp:643 #52 0x00007f4210f2aca8 in clang::cxcursor::CursorVisitor::VisitChildren(CXCursor) (this=0x7f421a702700, Cursor=...) at llvm-project/clang/tools/libclang/CIndex.cpp:509 #53 0x00007f4210f2b2c1 in clang_visitChildren(CXCursor, CXCursorVisitor, CXClientData) (parent=..., visitor=0x7f421b081f0f <(anonymous namespace)::visitCursor(CXCursor, CXCursor, CXClientData)>, client_data=0x7f421a702ff0) at llvm-project/clang/tools/libclang/CIndex.cpp:4827 #54 0x00007f421b0942da in (anonymous namespace)::Visitor::buildDeclaration<(CXCursorKind)22, KDevelop::Declaration, true>(CXCursor) (this=0x7f421a702ff0, cursor=...) at kdevelop/plugins/clang/duchain/builder.cpp:1290 #55 0x00007f421b089571 in (anonymous namespace)::Visitor::dispatchCursor<(CXCursorKind)22>(CXCursor, CXCursor) (this=0x7f421a702ff0, cursor=..., parent=...) at kdevelop/plugins/clang/duchain/builder.cpp:1009 #56 0x00007f421b0825b0 in (anonymous namespace)::visitCursor(CXCursor, CXCursor, CXClientData) (cursor=..., parent=..., data=0x7f421a702ff0) at kdevelop/plugins/clang/duchain/builder.cpp:1682 #57 0x00007f4210f2b400 in clang::cxcursor::CursorVisitor::Visit(CXCursor, bool) (this=0x7f421a702ca0, Cursor=..., CheckedRegionOfInterest=<optimized out>) at llvm-project/clang/tools/libclang/CIndex.cpp:220 #58 0x00007f4210f31e66 in clang::cxcursor::CursorVisitor::handleDeclForVisitation(clang::Decl const*) (this=0x7f421a702ca0, D=0x7f41e09c8560) at llvm-project/clang/tools/libclang/CIndex.cpp:682 #59 0x00007f4210f32021 in clang::cxcursor::CursorVisitor::VisitDeclContext(clang::DeclContext*) (this=0x7f421a702ca0, DC=0x7f41e0d42840) at llvm-project/clang/tools/libclang/CIndex.cpp:643 #60 0x00007f4210f2b118 in clang::cxcursor::CursorVisitor::VisitChildren(CXCursor) (this=0x7f421a702ca0, Cursor=...) at llvm-project/clang/tools/libclang/CIndex.cpp:543 #61 0x00007f4210f2b2c1 in clang_visitChildren(CXCursor, CXCursorVisitor, CXClientData) (parent=..., visitor=0x7f421b081f0f <(anonymous namespace)::visitCursor(CXCursor, CXCursor, CXClientData)>, client_data=0x7f421a702ff0) at llvm-project/clang/tools/libclang/CIndex.cpp:4827 #62 0x00007f421b0818b0 in (anonymous namespace)::Visitor::Visitor(CXTranslationUnit, CXFile, IncludeFileContexts const&, bool) (this=0x7f421a702ff0, tu=0x7f41e015b5f0, file=0x7f41e1364bf0, includes=QHash<void *, KDevelop::ReferencedTopDUContext> (size = 319) = {...}, update=false) at kdevelop/plugins/clang/duchain/builder.cpp:1592 #63 0x00007f421b08301b in Builder::visit(CXTranslationUnitImpl*, void*, QHash<void*, KDevelop::ReferencedTopDUContext> const&, bool) (tu=0x7f41e015b5f0, file=0x7f41e1364bf0, includes=QHash<void *, KDevelop::ReferencedTopDUContext> (size = 319) = {...}, update=false) at kdevelop/plugins/clang/duchain/builder.cpp:1739 #64 0x00007f421b0f4895 in ClangHelpers::buildDUChain(void*, QMultiHash<void*, Import> const&, ParseSession const&, QFlags<KDevelop::TopDUContext::Feature>, QHash<void*, KDevelop::ReferencedTopDUContext>&, QHash<KDevelop::IndexedString, KDevelop::ModificationRevision> const&, KDevelop::IndexedString const&, ClangIndex*, std::function<bool ()> const&) (file=0x7f41e1364bf0, imports=QMultiHash<void *, Import> (size = 830) = {...}, session=..., features=..., includedFiles=QHash<void *, KDevelop::ReferencedTopDUContext> (size = 319) = {...}, unsavedRevisions=QHash<KDevelop::IndexedString, KDevelop::ModificationRevision> (size = 9) = {...}, parseDocument=..., index=0x561e582afda0, abortFunction=...) at kdevelop/plugins/clang/duchain/clanghelpers.cpp:209 #65 0x00007f421b4e82ce in ClangParseJob::run(QSharedPointer<ThreadWeaver::JobInterface>, ThreadWeaver::Thread*) (this=0x561e59a36890) at kdevelop/plugins/clang/clangparsejob.cpp:322 #66 0x00007f4287feb34c in ThreadWeaver::IdDecorator::run(QSharedPointer<ThreadWeaver::JobInterface>, ThreadWeaver::Thread*) () at /usr/lib/libKF5ThreadWeaver.so.5 #67 0x00007f4287feb12e in ThreadWeaver::Executor::run(QSharedPointer<ThreadWeaver::JobInterface> const&, ThreadWeaver::Thread*) () at /usr/lib/libKF5ThreadWeaver.so.5 #68 0x00007f4287fec076 in ThreadWeaver::Job::execute(QSharedPointer<ThreadWeaver::JobInterface> const&, ThreadWeaver::Thread*) () at /usr/lib/libKF5ThreadWeaver.so.5 #69 0x00007f4287fefdc2 in ThreadWeaver::Thread::run() () at /usr/lib/libKF5ThreadWeaver.so.5 #70 0x00007f4284ee432a in () at /usr/lib/libQt5Core.so.5 #71 0x00007f428489ebb5 in () at /usr/lib/libc.so.6 #72 0x00007f4284920d90 in () at /usr/lib/libc.so.6 -- You are receiving this mail because: You are watching all bug changes.