[PATCH] D50067: [ARM] Handle signed icmps in ARMCodeGenPrepare
Vitaly Buka via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Aug 15 11:28:31 PDT 2018
vitalybuka added a comment.
http://lab.llvm.org:8011/builders/sanitizer-x86_64-linux-fast/builds/22348/steps/check-llvm%20asan/logs/stdio
Command Output (stderr):
--
=================================================================
==40218==ERROR: AddressSanitizer: use-after-poison on address 0x621000003dc8 at pc 0x00000168d853 bp 0x7fff0ab4e990 sp 0x7fff0ab4e988
READ of size 8 at 0x621000003dc8 thread T0
#0 0x168d852 in getParamType /b/sanitizer-x86_64-linux-fast/build/llvm/include/llvm/IR/DerivedTypes.h:135:49
#1 0x168d852 in Mutate /b/sanitizer-x86_64-linux-fast/build/llvm/lib/Target/ARM/ARMCodeGenPrepare.cpp:463
#2 0x168d852 in TryToPromote /b/sanitizer-x86_64-linux-fast/build/llvm/lib/Target/ARM/ARMCodeGenPrepare.cpp:658
#3 0x168d852 in (anonymous namespace)::ARMCodeGenPrepare::runOnFunction(llvm::Function&) /b/sanitizer-x86_64-linux-fast/build/llvm/lib/Target/ARM/ARMCodeGenPrepare.cpp:697
#4 0x476458d in llvm::FPPassManager::runOnFunction(llvm::Function&) /b/sanitizer-x86_64-linux-fast/build/llvm/lib/IR/LegacyPassManager.cpp:1586:27
#5 0x4764ba2 in llvm::FPPassManager::runOnModule(llvm::Module&) /b/sanitizer-x86_64-linux-fast/build/llvm/lib/IR/LegacyPassManager.cpp:1609:16
#6 0x4765918 in runOnModule /b/sanitizer-x86_64-linux-fast/build/llvm/lib/IR/LegacyPassManager.cpp:1669:27
#7 0x4765918 in llvm::legacy::PassManagerImpl::run(llvm::Module&) /b/sanitizer-x86_64-linux-fast/build/llvm/lib/IR/LegacyPassManager.cpp:1774
#8 0x9f6d5f in compileModule(char**, llvm::LLVMContext&) /b/sanitizer-x86_64-linux-fast/build/llvm/tools/llc/llc.cpp:597:8
#9 0x9f02d0 in main /b/sanitizer-x86_64-linux-fast/build/llvm/tools/llc/llc.cpp:351:22
#10 0x7fdfb54d92e0 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x202e0)
#11 0x8fa609 in _start (/b/sanitizer-x86_64-linux-fast/build/llvm_build_asan/bin/llc+0x8fa609)
0x621000003dc8 is located 200 bytes inside of 4096-byte region [0x621000003d00,0x621000004d00)
allocated by thread T0 here:
#0 0x9b8a58 in malloc /b/sanitizer-x86_64-linux-fast/build/llvm/projects/compiler-rt/lib/asan/asan_malloc_linux.cc:88
#1 0xa1e27c in safe_malloc /b/sanitizer-x86_64-linux-fast/build/llvm/include/llvm/Support/MemAlloc.h:27:18
#2 0xa1e27c in Allocate /b/sanitizer-x86_64-linux-fast/build/llvm/include/llvm/Support/Allocator.h:99
#3 0xa1e27c in llvm::BumpPtrAllocatorImpl<llvm::MallocAllocator, 4096ul, 4096ul>::StartNewSlab() /b/sanitizer-x86_64-linux-fast/build/llvm/include/llvm/Support/Allocator.h:346
#4 0xa1df4e in llvm::BumpPtrAllocatorImpl<llvm::MallocAllocator, 4096ul, 4096ul>::Allocate(unsigned long, unsigned long) /b/sanitizer-x86_64-linux-fast/build/llvm/include/llvm/Support/Allocator.h:260:5
#5 0x482b55a in operator new<llvm::MallocAllocator, 4096, 4096> /b/sanitizer-x86_64-linux-fast/build/llvm/include/llvm/Support/Allocator.h:454:20
#6 0x482b55a in llvm::PointerType::get(llvm::Type*, unsigned int) /b/sanitizer-x86_64-linux-fast/build/llvm/lib/IR/Type.cpp:628
#7 0x685b2fb in getUnqual /b/sanitizer-x86_64-linux-fast/build/llvm/include/llvm/IR/DerivedTypes.h:483:12
#8 0x685b2fb in llvm::LLParser::ParseType(llvm::Type*&, llvm::Twine const&, bool) /b/sanitizer-x86_64-linux-fast/build/llvm/lib/AsmParser/LLParser.cpp:2309
#9 0x68605b4 in ParseType /b/sanitizer-x86_64-linux-fast/build/llvm/lib/AsmParser/LLParser.h:384:14
#10 0x68605b4 in llvm::LLParser::ParseArgumentList(llvm::SmallVectorImpl<llvm::LLParser::ArgInfo>&, bool&) /b/sanitizer-x86_64-linux-fast/build/llvm/lib/AsmParser/LLParser.cpp:2475
#11 0x682abad in llvm::LLParser::ParseFunctionHeader(llvm::Function*&, bool) /b/sanitizer-x86_64-linux-fast/build/llvm/lib/AsmParser/LLParser.cpp:5147:7
#12 0x681e75c in llvm::LLParser::ParseDefine() /b/sanitizer-x86_64-linux-fast/build/llvm/lib/AsmParser/LLParser.cpp:502:10
#13 0x6816ac5 in llvm::LLParser::ParseTopLevelEntities() /b/sanitizer-x86_64-linux-fast/build/llvm/lib/AsmParser/LLParser.cpp:316:33
#14 0x681682b in llvm::LLParser::Run() /b/sanitizer-x86_64-linux-fast/build/llvm/lib/AsmParser/LLParser.cpp:74:10
#15 0x67f0ddb in llvm::parseAssemblyInto(llvm::MemoryBufferRef, llvm::Module*, llvm::ModuleSummaryIndex*, llvm::SMDiagnostic&, llvm::SlotMapping*, bool, llvm::StringRef) /b/sanitizer-x86_64-linux-fast/build/llvm/lib/AsmParser/Parser.cpp:38:8
#16 0x67f1950 in llvm::parseAssembly(llvm::MemoryBufferRef, llvm::SMDiagnostic&, llvm::LLVMContext&, llvm::SlotMapping*, bool, llvm::StringRef) /b/sanitizer-x86_64-linux-fast/build/llvm/lib/AsmParser/Parser.cpp:48:7
#17 0x48fbf3a in llvm::parseIR(llvm::MemoryBufferRef, llvm::SMDiagnostic&, llvm::LLVMContext&, bool, llvm::StringRef) /b/sanitizer-x86_64-linux-fast/build/llvm/lib/IRReader/IRReader.cpp:92:10
#18 0x48fd026 in llvm::parseIRFile(llvm::StringRef, llvm::SMDiagnostic&, llvm::LLVMContext&, bool, llvm::StringRef) /b/sanitizer-x86_64-linux-fast/build/llvm/lib/IRReader/IRReader.cpp:108:10
#19 0x9f11d5 in compileModule(char**, llvm::LLVMContext&) /b/sanitizer-x86_64-linux-fast/build/llvm/tools/llc/llc.cpp:405:11
#20 0x9f02d0 in main /b/sanitizer-x86_64-linux-fast/build/llvm/tools/llc/llc.cpp:351:22
#21 0x7fdfb54d92e0 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x202e0)
SUMMARY: AddressSanitizer: use-after-poison /b/sanitizer-x86_64-linux-fast/build/llvm/include/llvm/IR/DerivedTypes.h:135:49 in getParamType
Shadow bytes around the buggy address:
0x0c427fff8760: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
0x0c427fff8770: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
0x0c427fff8780: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
0x0c427fff8790: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
0x0c427fff87a0: 00 00 00 00 f7 00 00 00 00 00 00 00 00 f7 00 00
=>0x0c427fff87b0: 00 00 f7 00 00 00 00 00 00[f7]00 00 00 00 f7 00
0x0c427fff87c0: 00 00 00 00 00 00 00 f7 00 00 00 00 f7 f7 00 00
0x0c427fff87d0: 00 00 f7 00 00 00 00 00 00 f7 00 00 00 00 f7 f7
0x0c427fff87e0: 00 00 00 00 00 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7
0x0c427fff87f0: f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7
0x0c427fff8800: f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7
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
==40218==ABORTING
FileCheck error: '-' is empty.
FileCheck command line: /b/sanitizer-x86_64-linux-fast/build/llvm_build_asan/bin/FileCheck /b/sanitizer-x86_64-linux-fast/build/llvm/test/CodeGen/ARM/arm-cgp-pointers.ll
--
********************
Testing: 0 .. 10.. 20.. 30.. 40.. 50.. 60.. 70.. 80.. 90..
Testing Time: 217.59s
********************
Failing Tests (1):
LLVM :: CodeGen/ARM/arm-cgp-pointers.ll
Expected Passes : 26315
Expected Failures : 148
Unsupported Tests : 682
Unexpected Failures: 1
FAILED: test/CMakeFiles/check-llvm
cd /b/sanitizer-x86_64-linux-fast/build/llvm_build_asan/test && /usr/bin/python2.7 /b/sanitizer-x86_64-linux-fast/build/llvm_build_asan/./bin/llvm-lit -sv /b/sanitizer-x86_64-linux-fast/build/llvm_build_asan/test
ninja: build stopped: subcommand failed.
+ echo @@@STEP_FAILURE@@@
+ echo @@@BUILD_STEP check-clang asan@@@
@@@STEP_FAILURE@@@
Repository:
rL LLVM
https://reviews.llvm.org/D50067
More information about the llvm-commits
mailing list