[PATCH] D21849: [AMDGPU] Add metadata for runtime

Vitaly Buka via llvm-commits llvm-commits at lists.llvm.org
Fri Jul 15 11:39:47 PDT 2016


vitalybuka added a subscriber: vitalybuka.
vitalybuka added a comment.

The patch introduced this bug:
http://lab.llvm.org:8011/builders/sanitizer-x86_64-linux-fast/builds/14683/steps/check-llvm%20asan/logs/stdio

- Testing: 17287 tests, 32 threads --

Testing: 0 .. 10.. 
FAIL: LLVM :: CodeGen/AMDGPU/runtime-metadata.ll (3679 of 17287)

- TEST 'LLVM :: CodeGen/AMDGPU/runtime-metadata.ll' FAILED ********************

Script:
-------

/mnt/b/sanitizer-buildbot3/sanitizer-x86_64-linux-fast/build/llvm_build_asan/./bin/llc -mtriple=amdgcn--amdhsa < /mnt/b/sanitizer-buildbot3/sanitizer-x86_64-linux-fast/build/llvm/test/CodeGen/AMDGPU/runtime-metadata.ll | /mnt/b/sanitizer-buildbot3/sanitizer-x86_64-linux-fast/build/llvm_build_asan/./bin/FileCheck /mnt/b/sanitizer-buildbot3/sanitizer-x86_64-linux-fast/build/llvm/test/CodeGen/AMDGPU/runtime-metadata.ll
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Exit Code: 1

Command Output (stderr):
------------------------




13646==ERROR: AddressSanitizer: stack-use-after-return on address 0x7f5ec046d420 at pc 0x000003e4c5c0 bp 0x7ffcbefec430 sp 0x7ffcbefec428
-----------------------------------------------------------------------------------------------------------------------------------------

READ of size 8 at 0x7f5ec046d420 thread T0

  #0 0x3e4c5bf in print /mnt/b/sanitizer-buildbot3/sanitizer-x86_64-linux-fast/build/llvm/lib/Support/Twine.cpp:152:21
  #1 0x3e4c5bf in llvm::Twine::printOneChild(llvm::raw_ostream&, llvm::Twine::Child, llvm::Twine::NodeKind) const /mnt/b/sanitizer-buildbot3/sanitizer-x86_64-linux-fast/build/llvm/lib/Support/Twine.cpp:57
  #2 0x3e4b7ae in print /mnt/b/sanitizer-buildbot3/sanitizer-x86_64-linux-fast/build/llvm/lib/Support/Twine.cpp:152:3
  #3 0x3e4b7ae in toVector /mnt/b/sanitizer-buildbot3/sanitizer-x86_64-linux-fast/build/llvm/lib/Support/Twine.cpp:28
  #4 0x3e4b7ae in llvm::Twine::toStringRef(llvm::SmallVectorImpl<char>&) const /mnt/b/sanitizer-buildbot3/sanitizer-x86_64-linux-fast/build/llvm/include/llvm/ADT/Twine.h:455
  #5 0x3e4b4b5 in llvm::Twine::str() const /mnt/b/sanitizer-buildbot3/sanitizer-x86_64-linux-fast/build/llvm/lib/Support/Twine.cpp:23:10
  #6 0xc1a0c1 in llvm::AMDGPUAsmPrinter::emitRuntimeMetadata(llvm::Function const&) /mnt/b/sanitizer-buildbot3/sanitizer-x86_64-linux-fast/build/llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp:964:44
  #7 0xc130e1 in llvm::AMDGPUAsmPrinter::runOnMachineFunction(llvm::MachineFunction&) /mnt/b/sanitizer-buildbot3/sanitizer-x86_64-linux-fast/build/llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp:250:3
  #8 0x2b9d253 in llvm::MachineFunctionPass::runOnFunction(llvm::Function&) /mnt/b/sanitizer-buildbot3/sanitizer-x86_64-linux-fast/build/llvm/lib/CodeGen/MachineFunctionPass.cpp:60:13
  #9 0x32d73e8 in llvm::FPPassManager::runOnFunction(llvm::Function&) /mnt/b/sanitizer-buildbot3/sanitizer-x86_64-linux-fast/build/llvm/lib/IR/LegacyPassManager.cpp:1526:27
  #10 0x32d7945 in llvm::FPPassManager::runOnModule(llvm::Module&) /mnt/b/sanitizer-buildbot3/sanitizer-x86_64-linux-fast/build/llvm/lib/IR/LegacyPassManager.cpp:1547:16
  #11 0x32d8703 in runOnModule /mnt/b/sanitizer-buildbot3/sanitizer-x86_64-linux-fast/build/llvm/lib/IR/LegacyPassManager.cpp:1603:27
  #12 0x32d8703 in llvm::legacy::PassManagerImpl::run(llvm::Module&) /mnt/b/sanitizer-buildbot3/sanitizer-x86_64-linux-fast/build/llvm/lib/IR/LegacyPassManager.cpp:1706
  #13 0x7f129d in compileModule(char**, llvm::LLVMContext&) /mnt/b/sanitizer-buildbot3/sanitizer-x86_64-linux-fast/build/llvm/tools/llc/llc.cpp:487:8
  #14 0x7eb7fa in main /mnt/b/sanitizer-buildbot3/sanitizer-x86_64-linux-fast/build/llvm/tools/llc/llc.cpp:265:22
  #15 0x7f5ec376af44 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x21f44)
  #16 0x6ea4ca in _start (/mnt/b/sanitizer-buildbot3/sanitizer-x86_64-linux-fast/build/llvm_build_asan/bin/llc+0x6ea4ca)

Address 0x7f5ec046d420 is located in stack of thread T0 at offset 32 in frame

    #0 0xc1b3af in getOCLTypeName(llvm::Type*, bool) /mnt/b/sanitizer-buildbot3/sanitizer-x86_64-linux-fast/build/llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp:798
  
  This frame has 6 object(s):
    [32, 56) 'ref.tmp' <== Memory access at offset 32 is inside this variable
    [96, 120) 'ref.tmp4'
    [160, 184) 'ref.tmp11'
    [224, 248) 'ref.tmp12'
    [288, 312) 'ref.tmp20'
    [352, 376) 'ref.tmp21'

HINT: this may be a false positive if your program uses some custom stack unwind mechanism or swapcontext

  (longjmp and C++ exceptions *are* supported)

SUMMARY: AddressSanitizer: stack-use-after-return /mnt/b/sanitizer-buildbot3/sanitizer-x86_64-linux-fast/build/llvm/lib/Support/Twine.cpp:152:21 in print
Shadow bytes around the buggy address:

  0x0fec58085a30: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5
  0x0fec58085a40: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5
  0x0fec58085a50: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5
  0x0fec58085a60: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5
  0x0fec58085a70: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5

>0x0fec58085a80: f5 f5 f5 f5[f5]f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5
================================================================

  0x0fec58085a90: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5
  0x0fec58085aa0: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5
  0x0fec58085ab0: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5
  0x0fec58085ac0: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5
  0x0fec58085ad0: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5

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
  Heap right redzone:      fb
  Freed heap region:       fd
  Stack left redzone:      f1
  Stack mid redzone:       f2
  Stack right redzone:     f3
  Stack partial redzone:   f4
  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

13646==ABORTING
---------------

/mnt/b/sanitizer-buildbot3/sanitizer-x86_64-linux-fast/build/llvm/test/CodeGen/AMDGPU/runtime-metadata.ll:697:15: error: expected string not found in input
; CHECK-LABEL:{{^}}test_arg_ptr_to_ptr:

  ^

<stdin>:2208:30: note: scanning from here
test_wgs_hint_vec_type_hint: ; @test_wgs_hint_vec_type_hint

  ^

<stdin>:2240:11: note: possible intended match here
 enable_sgpr_kernarg_segment_ptr = 1

  ^


Repository:
  rL LLVM

https://reviews.llvm.org/D21849





More information about the llvm-commits mailing list