[llvm-bugs] [Bug 31245] New: Assertion failed: (m_base_dwarf_cu->GetOffset() == die_ref.cu_offset), function GetDIE, file src/tools/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDwo.cpp, line 120

via llvm-bugs llvm-bugs at lists.llvm.org
Fri Dec 2 16:17:17 PST 2016


https://llvm.org/bugs/show_bug.cgi?id=31245

            Bug ID: 31245
           Summary: Assertion failed: (m_base_dwarf_cu->GetOffset() ==
                    die_ref.cu_offset), function GetDIE, file
                    src/tools/lldb/source/Plugins/SymbolFile/DWARF/SymbolF
                    ileDWARFDwo.cpp, line 120
           Product: lldb
           Version: unspecified
          Hardware: PC
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: P
         Component: All Bugs
          Assignee: lldb-dev at lists.llvm.org
          Reporter: richard-llvm at metafoo.co.uk
                CC: llvm-bugs at lists.llvm.org
    Classification: Unclassified

Was debugging clang trunk with lldb trunk, when...

(lldb) f 5
frame #5: clang`clang::canCalleeThrow(S=0x00000000093e3bf0,
E=0x0000000009418930, D=0x00000000093ed2b8) at SemaExceptionSpec.cpp:968
   965          T = Op->getRHS()->getType()
   966                ->castAs<MemberPointerType>()->getPointeeType();
   967        } else {
-> 968          T = cast<MemberExpr>(E)->getMemberDecl()->getType();
   969        }
   970      }
   971    } else if (const ValueDecl *VD = dyn_cast_or_null<ValueDecl>(D))
(lldb) p E->dump()
Assertion failed: (m_base_dwarf_cu->GetOffset() == die_ref.cu_offset), function
GetDIE, file
src/tools/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDwo.cpp, line 120
backtrace leading to the failure:
#0 0x00007f01f1ed0b68 llvm::sys::PrintStackTrace(llvm::raw_ostream&)
src/lib/Support/Unix/Signals.inc:402:13
#1 0x00007f01f009cfca lldb_private::lldb_assert(bool, char const*, char const*,
char const*, unsigned int) src/tools/lldb/source/Utility/LLDBAssert.cpp:30:5
#2 0x00007f01f00e384d SymbolFileDWARFDwo::GetDIE(DIERef const&)
src/tools/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDwo.cpp:121:10
#3 0x00007f01f00d3b65
SymbolFileDWARF::CompleteType(lldb_private::CompilerType&)
src/tools/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp:1408:24
#4 0x00007f01f002179e
lldb_private::Type::ResolveClangType(lldb_private::Type::ResolveStateTag)
src/tools/lldb/source/Symbol/Type.cpp:563:7
#5 0x00007f01f00217f3 lldb_private::CompilerType::IsValid() const
src/tools/lldb/include/lldb/Symbol/CompilerType.h:75:40
#6 0x00007f01f00217f3
lldb_private::Type::ResolveClangType(lldb_private::Type::ResolveStateTag)
src/tools/lldb/source/Symbol/Type.cpp:584:0
#7 0x00007f01f0021967
lldb_private::CompilerType::CompilerType(lldb_private::CompilerType const&)
src/tools/lldb/include/lldb/Symbol/CompilerType.h:45:20
#8 0x00007f01f0021967 lldb_private::Type::GetFullCompilerType()
src/tools/lldb/source/Symbol/Type.cpp:597:0
#9 0x00007f01f0263834 lldb_private::CompilerType::operator bool() const
src/tools/lldb/include/lldb/Symbol/CompilerType.h:66:19
#10 0x00007f01f0263834
lldb_private::ClangExpressionDeclMap::GetVariableValue(std::__1::shared_ptr<lldb_private::Variable>&,
lldb_private::Value&, lldb_private::TaggedASTType<1u>*,
lldb_private::TaggedASTType<0u>*)
src/tools/lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.cpp:1612:0
#11 0x00007f01f02627e0
lldb_private::ClangExpressionDeclMap::AddOneVariable(lldb_private::NameSearchContext&,
std::__1::shared_ptr<lldb_private::Variable>,
lldb_private::SharingPtr<lldb_private::ValueObject>, unsigned int)
src/tools/lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.cpp:1708:7
#12 0x00007f01f025fc5c
lldb_private::SharingPtr<lldb_private::ValueObject>::~SharingPtr()
src/tools/lldb/include/lldb/Utility/SharingPtr.h:218:7
#13 0x00007f01f025fc5c
lldb_private::ClangExpressionDeclMap::FindExternalVisibleDecls(lldb_private::NameSearchContext&,
std::__1::shared_ptr<lldb_private::Module>, lldb_private::CompilerDeclContext&,
unsigned int)
src/tools/lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.cpp:1223:0
#14 0x00007f01f025f07a
lldb_private::ClangExpressionDeclMap::FindExternalVisibleDecls(lldb_private::NameSearchContext&)
src/tools/lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.cpp:814:5
#15 0x00007f01f024a24d
lldb_private::ClangASTSource::FindExternalVisibleDeclsByName(clang::DeclContext
const*, clang::DeclarationName)
src/tools/lldb/source/Plugins/ExpressionParser/Clang/ClangASTSource.cpp:175:44
#16 0x00007f01f03cb1cc clang::DeclContext::lookup(clang::DeclarationName) const
src/tools/clang/lib/AST/DeclBase.cpp:1486:60
[...]
#65 0x00000000004032b9 _start (stage2/bin/lldb-4.0.0+0x4032b9)
please file a bug report against lldb reporting this failure log, and as many
details as possible
CXXMemberCallExpr 0x9418930 'void'
`-MemberExpr 0x94188f8 '<bound member function type>' .g 0x93ed2b8
  `-CXXTemporaryObjectExpr 0x94187d8 'struct dr1330::A' 'void (void) noexcept'
zeroing


Despite the assertion failure, lldb correctly executed the command, and further
executions of the same command work fine ¯\_(ツ)_/¯

-- 
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20161203/9209106c/attachment.html>


More information about the llvm-bugs mailing list