[Lldb-commits] [lldb] [lldb][DWARFASTParserClang] Adjust language type for conflicting Objective-C++ forward declarations (PR #130768)
Zequan Wu via lldb-commits
lldb-commits at lists.llvm.org
Tue Mar 11 12:44:11 PDT 2025
ZequanWu wrote:
Since this makes lldb to do type searching more aggressively, I want to get a sense of performance impact on simplified template names from this PR. When I running the a test program with LLDB (with this PR), LLDB crashes. I don't have a reduced test case yet, will probably working on getting one when I have time:
```
Please include the directory content when filing a bug report
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
Stack dump:
0. Program arguments: /usr/local/google/home/zequanwu/work/llvm-project/out/cmake-reldbg/bin/lldb blaze-bin/storage/contribservice/utils/configuration/contribution_schema/builtin_field_spec_spanner_semantics_factory_test -o "b builtin_field_spec_spanner_semantics_factory_test.cc:866" -o r -o "expr this" -o "expr *this" -batch
#0 0x00005584fdde1dd8 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) /usr/local/google/home/zequanwu/work/llvm-project/llvm/lib/Support/Unix/Signals.inc:804:13
#1 0x00005584fdde00a0 llvm::sys::RunSignalHandlers() /usr/local/google/home/zequanwu/work/llvm-project/llvm/lib/Support/Signals.cpp:106:18
#2 0x00005584fdde2591 SignalHandler(int, siginfo_t*, void*) /usr/local/google/home/zequanwu/work/llvm-project/llvm/lib/Support/Unix/Signals.inc:0:3
#3 0x00007f9658c49e20 (/lib/x86_64-linux-gnu/libc.so.6+0x3fe20)
#4 0x00007f9658c9de5c __pthread_kill_implementation ./nptl/pthread_kill.c:44:76
#5 0x00007f9658c49d82 raise ./signal/../sysdeps/posix/raise.c:27:6
#6 0x00007f965f371a58 SignalHandler(int, siginfo_t*, void*) /usr/local/google/home/zequanwu/work/llvm-project/llvm/lib/Support/Unix/Signals.inc:420:1
#7 0x00007f9658c49e20 (/lib/x86_64-linux-gnu/libc.so.6+0x3fe20)
#8 0x00007f965f2360ca lldb_private::plugin::dwarf::SymbolFileDWARF::FindTypes(lldb_private::TypeQuery const&, lldb_private::TypeResults&) /usr/local/google/home/zequanwu/work/llvm-project/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp:2692:12
#9 0x00007f965f26439c IsCppForwardDeclObjC(lldb_private::plugin::dwarf::SymbolFileDWARF&, ParsedDWARFTypeAttributes const&) /usr/local/google/home/zequanwu/work/llvm-project/lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp:376:8
#10 0x00007f965f26439c DWARFASTParserClang::ParseStructureLikeDIE(lldb_private::SymbolContext const&, lldb_private::plugin::dwarf::DWARFDIE const&, ParsedDWARFTypeAttributes&) /usr/local/google/home/zequanwu/work/llvm-project/lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp:1848:9
#11 0x00007f965f262004 std::__shared_ptr<lldb_private::Type, (__gnu_cxx::_Lock_policy)2>::__shared_ptr(std::__shared_ptr<lldb_private::Type, (__gnu_cxx::_Lock_policy)2>&&) /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/shared_ptr_base.h:1533:20
#12 0x00007f965f262004 std::__shared_ptr<lldb_private::Type, (__gnu_cxx::_Lock_policy)2>::operator=(std::__shared_ptr<lldb_private::Type, (__gnu_cxx::_Lock_policy)2>&&) /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/shared_ptr_base.h:1621:2
#13 0x00007f965f262004 std::shared_ptr<lldb_private::Type>::operator=(std::shared_ptr<lldb_private::Type>&&) /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/shared_ptr.h:439:27
#14 0x00007f965f262004 DWARFASTParserClang::ParseTypeFromDWARF(lldb_private::SymbolContext const&, lldb_private::plugin::dwarf::DWARFDIE const&, bool*) /usr/local/google/home/zequanwu/work/llvm-project/lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp:613:15
#15 0x00007f965f236d39 std::__shared_ptr<lldb_private::Type, (__gnu_cxx::_Lock_policy)2>::operator bool() const /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/shared_ptr_base.h:1671:23
#16 0x00007f965f236d39 lldb_private::plugin::dwarf::SymbolFileDWARF::ParseType(lldb_private::SymbolContext const&, lldb_private::plugin::dwarf::DWARFDIE const&, bool*) /usr/local/google/home/zequanwu/work/llvm-project/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp:3101:7
#17 0x00007f965f23161e std::__shared_ptr<lldb_private::Type, (__gnu_cxx::_Lock_policy)2>::__shared_ptr(std::__shared_ptr<lldb_private::Type, (__gnu_cxx::_Lock_policy)2>&&) /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/shared_ptr_base.h:1533:20
#18 0x00007f965f23161e std::__shared_ptr<lldb_private::Type, (__gnu_cxx::_Lock_policy)2>::operator=(std::__shared_ptr<lldb_private::Type, (__gnu_cxx::_Lock_policy)2>&&) /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/shared_ptr_base.h:1621:2
#19 0x00007f965f23161e std::shared_ptr<lldb_private::Type>::operator=(std::shared_ptr<lldb_private::Type>&&) /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/shared_ptr.h:439:27
#20 0x00007f965f23161e lldb_private::plugin::dwarf::SymbolFileDWARF::GetTypeForDIE(lldb_private::plugin::dwarf::DWARFDIE const&, bool) /usr/local/google/home/zequanwu/work/llvm-project/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp:2848:15
#21 0x00007f965f22fee3 std::__shared_ptr<lldb_private::Type, (__gnu_cxx::_Lock_policy)2>::get() const /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/shared_ptr_base.h:1667:16
#22 0x00007f965f22fee3 lldb_private::plugin::dwarf::SymbolFileDWARF::ResolveType(lldb_private::plugin::dwarf::DWARFDIE const&, bool, bool) /usr/local/google/home/zequanwu/work/llvm-project/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp:1629:63
#23 0x00007f965f226bab lldb_private::plugin::dwarf::SymbolFileDWARF::ResolveTypeUID(lldb_private::plugin::dwarf::DWARFDIE const&, bool) /usr/local/google/home/zequanwu/work/llvm-project/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp:0:12
#24 0x00007f965f26bc54 DWARFASTParserClang::ParseInheritance(lldb_private::plugin::dwarf::DWARFDIE const&, lldb_private::plugin::dwarf::DWARFDIE const&, lldb_private::CompilerType, lldb::AccessType, std::shared_ptr<lldb_private::Module> const&, std::vector<std::unique_ptr<clang::CXXBaseSpecifier, std::default_delete<clang::CXXBaseSpecifier>>, std::allocator<std::unique_ptr<clang::CXXBaseSpecifier, std::default_delete<clang::CXXBaseSpecifier>>>>&, lldb_private::ClangASTImporter::LayoutInfo&) /usr/local/google/home/zequanwu/work/llvm-project/lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp:1615:23
#25 0x00007f965f26e143 DWARFASTParserClang::ParseChildMembers(lldb_private::plugin::dwarf::DWARFDIE const&, lldb_private::CompilerType const&, std::vector<std::unique_ptr<clang::CXXBaseSpecifier, std::default_delete<clang::CXXBaseSpecifier>>, std::allocator<std::unique_ptr<clang::CXXBaseSpecifier, std::default_delete<clang::CXXBaseSpecifier>>>>&, std::vector<lldb_private::plugin::dwarf::DWARFDIE, std::allocator<lldb_private::plugin::dwarf::DWARFDIE>>&, std::vector<lldb_private::plugin::dwarf::DWARFDIE, std::allocator<lldb_private::plugin::dwarf::DWARFDIE>>&, std::vector<DWARFASTParserClang::DelayedAddObjCClassProperty, std::allocator<DWARFASTParserClang::DelayedAddObjCClassProperty>>&, lldb::AccessType, lldb_private::ClangASTImporter::LayoutInfo&) /usr/local/google/home/zequanwu/work/llvm-project/lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp:3206:7
#26 0x00007f965f26d5c6 __gnu_cxx::__normal_iterator<lldb_private::plugin::dwarf::DWARFDIE*, std::vector<lldb_private::plugin::dwarf::DWARFDIE, std::allocator<lldb_private::plugin::dwarf::DWARFDIE>>>::__normal_iterator(lldb_private::plugin::dwarf::DWARFDIE* const&) /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/stl_iterator.h:1068:20
#27 0x00007f965f26d5c6 std::vector<lldb_private::plugin::dwarf::DWARFDIE, std::allocator<lldb_private::plugin::dwarf::DWARFDIE>>::begin() /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/stl_vector.h:874:16
#28 0x00007f965f26d5c6 DWARFASTParserClang::CompleteRecordType(lldb_private::plugin::dwarf::DWARFDIE const&, lldb_private::CompilerType const&) /usr/local/google/home/zequanwu/work/llvm-project/lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp:2219:28
#29 0x00007f965f26e93a DWARFASTParserClang::CompleteTypeFromDWARF(lldb_private::plugin::dwarf::DWARFDIE const&, lldb_private::Type*, lldb_private::CompilerType const&) /usr/local/google/home/zequanwu/work/llvm-project/lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp:0:5
#30 0x00007f965f230c18 lldb_private::plugin::dwarf::SymbolFileDWARF::CompleteType(lldb_private::CompilerType&) /usr/local/google/home/zequanwu/work/llvm-project/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp:1622:21
#31 0x00007f965edbf069 lldb_private::Type::ResolveCompilerType(lldb_private::Type::ResolveState) /usr/local/google/home/zequanwu/work/llvm-project/lldb/source/Symbol/Type.cpp:739:7
#32 0x00007f965edbf3e7 std::__weak_count<(__gnu_cxx::_Lock_policy)2>::__weak_count(std::__weak_count<(__gnu_cxx::_Lock_policy)2> const&) /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/shared_ptr_base.h:1155:19
#33 0x00007f965edbf3e7 std::__weak_ptr<lldb_private::TypeSystem, (__gnu_cxx::_Lock_policy)2>::__weak_ptr(std::__weak_ptr<lldb_private::TypeSystem, (__gnu_cxx::_Lock_policy)2> const&) /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/shared_ptr_base.h:1995:7
#34 0x00007f965edbf3e7 std::weak_ptr<lldb_private::TypeSystem>::weak_ptr(std::weak_ptr<lldb_private::TypeSystem> const&) /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/shared_ptr.h:830:7
#35 0x00007f965edbf3e7 lldb_private::CompilerType::CompilerType(lldb_private::CompilerType const&) /usr/local/google/home/zequanwu/work/llvm-project/lldb/include/lldb/Symbol/CompilerType.h:93:9
#36 0x00007f965edbf3e7 lldb_private::Type::GetFullCompilerType() /usr/local/google/home/zequanwu/work/llvm-project/lldb/source/Symbol/Type.cpp:773:10
#37 0x00007f965f26bc74 std::__shared_count<(__gnu_cxx::_Lock_policy)2>::__shared_count(std::__weak_count<(__gnu_cxx::_Lock_policy)2> const&, std::nothrow_t) /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/shared_ptr_base.h:1254:17
#38 0x00007f965f26bc74 std::__shared_ptr<lldb_private::TypeSystem, (__gnu_cxx::_Lock_policy)2>::__shared_ptr(std::__weak_ptr<lldb_private::TypeSystem, (__gnu_cxx::_Lock_policy)2> const&, std::nothrow_t) /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/shared_ptr_base.h:1733:9
#39 0x00007f965f26bc74 std::shared_ptr<lldb_private::TypeSystem>::shared_ptr(std::weak_ptr<lldb_private::TypeSystem> const&, std::nothrow_t) /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/shared_ptr.h:535:9
#40 0x00007f965f26bc74 std::weak_ptr<lldb_private::TypeSystem>::lock() const /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/shared_ptr.h:874:16
#41 0x00007f965f26bc74 lldb_private::CompilerType::operator bool() const /usr/local/google/home/zequanwu/work/llvm-project/lldb/include/lldb/Symbol/CompilerType.h:117:26
#42 0x00007f965f26bc74 DWARFASTParserClang::ParseInheritance(lldb_private::plugin::dwarf::DWARFDIE const&, lldb_private::plugin::dwarf::DWARFDIE const&, lldb_private::CompilerType, lldb::AccessType, std::shared_ptr<lldb_private::Module> const&, std::vector<std::unique_ptr<clang::CXXBaseSpecifier, std::default_delete<clang::CXXBaseSpecifier>>, std::allocator<std::unique_ptr<clang::CXXBaseSpecifier, std::default_delete<clang::CXXBaseSpecifier>>>>&, lldb_private::ClangASTImporter::LayoutInfo&) /usr/local/google/home/zequanwu/work/llvm-project/lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp:1628:3
#43 0x00007f965f26e143 DWARFASTParserClang::ParseChildMembers(lldb_private::plugin::dwarf::DWARFDIE const&, lldb_private::CompilerType const&, std::vector<std::unique_ptr<clang::CXXBaseSpecifier, std::default_delete<clang::CXXBaseSpecifier>>, std::allocator<std::unique_ptr<clang::CXXBaseSpecifier, std::default_delete<clang::CXXBaseSpecifier>>>>&, std::vector<lldb_private::plugin::dwarf::DWARFDIE, std::allocator<lldb_private::plugin::dwarf::DWARFDIE>>&, std::vector<lldb_private::plugin::dwarf::DWARFDIE, std::allocator<lldb_private::plugin::dwarf::DWARFDIE>>&, std::vector<DWARFASTParserClang::DelayedAddObjCClassProperty, std::allocator<DWARFASTParserClang::DelayedAddObjCClassProperty>>&, lldb::AccessType, lldb_private::ClangASTImporter::LayoutInfo&) /usr/local/google/home/zequanwu/work/llvm-project/lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp:3206:7
#44 0x00007f965f26d5c6 __gnu_cxx::__normal_iterator<lldb_private::plugin::dwarf::DWARFDIE*, std::vector<lldb_private::plugin::dwarf::DWARFDIE, std::allocator<lldb_private::plugin::dwarf::DWARFDIE>>>::__normal_iterator(lldb_private::plugin::dwarf::DWARFDIE* const&) /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/stl_iterator.h:1068:20
#45 0x00007f965f26d5c6 std::vector<lldb_private::plugin::dwarf::DWARFDIE, std::allocator<lldb_private::plugin::dwarf::DWARFDIE>>::begin() /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/stl_vector.h:874:16
#46 0x00007f965f26d5c6 DWARFASTParserClang::CompleteRecordType(lldb_private::plugin::dwarf::DWARFDIE const&, lldb_private::CompilerType const&) /usr/local/google/home/zequanwu/work/llvm-project/lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp:2219:28
#47 0x00007f965f26e93a DWARFASTParserClang::CompleteTypeFromDWARF(lldb_private::plugin::dwarf::DWARFDIE const&, lldb_private::Type*, lldb_private::CompilerType const&) /usr/local/google/home/zequanwu/work/llvm-project/lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp:0:5
#48 0x00007f965f230c18 lldb_private::plugin::dwarf::SymbolFileDWARF::CompleteType(lldb_private::CompilerType&) /usr/local/google/home/zequanwu/work/llvm-project/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp:1622:21
#49 0x00007f965f2be7d3 std::__weak_count<(__gnu_cxx::_Lock_policy)2>::~__weak_count() /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/shared_ptr_base.h:1167:6
#50 0x00007f965f2be7d3 std::__weak_ptr<lldb_private::TypeSystem, (__gnu_cxx::_Lock_policy)2>::~__weak_ptr() /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/shared_ptr_base.h:1997:29
#51 0x00007f965f2be7d3 lldb_private::CompilerType::~CompilerType() /usr/local/google/home/zequanwu/work/llvm-project/lldb/include/lldb/Symbol/CompilerType.h:37:7
#52 0x00007f965f2be7d3 lldb_private::TypeSystemClang::CompleteTagDecl(clang::TagDecl*) /usr/local/google/home/zequanwu/work/llvm-project/lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp:9099:3
#53 0x00007f965f2c378a clang::TagDecl::isCompleteDefinition() const /usr/local/google/home/zequanwu/work/llvm-project/llvm/../clang/include/clang/AST/Decl.h:3688:46
#54 0x00007f965f2c378a GetCompleteRecordType(clang::ASTContext*, clang::QualType, bool) /usr/local/google/home/zequanwu/work/llvm-project/lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp:2641:26
#55 0x00007f965f2a963a GetCompleteQualType(clang::ASTContext*, clang::QualType, bool) /usr/local/google/home/zequanwu/work/llvm-project/lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp:2744:13
#56 0x00007f965f2b5746 lldb_private::TypeSystemClang::GetIndexOfChildMemberWithName(void*, llvm::StringRef, bool, std::vector<unsigned int, std::allocator<unsigned int>>&) /usr/local/google/home/zequanwu/work/llvm-project/lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp:6742:11
#57 0x00007f965ed7eaf5 std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release() /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/shared_ptr_base.h:337:8
#58 0x00007f965ed7eaf5 std::__shared_count<(__gnu_cxx::_Lock_policy)2>::~__shared_count() /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/shared_ptr_base.h:1069:11
#59 0x00007f965ed7eaf5 std::__shared_ptr<lldb_private::TypeSystem, (__gnu_cxx::_Lock_policy)2>::~__shared_ptr() /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/shared_ptr_base.h:1525:31
#60 0x00007f965ed7eaf5 lldb_private::CompilerType::TypeSystemSPWrapper::~TypeSystemSPWrapper() /usr/local/google/home/zequanwu/work/llvm-project/lldb/include/lldb/Symbol/CompilerType.h:50:9
#61 0x00007f965ed7eaf5 lldb_private::CompilerType::GetIndexOfChildMemberWithName(llvm::StringRef, bool, std::vector<unsigned int, std::allocator<unsigned int>>&) const /usr/local/google/home/zequanwu/work/llvm-project/lldb/source/Symbol/CompilerType.cpp:971:14
#62 0x00007f965f2b5aa1 lldb_private::TypeSystemClang::GetIndexOfChildMemberWithName(void*, llvm::StringRef, bool, std::vector<unsigned int, std::allocator<unsigned int>>&) /usr/local/google/home/zequanwu/work/llvm-project/lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp:0:0
#63 0x00007f965ed7eaf5 std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release() /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/shared_ptr_base.h:337:8
#64 0x00007f965ed7eaf5 std::__shared_count<(__gnu_cxx::_Lock_policy)2>::~__shared_count() /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/shared_ptr_base.h:1069:11
#65 0x00007f965ed7eaf5 std::__shared_ptr<lldb_private::TypeSystem, (__gnu_cxx::_Lock_policy)2>::~__shared_ptr() /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/shared_ptr_base.h:1525:31
#66 0x00007f965ed7eaf5 lldb_private::CompilerType::TypeSystemSPWrapper::~TypeSystemSPWrapper() /usr/local/google/home/zequanwu/work/llvm-project/lldb/include/lldb/Symbol/CompilerType.h:50:9
#67 0x00007f965ed7eaf5 lldb_private::CompilerType::GetIndexOfChildMemberWithName(llvm::StringRef, bool, std::vector<unsigned int, std::allocator<unsigned int>>&) const /usr/local/google/home/zequanwu/work/llvm-project/lldb/source/Symbol/CompilerType.cpp:971:14
#68 0x00007f965eeffd78 std::__weak_count<(__gnu_cxx::_Lock_policy)2>::~__weak_count() /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/shared_ptr_base.h:1167:6
#69 0x00007f965eeffd78 std::__weak_ptr<lldb_private::TypeSystem, (__gnu_cxx::_Lock_policy)2>::~__weak_ptr() /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/shared_ptr_base.h:1997:29
#70 0x00007f965eeffd78 lldb_private::CompilerType::~CompilerType() /usr/local/google/home/zequanwu/work/llvm-project/lldb/include/lldb/Symbol/CompilerType.h:37:7
#71 0x00007f965eeffd78 lldb_private::ValueObject::GetChildMemberWithName(llvm::StringRef, bool) /usr/local/google/home/zequanwu/work/llvm-project/lldb/source/ValueObject/ValueObject.cpp:428:7
#72 0x00007f96612c71f5 std::__shared_ptr<lldb_private::ValueObject, (__gnu_cxx::_Lock_policy)2>::operator bool() const /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/shared_ptr_base.h:1671:16
#73 0x00007f96612c71f5 lldb_private::ClangExpressionUtil::GetLambdaValueObject(lldb_private::StackFrame*) /usr/local/google/home/zequanwu/work/llvm-project/lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionUtil.cpp:21:9
#74 0x00007f96612d28f8 std::__shared_ptr<lldb_private::ValueObject, (__gnu_cxx::_Lock_policy)2>::operator bool() const /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/shared_ptr_base.h:1671:16
#75 0x00007f96612d28f8 (anonymous namespace)::AddLambdaCaptureDecls(lldb_private::StreamString&, lldb_private::StackFrame*, (anonymous namespace)::TokenVerifier const&) /usr/local/google/home/zequanwu/work/llvm-project/lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionSourceCode.cpp:231:12
#76 0x00007f96612d28f8 lldb_private::ClangExpressionSourceCode::AddLocalVariableDecls(lldb_private::StreamString&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, lldb_private::StackFrame*) const /usr/local/google/home/zequanwu/work/llvm-project/lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionSourceCode.cpp:324:7
#77 0x00007f96612d3626 std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>::_M_data() const /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/basic_string.h:228:28
#78 0x00007f96612d3626 std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>::_M_is_local() const /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/basic_string.h:269:6
#79 0x00007f96612d3626 std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>::_M_dispose() /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/basic_string.h:287:7
#80 0x00007f96612d3626 std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>::~basic_string() /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/basic_string.h:809:9
#81 0x00007f96612d3626 lldb_private::ClangExpressionSourceCode::GetText(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>&, lldb_private::ExecutionContext&, bool, bool, llvm::ArrayRef<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>) const /usr/local/google/home/zequanwu/work/llvm-project/lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionSourceCode.cpp:427:9
#82 0x00007f96612de50b lldb_private::ClangUserExpression::CreateSourceCode(lldb_private::DiagnosticManager&, lldb_private::ExecutionContext&, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>>, bool) /usr/local/google/home/zequanwu/work/llvm-project/lldb/source/Plugins/ExpressionParser/Clang/ClangUserExpression.cpp:424:9
#83 0x00007f96612df342 std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>>::~vector() /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/stl_vector.h:735:30
#84 0x00007f96612df342 lldb_private::ClangUserExpression::PrepareForParsing(lldb_private::DiagnosticManager&, lldb_private::ExecutionContext&, bool) /usr/local/google/home/zequanwu/work/llvm-project/lldb/source/Plugins/ExpressionParser/Clang/ClangUserExpression.cpp:549:3
#85 0x00007f96612e017c lldb_private::ClangUserExpression::Parse(lldb_private::DiagnosticManager&, lldb_private::ExecutionContext&, lldb_private::ExecutionPolicy, bool, bool) /usr/local/google/home/zequanwu/work/llvm-project/lldb/source/Plugins/ExpressionParser/Clang/ClangUserExpression.cpp:653:7
#86 0x00007f965ecf50a0 lldb_private::UserExpression::Evaluate(lldb_private::ExecutionContext&, lldb_private::EvaluateExpressionOptions const&, llvm::StringRef, llvm::StringRef, std::shared_ptr<lldb_private::ValueObject>&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>*, lldb_private::ValueObject*) /usr/local/google/home/zequanwu/work/llvm-project/lldb/source/Expression/UserExpression.cpp:280:27
#87 0x00007f965ee664f0 lldb_private::Target::EvaluateExpression(llvm::StringRef, lldb_private::ExecutionContextScope*, std::shared_ptr<lldb_private::ValueObject>&, lldb_private::EvaluateExpressionOptions const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>*, lldb_private::ValueObject*) /usr/local/google/home/zequanwu/work/llvm-project/lldb/source/Target/Target.cpp:2858:25
#88 0x00007f96611a2794 lldb_private::CommandObjectExpression::EvaluateExpression(llvm::StringRef, lldb_private::Stream&, lldb_private::Stream&, lldb_private::CommandReturnObject&) /usr/local/google/home/zequanwu/work/llvm-project/lldb/source/Commands/CommandObjectExpression.cpp:428:38
#89 0x00007f96611a39f5 lldb_private::CommandObjectExpression::DoExecute(llvm::StringRef, lldb_private::CommandReturnObject&) /usr/local/google/home/zequanwu/work/llvm-project/lldb/source/Commands/CommandObjectExpression.cpp:668:7
#90 0x00007f965ed45d60 lldb_private::CommandObject::Cleanup() /usr/local/google/home/zequanwu/work/llvm-project/lldb/source/Interpreter/CommandObject.cpp:268:3
#91 0x00007f965ed45d60 lldb_private::CommandObjectRaw::Execute(char const*, lldb_private::CommandReturnObject&) /usr/local/google/home/zequanwu/work/llvm-project/lldb/source/Interpreter/CommandObject.cpp:855:5
#92 0x00007f965ed34d65 lldb_private::ElapsedTime::~ElapsedTime() /usr/local/google/home/zequanwu/work/llvm-project/lldb/include/lldb/Target/Statistics.h:88:36
#93 0x00007f965ed34d65 lldb_private::CommandInterpreter::HandleCommand(char const*, lldb_private::LazyBool, lldb_private::CommandReturnObject&, bool) /usr/local/google/home/zequanwu/work/llvm-project/lldb/source/Interpreter/CommandInterpreter.cpp:2128:3
#94 0x00007f965ed395f0 lldb_private::CommandInterpreter::IOHandlerInputComplete(lldb_private::IOHandler&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>&) /usr/local/google/home/zequanwu/work/llvm-project/lldb/source/Interpreter/CommandInterpreter.cpp:3229:15
#95 0x00007f965ec8aa94 lldb_private::IOHandlerEditline::Run() /usr/local/google/home/zequanwu/work/llvm-project/lldb/source/Core/IOHandler.cpp:0:22
#96 0x00007f965ec66bbc __gthread_mutex_lock(pthread_mutex_t*) /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/x86_64-linux-gnu/c++/14/bits/gthr-default.h:762:12
#97 0x00007f965ec66bbc __gthread_recursive_mutex_lock(pthread_mutex_t*) /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/x86_64-linux-gnu/c++/14/bits/gthr-default.h:824:10
#98 0x00007f965ec66bbc std::recursive_mutex::lock() /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/mutex:125:17
#99 0x00007f965ec66bbc std::lock_guard<std::recursive_mutex>::lock_guard(std::recursive_mutex&) /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/std_mutex.h:250:19
#100 0x00007f965ec66bbc lldb_private::Debugger::RunIOHandlers() /usr/local/google/home/zequanwu/work/llvm-project/lldb/source/Core/Debugger.cpp:1163:45
#101 0x00007f965ed3b856 lldb_private::CommandInterpreter::RunCommandInterpreter(lldb_private::CommandInterpreterRunOptions&) /usr/local/google/home/zequanwu/work/llvm-project/lldb/source/Interpreter/CommandInterpreter.cpp:3519:5
#102 0x00007f965ea73d53 lldb::SBDebugger::RunCommandInterpreter(lldb::SBCommandInterpreterRunOptions const&) /usr/local/google/home/zequanwu/work/llvm-project/lldb/source/API/SBDebugger.cpp:1288:14
#103 0x00005584fddc2b8d Driver::MainLoop() /usr/local/google/home/zequanwu/work/llvm-project/lldb/tools/driver/Driver.cpp:558:17
#104 0x00005584fddc3a74 main /usr/local/google/home/zequanwu/work/llvm-project/lldb/tools/driver/Driver.cpp:810:26
#105 0x00007f9658c33d68 __libc_start_call_main ./csu/../sysdeps/nptl/libc_start_call_main.h:74:3
#106 0x00007f9658c33e25 call_init ./csu/../csu/libc-start.c:128:20
#107 0x00007f9658c33e25 __libc_start_main ./csu/../csu/libc-start.c:347:5
#108 0x00005584fddbfd51 _start (/usr/local/google/home/zequanwu/work/llvm-project/out/cmake-reldbg/bin/lldb+0x22d51)
[1] 341741 segmentation fault (core dumped) /usr/local/google/home/zequanwu/work/llvm-project/out/cmake-reldbg/bin/lldb
```
https://github.com/llvm/llvm-project/pull/130768
More information about the lldb-commits
mailing list