[llvm-bugs] [Bug 33622] New: llvm-objdump fails on llvm/ADT/SmallVector.h:153: const_reference llvm::SmallVectorTemplateCommon<llvm::MCOperand, void>::operator[](size_type) const [T = llvm::MCOperand]: Assertion `idx < size()' failed

via llvm-bugs llvm-bugs at lists.llvm.org
Tue Jun 27 21:06:26 PDT 2017


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

            Bug ID: 33622
           Summary: llvm-objdump fails on llvm/ADT/SmallVector.h:153:
                    const_reference
                    llvm::SmallVectorTemplateCommon<llvm::MCOperand,
                    void>::operator[](size_type) const [T =
                    llvm::MCOperand]: Assertion `idx < size()' failed
           Product: libraries
           Version: trunk
          Hardware: PC
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: P
         Component: MC
          Assignee: unassignedbugs at nondot.org
          Reporter: lesliezhai at llvm.org.cn
                CC: llvm-bugs at lists.llvm.org

Created attachment 18726
  --> https://bugs.llvm.org/attachment.cgi?id=18726&action=edit
basic-avr.s

Hi LLVM developers,

basic-avr.s attached.
$ llvm-mc -filetype=obj -triple=avr-unknown-linux -mcpu=atmega328p basic-avr.s
-o /tmp/basic-avr.o
$ ld.lld /tmp/basic-avr.o -o /tmp/basic-avr.o -Ttext=0


$ lldb /data/project/llvm/debug-build/bin/llvm-objdump
(lldb) target create "/data/project/llvm/debug-build/bin/llvm-objdump"
Current executable set to '/data/project/llvm/debug-build/bin/llvm-objdump'
(x86_64).
(lldb) r -d /tmp/basic-avr
Process 8788 launched: '/data/project/llvm/debug-build/bin/llvm-objdump'
(x86_64)

/tmp/basic-avr: file format ELF32-avr

Disassembly of section .text:
main:
   11000:       0e 94 02 88  <unknown>

foo:
   11004:       c3 94   inc     llvm-objdump:
/data/project/llvm/include/llvm/ADT/SmallVector.h:153: const_reference
llvm::SmallVectorTemplateCommon<llvm::MCOperand, void>::operator[](size_type)
const [T = llvm::MCOperand]: Assertion `idx < size()' failed.
Process 8788 stopped
* thread #1: tid = 8788, 0x00007fffeffaa8df libc.so.6`__GI_raise + 159, name =
'llvm-objdump', stop reason = signal SIGABRT
    frame #0: 0x00007fffeffaa8df libc.so.6`__GI_raise + 159
libc.so.6`__GI_raise:
->  0x7fffeffaa8df <+159>: movl   %r8d, %eax
    0x7fffeffaa8e2 <+162>: addq   $0x90, %rsp
    0x7fffeffaa8e9 <+169>: retq   
    0x7fffeffaa8ea <+170>: nopw   (%rax,%rax)


(lldb) bt
* thread #1: tid = 8788, 0x00007fffeffaa8df libc.so.6`__GI_raise + 159, name =
'llvm-objdump', stop reason = signal SIGABRT
  * frame #0: 0x00007fffeffaa8df libc.so.6`__GI_raise + 159
    frame #1: 0x00007fffeffac4da libc.so.6`__GI_abort + 362
    frame #2: 0x00007fffeffa2d67 libc.so.6`__assert_fail_base + 279
    frame #3: 0x00007fffeffa2e12 libc.so.6`__GI___assert_fail + 66
    frame #4: 0x00007ffff394bf6e
libLLVM-5.0svn.so`llvm::MCInst::getOperand(unsigned int) const [inlined]
llvm::SmallVectorTemplateCommon<llvm::MCOperand,
void>::operator[](this=0x00007fffffffbf60, idx=0) const + 86 at
SmallVector.h:153
    frame #5: 0x00007ffff394bf18
libLLVM-5.0svn.so`llvm::MCInst::getOperand(this=0x00007fffffffbf50, i=0) const
+ 40 at MCInst.h:173
    frame #6: 0x00007ffff47fbe0e
libLLVM-5.0svn.so`llvm::AVRInstPrinter::printOperand(this=0x0000000000770aa0,
MI=0x00007fffffffbf50, OpNo=0, O=0x00007ffff7d73ac0) + 46 at
AVRInstPrinter.cpp:103
    frame #7: 0x00007ffff47fbaf9
libLLVM-5.0svn.so`llvm::AVRInstPrinter::printInstruction(this=0x0000000000770aa0,
MI=0x00007fffffffbf50, O=0x00007ffff7d73ac0) + 313 at AVRGenAsmWriter.inc:727
    frame #8: 0x00007ffff47fd3f3
libLLVM-5.0svn.so`llvm::AVRInstPrinter::printInst(this=0x0000000000770aa0,
MI=0x00007fffffffbf50, O=0x00007ffff7d73ac0, Annot=(Data = "", Length = 0),
STI=0x0000000000767660) + 579 at AVRInstPrinter.cpp:82
    frame #9: 0x0000000000425aa8 llvm-objdump`(anonymous
namespace)::PrettyPrinter::printInst(this=0x0000000000720b30,
IP=0x0000000000770aa0, MI=0x00007fffffffbf50, Bytes=(Data =
"Ô\f\x94\x02\x88Linker: LLD 5.0.0 (trunk 306352)", Length = 2), Address=69636,
OS=0x00007ffff7d73ac0, Annot=(Data = "", Length = 0), STI=0x0000000000767660,
SP=0x00007fffffffc898)::SourcePrinter*) + 728 at llvm-objdump.cpp:525
    frame #10: 0x00000000004341ff
llvm-objdump`DisassembleObject(Obj=0x00000000007672f0, InlineRelocs=false) +
19727 at llvm-objdump.cpp:1583
    frame #11: 0x000000000042ef08 llvm-objdump`DumpObject(o=0x00000000007672f0,
a=0x0000000000000000) + 616 at llvm-objdump.cpp:2037
    frame #12: 0x0000000000425728 llvm-objdump`DumpInput(file=(Data =
"/tmp/basic-avr", Length = 14)) + 440 at llvm-objdump.cpp:2129
    frame #13: 0x000000000043cb92 llvm-objdump`void
(__first=__normal_iterator<std::__cxx11::basic_string<char> *,
std::vector<std::__cxx11::basic_string<char>,
std::allocator<std::__cxx11::basic_string<char> > > > @ 0x00007fffffffdb28,
__last=__normal_iterator<std::__cxx11::basic_string<char> *,
std::vector<std::__cxx11::basic_string<char>,
std::allocator<std::__cxx11::basic_string<char> > > > @ 0x00007fffffffdb20,
__f=(llvm-objdump`DumpInput(llvm::StringRef) at
llvm-objdump.cpp:2110))(llvm::StringRef)>(__gnu_cxx::__normal_iterator<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> >*,
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> > > > >,
__gnu_cxx::__normal_iterator<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> >*,
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> > > > >, void
(*)(llvm::StringRef)))(llvm::StringRef) + 130 at stl_algo.h:3769
    frame #14: 0x0000000000425509 llvm-objdump`main(argc=3,
argv=0x00007fffffffde48) + 3065 at llvm-objdump.cpp:2189
    frame #15: 0x00007fffeff95401 libc.so.6`__libc_start_main + 241
    frame #16: 0x000000000042053a llvm-objdump`_start + 42

Regards,
Leslie Zhai

-- 
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/20170628/c2039a0f/attachment-0001.html>


More information about the llvm-bugs mailing list