[llvm-bugs] [Bug 34769] New: FragmentOffset >= OffsetInBits && "overlapping or duplicate fragments"

via llvm-bugs llvm-bugs at lists.llvm.org
Thu Sep 28 10:33:11 PDT 2017


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

            Bug ID: 34769
           Summary: FragmentOffset >= OffsetInBits && "overlapping or
                    duplicate fragments"
           Product: new-bugs
           Version: 5.0
          Hardware: PC
                OS: Linux
            Status: NEW
          Severity: enhancement
          Priority: P
         Component: new bugs
          Assignee: unassignedbugs at nondot.org
          Reporter: hans at chromium.org
                CC: aprantl at apple.com, llvm-bugs at lists.llvm.org

Created attachment 19209
  --> https://bugs.llvm.org/attachment.cgi?id=19209&action=edit
creduced preprocessed source

Chromium is hitting the assert below with r313786, and it also reproduces on
trunk.

With the attached preprocessed source:

$ bin/clang -cc1 -triple x86_64-unknown-linux-gnu -emit-obj -target-cpu x86-64
-dwarf-column-info -debug-info-kind=limited -dwarf-version=4
-debugger-tuning=gdb -O2 -std=gnu++14 -w -x c++ a.ii
clang: ../lib/CodeGen/AsmPrinter/DwarfExpression.cpp:405: void
llvm::DwarfExpression::addFragmentOffset(const llvm::DIExpression*): Assertion
`FragmentOffset >= OffsetInBits && "overlapping or duplicate fragments"'
failed.
#0 0x000000000213b3ba llvm::sys::PrintStackTrace(llvm::raw_ostream&)
(bin/clang+0x213b3ba)
#1 0x000000000213942e llvm::sys::RunSignalHandlers() (bin/clang+0x213942e)
#2 0x0000000002139592 SignalHandler(int) (bin/clang+0x2139592)
#3 0x00007f608af83330 __restore_rt
(/lib/x86_64-linux-gnu/libpthread.so.0+0x10330)
#4 0x00007f6089d73c37 gsignal
/build/eglibc-SvCtMH/eglibc-2.19/signal/../nptl/sysdeps/unix/sysv/linux/raise.c:56:0
#5 0x00007f6089d77028 abort
/build/eglibc-SvCtMH/eglibc-2.19/stdlib/abort.c:91:0
#6 0x00007f6089d6cbf6 __assert_fail_base
/build/eglibc-SvCtMH/eglibc-2.19/assert/assert.c:92:0
#7 0x00007f6089d6cca2 (/lib/x86_64-linux-gnu/libc.so.6+0x2fca2)
#8 0x00000000027595c9 (bin/clang+0x27595c9)
#9 0x0000000002798e26
llvm::DwarfCompileUnit::constructVariableDIEImpl(llvm::DbgVariable const&,
bool) (bin/clang+0x2798e26)
#10 0x00000000027991cc
llvm::DwarfCompileUnit::constructVariableDIE(llvm::DbgVariable&, bool)
(bin/clang+0x27991cc)
#11 0x00000000027991f3
llvm::DwarfCompileUnit::constructVariableDIE(llvm::DbgVariable&,
llvm::LexicalScope const&, llvm::DIE*&) (bin/clang+0x27991f3)
#12 0x000000000279bf29
llvm::DwarfCompileUnit::createScopeChildrenDIE(llvm::LexicalScope*,
llvm::SmallVectorImpl<llvm::DIE*>&, bool*) (bin/clang+0x279bf29)
#13 0x000000000279c3de
llvm::DwarfCompileUnit::constructScopeDIE(llvm::LexicalScope*,
llvm::SmallVectorImpl<llvm::DIE*>&) (bin/clang+0x279c3de)
#14 0x000000000279bfab
llvm::DwarfCompileUnit::createScopeChildrenDIE(llvm::LexicalScope*,
llvm::SmallVectorImpl<llvm::DIE*>&, bool*) (bin/clang+0x279bfab)
#15 0x000000000279c3de
llvm::DwarfCompileUnit::constructScopeDIE(llvm::LexicalScope*,
llvm::SmallVectorImpl<llvm::DIE*>&) (bin/clang+0x279c3de)
#16 0x000000000279bfab
llvm::DwarfCompileUnit::createScopeChildrenDIE(llvm::LexicalScope*,
llvm::SmallVectorImpl<llvm::DIE*>&, bool*) (bin/clang+0x279bfab)
#17 0x000000000279c3de
llvm::DwarfCompileUnit::constructScopeDIE(llvm::LexicalScope*,
llvm::SmallVectorImpl<llvm::DIE*>&) (bin/clang+0x279c3de)
#18 0x000000000279bfab
llvm::DwarfCompileUnit::createScopeChildrenDIE(llvm::LexicalScope*,
llvm::SmallVectorImpl<llvm::DIE*>&, bool*) (bin/clang+0x279bfab)
#19 0x000000000279c3de
llvm::DwarfCompileUnit::constructScopeDIE(llvm::LexicalScope*,
llvm::SmallVectorImpl<llvm::DIE*>&) (bin/clang+0x279c3de)
#20 0x000000000279bfab
llvm::DwarfCompileUnit::createScopeChildrenDIE(llvm::LexicalScope*,
llvm::SmallVectorImpl<llvm::DIE*>&, bool*) (bin/clang+0x279bfab)
#21 0x000000000279c3de
llvm::DwarfCompileUnit::constructScopeDIE(llvm::LexicalScope*,
llvm::SmallVectorImpl<llvm::DIE*>&) (bin/clang+0x279c3de)
#22 0x000000000279bfab
llvm::DwarfCompileUnit::createScopeChildrenDIE(llvm::LexicalScope*,
llvm::SmallVectorImpl<llvm::DIE*>&, bool*) (bin/clang+0x279bfab)
#23 0x000000000279c3de
llvm::DwarfCompileUnit::constructScopeDIE(llvm::LexicalScope*,
llvm::SmallVectorImpl<llvm::DIE*>&) (bin/clang+0x279c3de)
#24 0x000000000279bfab
llvm::DwarfCompileUnit::createScopeChildrenDIE(llvm::LexicalScope*,
llvm::SmallVectorImpl<llvm::DIE*>&, bool*) (bin/clang+0x279bfab)
#25 0x000000000279c636
llvm::DwarfCompileUnit::createAndAddScopeChildren(llvm::LexicalScope*,
llvm::DIE&) (bin/clang+0x279c636)
#26 0x000000000279c783
llvm::DwarfCompileUnit::constructSubprogramScopeDIE(llvm::DISubprogram const*,
llvm::LexicalScope*) (bin/clang+0x279c783)
#27 0x0000000002755e66 llvm::DwarfDebug::endFunctionImpl(llvm::MachineFunction
const*) (bin/clang+0x2755e66)
#28 0x0000000002786f61
llvm::DebugHandlerBase::endFunction(llvm::MachineFunction const*)
(bin/clang+0x2786f61)
#29 0x0000000002734dd8 llvm::AsmPrinter::EmitFunctionBody()
(bin/clang+0x2734dd8)
#30 0x000000000153a3b0
llvm::X86AsmPrinter::runOnMachineFunction(llvm::MachineFunction&)
(bin/clang+0x153a3b0)
#31 0x00000000019d1a45
llvm::MachineFunctionPass::runOnFunction(llvm::Function&) (bin/clang+0x19d1a45)
#32 0x0000000001cdbf63 llvm::FPPassManager::runOnFunction(llvm::Function&)
(bin/clang+0x1cdbf63)
#33 0x0000000001cdc00c llvm::FPPassManager::runOnModule(llvm::Module&)
(bin/clang+0x1cdc00c)
#34 0x0000000001cdcdaf llvm::legacy::PassManagerImpl::run(llvm::Module&)
(bin/clang+0x1cdcdaf)
#35 0x00000000022cb1fe (anonymous
namespace)::EmitAssemblyHelper::EmitAssembly(clang::BackendAction,
std::unique_ptr<llvm::raw_pwrite_stream,
std::default_delete<llvm::raw_pwrite_stream> >) (bin/clang+0x22cb1fe)
#36 0x00000000022cc4df clang::EmitBackendOutput(clang::DiagnosticsEngine&,
clang::HeaderSearchOptions const&, clang::CodeGenOptions const&,
clang::TargetOptions const&, clang::LangOptions const&, llvm::DataLayout
const&, llvm::Module*, clang::BackendAction,
std::unique_ptr<llvm::raw_pwrite_stream,
std::default_delete<llvm::raw_pwrite_stream> >) (bin/clang+0x22cc4df)
#37 0x00000000029bc38b
clang::BackendConsumer::HandleTranslationUnit(clang::ASTContext&)
(bin/clang+0x29bc38b)
#38 0x0000000002dbb022 clang::ParseAST(clang::Sema&, bool, bool)
(bin/clang+0x2dbb022)
#39 0x00000000029bb9cf clang::CodeGenAction::ExecuteAction()
(bin/clang+0x29bb9cf)
#40 0x000000000266c186 clang::FrontendAction::Execute() (bin/clang+0x266c186)
#41 0x00000000026439ee
clang::CompilerInstance::ExecuteAction(clang::FrontendAction&)
(bin/clang+0x26439ee)
#42 0x00000000026fcaeb
clang::ExecuteCompilerInvocation(clang::CompilerInstance*)
(bin/clang+0x26fcaeb)
#43 0x0000000000bd8b18 cc1_main(llvm::ArrayRef<char const*>, char const*,
void*) (bin/clang+0xbd8b18)
#44 0x0000000000b6f1e4 main (bin/clang+0xb6f1e4)
#45 0x00007f6089d5ef45 __libc_start_main
/build/eglibc-SvCtMH/eglibc-2.19/csu/libc-start.c:321:0
#46 0x0000000000bd4109 _start (bin/clang+0xbd4109)
Stack dump:
0.      Program arguments: bin/clang -cc1 -triple x86_64-unknown-linux-gnu
-emit-obj -target-cpu x86-64 -dwarf-column-info -debug-info-kind=limited
-dwarf-version=4 -debugger-tuning=gdb -O2 -std=gnu++14 -w -x c++
/work/creduce/a.ii 
1.      <eof> parser at end of file
2.      Code generation
3.      Running pass 'Function Pass Manager' on module '/work/creduce/a.ii'.
4.      Running pass 'X86 Assembly Printer' on function
'@_Z25GenerateUpdatedTargetInfobbN3__11LI1KNS_1BIS1_EEEE'

-- 
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/20170928/400674cb/attachment-0001.html>


More information about the llvm-bugs mailing list