[PATCH] D29219: [AArch64][TableGen] Skip tied result operands for InstAlias

Matthias Braun via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Feb 8 10:43:02 PST 2017


MatzeB added a comment.

Hi,

the "Clang Stage 2: cmake, R -g Asan+Ubsan" buildbot on greendragon is failing as of build 
#3583. Full log at http://lab.llvm.org:8080/green/job/clang-stage2-cmake-RgSan_build/3583/consoleFull#-1431883905a1ca8a51-895e-46c6-af87-ce24fa4cd561

Given the backtrace this seems like the most likely commit in the change list. Could you please take a look.

Thanks,

  Matthias

FAILED: lib/Target/AArch64/AArch64GenAsmWriter.inc.tmp

cd /Users/buildslave/jenkins/sharedspace/clang-stage2-cmake-RgSan at 2/clang-build/lib/Target/AArch64 && /Users/buildslave/jenkins/sharedspace/clang-stage2-cmake-RgSan at 2/clang-build/bin/llvm-tblgen -gen-asm-writer -I /Users/buildslave/jenkins/sharedspace/clang-stage2-cmake-RgSan at 2/llvm/lib/Target/AArch64 -I /Users/buildslave/jenkins/sharedspace/clang-stage2-cmake-RgSan at 2/llvm/include -I /Users/buildslave/jenkins/sharedspace/clang-stage2-cmake-RgSan at 2/llvm/lib/Target /Users/buildslave/jenkins/sharedspace/clang-stage2-cmake-RgSan at 2/llvm/lib/Target/AArch64/AArch64.td -o /Users/buildslave/jenkins/sharedspace/clang-stage2-cmake-RgSan at 2/clang-build/lib/Target/AArch64/AArch64GenAsmWriter.inc.tmp
======================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================

309==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x615000f8a4e4 at pc 0x00010916bae6 bp 0x7fff56b25fb0 sp 0x7fff56b25fa8
-------------------------------------------------------------------------------------------------------------------------------------

READ of size 4 at 0x615000f8a4e4 thread T0

  #0 0x10916bae5 in (anonymous namespace)::AsmWriterEmitter::EmitPrintAliasInstruction(llvm::raw_ostream&) AsmWriterEmitter.cpp:835
  #1 0x1091514fa in llvm::EmitAsmWriter(llvm::RecordKeeper&, llvm::raw_ostream&) AsmWriterEmitter.cpp:1125
  #2 0x1094b145d in (anonymous namespace)::LLVMTableGenMain(llvm::raw_ostream&, llvm::RecordKeeper&) TableGen.cpp:124
  #3 0x10956b99e in llvm::TableGenMain(char*, bool (*)(llvm::raw_ostream&, llvm::RecordKeeper&)) Main.cpp:109
  #4 0x1094b0d30 in main TableGen.cpp:205
  #5 0x7fff95d095ac in start (libdyld.dylib:x86_64+0x35ac)

0x615000f8a4e4 is located 28 bytes to the left of 504-byte region [0x615000f8a500,0x615000f8a6f8)
allocated by thread T0 here:

  #0 0x109c0ee1b in wrap__Znwm (libclang_rt.asan_osx_dynamic.dylib:x86_64+0x62e1b)
  #1 0x10922e41a in std::__1::__split_buffer<llvm::CGIOperandList::OperandInfo, std::__1::allocator<llvm::CGIOperandList::OperandInfo>&>::__split_buffer(unsigned long, unsigned long, std::__1::allocator<llvm::CGIOperandList::OperandInfo>&) new:215
  #2 0x10921e655 in std::__1::vector<llvm::CGIOperandList::OperandInfo, std::__1::allocator<llvm::CGIOperandList::OperandInfo> >::reserve(unsigned long) __split_buffer:310
  #3 0x10921ad71 in llvm::CGIOperandList::CGIOperandList(llvm::Record*) CodeGenInstruction.cpp:53
  #4 0x10922205e in llvm::CodeGenInstruction::CodeGenInstruction(llvm::Record*) CodeGenInstruction.cpp:28
  #5 0x1092ffda0 in llvm::CodeGenTarget::ReadInstructions() const STLExtras.h:846
  #6 0x1093002ee in llvm::CodeGenTarget::ComputeInstrsByEnum() const CodeGenTarget.h:150
  #7 0x10910fd6f in llvm::CodeGenTarget::getInstructionsByEnumValue() const CodeGenTarget.h:166
  #8 0x1091506df in llvm::EmitAsmWriter(llvm::RecordKeeper&, llvm::raw_ostream&) AsmWriterEmitter.cpp:1113
  #9 0x1094b145d in (anonymous namespace)::LLVMTableGenMain(llvm::raw_ostream&, llvm::RecordKeeper&) TableGen.cpp:124
  #10 0x10956b99e in llvm::TableGenMain(char*, bool (*)(llvm::raw_ostream&, llvm::RecordKeeper&)) Main.cpp:109
  #11 0x1094b0d30 in main TableGen.cpp:205
  #12 0x7fff95d095ac in start (libdyld.dylib:x86_64+0x35ac)

SUMMARY: AddressSanitizer: heap-buffer-overflow AsmWriterEmitter.cpp:835 in (anonymous namespace)::AsmWriterEmitter::EmitPrintAliasInstruction(llvm::raw_ostream&)
Shadow bytes around the buggy address:

  0x1c2a001f1440: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x1c2a001f1450: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x1c2a001f1460: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x1c2a001f1470: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x1c2a001f1480: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 fa

>0x1c2a001f1490: fa fa fa fa fa fa fa fa fa fa fa fa[fa]fa fa fa
================================================================

  0x1c2a001f14a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x1c2a001f14b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x1c2a001f14c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x1c2a001f14d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 fa
  0x1c2a001f14e0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa

Shadow byte legend (one shadow byte represents 8 application bytes):

  Addressable:           00
  Partially addressable: 01 02 03 04 05 06 07 
  Heap left redzone:       fa
  Freed heap region:       fd
  Stack left redzone:      f1
  Stack mid redzone:       f2
  Stack right redzone:     f3
  Stack after return:      f5
  Stack use after scope:   f8
  Global redzone:          f9
  Global init order:       f6
  Poisoned by user:        f7
  Container overflow:      fc
  Array cookie:            ac
  Intra object redzone:    bb
  ASan internal:           fe
  Left alloca redzone:     ca
  Right alloca redzone:    cb

309==ABORTING
-------------


Repository:
  rL LLVM

https://reviews.llvm.org/D29219





More information about the llvm-commits mailing list