teemperor added a comment. Sure I can take a look, but I don't see the immediate problem when looking at the backtrace.
I assume it takes some time to reduce the bug in Chrome? If you could get me the `dump()` output for the Decls `D`, `(Decl*)ToDC`, `FromRD`, `ToD`, `(Decl*)ToD->getLexicalDeclContext()` and whether the left or the right side of the `&&` is true/false then maybe it becomes more obvious what's going wrong here. In D102993#2811325 <https://reviews.llvm.org/D102993#2811325>, @rupprecht wrote: > This commit seems to be causing an LLDB crash. I'm still working on gathering > info and reducing it, but maybe the crash reason is obvious to you given this > stack trace: > > $ lldb -b -o "b ChromeMain" -o "r" -o "v" -o "p chrome_main_delegate" > ~/src/chromium/src/out/Default/chrome > assert.h assertion failed at > llvm-project/clang/lib/AST/ASTImporter.cpp:1874 in llvm::Error > clang::ASTNodeImporter::ImportDeclContext(clang::DeclContext *, bool): ToDC > == ToD->getLexicalDeclContext() && ToDC->containsDecl(ToD) > ... > Stack dump: > 0. Program arguments: lldb -b -o "b ChromeMain" -o r -o v -o "p > chrome_main_delegate" /home/rupprecht/src/chromium/src/out/Default/chrome > 1. HandleCommand(command = "p chrome_main_delegate")^@ > 2. <lldb wrapper prefix>:45:51: current parser token ';' > 3. <lldb wrapper prefix>:44:1: parsing function body '$__lldb_expr' > 4. <lldb wrapper prefix>:44:1: in compound statement ('{}') > ... > #13 0x000055646a128c66 > clang::ASTNodeImporter::ImportDeclContext(clang::DeclContext*, bool) > llvm-project/clang/lib/AST/ASTImporter.cpp:1874:9 > #14 0x000055646a15cc0d clang::ASTImporter::ImportDefinition(clang::Decl*) > llvm-project/clang/lib/AST/ASTImporter.cpp:9098:19 > #15 0x000055646789e47d > lldb_private::ClangASTImporter::ASTImporterDelegate::ImportImpl(clang::Decl*) > llvm-project/lldb/source/Plugins/ExpressionParser/Clang/ClangASTImporter.cpp:916:25 > #16 0x000055646a157235 clang::ASTImporter::Import(clang::Decl*) > llvm-project/clang/lib/AST/ASTImporter.cpp:8412:8 > #17 0x000055646789ac8a > lldb_private::ClangASTImporter::CopyDecl(clang::ASTContext*, clang::Decl*) > llvm-project/lldb/source/Plugins/ExpressionParser/Clang/ClangASTImporter.cpp:79:8 > #18 0x00005564679c4205 > lldb_private::ClangASTSource::CopyDecl(clang::Decl*) > llvm-project/lldb/source/Plugins/ExpressionParser/Clang/ClangASTSource.cpp:1720:3 > #19 0x00005564679c415e > lldb_private::ClangASTSource::FindExternalLexicalDecls(clang::DeclContext > const*, llvm::function_ref<bool (clang::Decl::Kind)>, > llvm::SmallVectorImpl<clang::Decl*>&) > llvm-project/lldb/source/Plugins/ExpressionParser/Clang/ClangASTSource.cpp:492:5 > #20 0x00005564679a6b6a > lldb_private::ClangASTSource::ClangASTSourceProxy::FindExternalLexicalDecls(clang::DeclContext > const*, llvm::function_ref<bool (clang::Decl::Kind)>, > llvm::SmallVectorImpl<clang::Decl*>&) > llvm-project/lldb/source/Plugins/ExpressionParser/Clang/ClangASTSource.h:223:7 > #21 0x000055646a30d9b2 > clang::ExternalASTSource::FindExternalLexicalDecls(clang::DeclContext const*, > llvm::SmallVectorImpl<clang::Decl*>&) > llvm-project/clang/include/clang/AST/ExternalASTSource.h:186:3 > #22 0x000055646a30ae60 > clang::DeclContext::LoadLexicalDeclsFromExternalStorage() const > llvm-project/clang/lib/AST/DeclBase.cpp:1353:7 > #23 0x000055646a30bec2 clang::DeclContext::buildLookup() > llvm-project/clang/lib/AST/DeclBase.cpp:1582:32 > #24 0x000055646a30bc4f > clang::DeclContext::makeDeclVisibleInContextWithFlags(clang::NamedDecl*, > bool, bool) llvm-project/clang/lib/AST/DeclBase.cpp:1859:5 > #25 0x000055646a30bd99 clang::DeclContext::addDeclInternal(clang::Decl*) > llvm-project/clang/lib/AST/DeclBase.cpp:1559:1 > #26 0x000055646a12c1f0 > clang::ASTNodeImporter::VisitTypedefNameDecl(clang::TypedefNameDecl*, bool) > llvm-project/clang/lib/AST/ASTImporter.cpp:0:16 > #27 0x000055646a12c4cd > clang::ASTNodeImporter::VisitTypedefDecl(clang::TypedefDecl*) > llvm-project/clang/lib/AST/ASTImporter.cpp:2552:10 > #28 0x000055646a171e3a clang::declvisitor::Base<std::__u::add_pointer, > clang::ASTNodeImporter, llvm::Expected<clang::Decl*> >::Visit(clang::Decl*) > llvm-project/clang/include/clang/AST/DeclNodes.inc:335:1 > #29 0x000055646a15619d clang::ASTImporter::ImportImpl(clang::Decl*) > llvm-project/clang/lib/AST/ASTImporter.cpp:8240:19 > #30 0x000055646789e55c > lldb_private::ClangASTImporter::ASTImporterDelegate::ImportImpl(clang::Decl*) > llvm-project/lldb/source/Plugins/ExpressionParser/Clang/ClangASTImporter.cpp:0:23 > #31 0x000055646a157235 clang::ASTImporter::Import(clang::Decl*) > llvm-project/clang/lib/AST/ASTImporter.cpp:8412:8 > > The class definition for the expression being evaluated can be found here: > https://source.chromium.org/chromium/chromium/src/+/master:chrome/app/chrome_main.cc;l=85;drc=83bf8a5bbe7f9af4f4531b65662cfeb0c232b583 > > (It crashes in the same-ish w/o assertions too; this is just the more helpful > stack trace :) ) Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D102993/new/ https://reviews.llvm.org/D102993 _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits