v.g.vassilev added a comment. In D104898#2855751 <https://reviews.llvm.org/D104898#2855751>, @hctim wrote:
> Hi, looks like this change caused a regression on the sanitizer buildbots > (https://lab.llvm.org/buildbot/#/builders/169/builds/1290/steps/25/logs/stdio). > Error copied below for your convenience. > > Can be repro'd using the bot instructions at > https://github.com/google/sanitizers/wiki/SanitizerBotReproduceBuild, or > (should be possible) by using `cmake -DLLVM_USE_SANITIZER=Address -GNinja && > ninja check-clang`. > > ******************** TEST 'Clang :: Interpreter/execute.cpp' FAILED > ******************** > Script: > -- > : 'RUN: at line 1'; > /b/sanitizer-x86_64-linux-fast/build/llvm_build_asan/bin/clang-repl "int i = > 10;" 'extern "C" int printf(const char*,...);' 'auto r1 = > printf("i = %d\n", i);' | > /b/sanitizer-x86_64-linux-fast/build/llvm_build_asan/bin/FileCheck > --check-prefix=CHECK-DRIVER > /b/sanitizer-x86_64-linux-fast/build/llvm-project/clang/test/Interpreter/execute.cpp > : 'RUN: at line 8'; cat > /b/sanitizer-x86_64-linux-fast/build/llvm-project/clang/test/Interpreter/execute.cpp > | /b/sanitizer-x86_64-linux-fast/build/llvm_build_asan/bin/clang-repl | > /b/sanitizer-x86_64-linux-fast/build/llvm_build_asan/bin/FileCheck > /b/sanitizer-x86_64-linux-fast/build/llvm-project/clang/test/Interpreter/execute.cpp > -- > Exit Code: 1 > Command Output (stderr): > -- > ================================================================= > ==67042==ERROR: LeakSanitizer: detected memory leaks > Direct leak of 3384 byte(s) in 3 object(s) allocated from: > #0 0x44fbefd in operator new(unsigned long) > /b/s/w/ir/cache/builder/src/third_party/llvm/compiler-rt/lib/asan/asan_new_delete.cpp:95:3 > #1 0x4bb65ad in > llvm::RegisterTargetMachine<llvm::X86TargetMachine>::Allocator(llvm::Target > const&, llvm::Triple const&, llvm::StringRef, llvm::StringRef, > llvm::TargetOptions const&, llvm::Optional<llvm::Reloc::Model>, > llvm::Optional<llvm::CodeModel::Model>, llvm::CodeGenOpt::Level, bool) > /b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/include/llvm/Support/TargetRegistry.h:1209:12 > #2 0x6acad7f in createTargetMachine > /b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/include/llvm/Support/TargetRegistry.h:429:12 > #3 0x6acad7f in (anonymous > namespace)::EmitAssemblyHelper::CreateTargetMachine(bool) > /b/sanitizer-x86_64-linux-fast/build/llvm-project/clang/lib/CodeGen/BackendUtil.cpp:907:23 > #4 0x6ab5a43 in (anonymous > namespace)::EmitAssemblyHelper::EmitAssemblyWithNewPassManager(clang::BackendAction, > std::__1::unique_ptr<llvm::raw_pwrite_stream, > std::__1::default_delete<llvm::raw_pwrite_stream> >) > /b/sanitizer-x86_64-linux-fast/build/llvm-project/clang/lib/CodeGen/BackendUtil.cpp:1195:3 > #5 0x6aac51b in clang::EmitBackendOutput(clang::DiagnosticsEngine&, > clang::HeaderSearchOptions const&, clang::CodeGenOptions const&, > clang::TargetOptions const&, clang::LangOptions const&, llvm::StringRef, > llvm::Module*, clang::BackendAction, > std::__1::unique_ptr<llvm::raw_pwrite_stream, > std::__1::default_delete<llvm::raw_pwrite_stream> >) > /b/sanitizer-x86_64-linux-fast/build/llvm-project/clang/lib/CodeGen/BackendUtil.cpp:1654:15 > #6 0x6aa0610 in > clang::BackendConsumer::HandleTranslationUnit(clang::ASTContext&) > /b/sanitizer-x86_64-linux-fast/build/llvm-project/clang/lib/CodeGen/CodeGenAction.cpp:334:7 > #7 0x59ba3bf in clang::IncrementalParser::ParseOrWrapTopLevelDecl() > /b/sanitizer-x86_64-linux-fast/build/llvm-project/clang/lib/Interpreter/IncrementalParser.cpp:177:13 > #8 0x59bc084 in clang::IncrementalParser::Parse(llvm::StringRef) > /b/sanitizer-x86_64-linux-fast/build/llvm-project/clang/lib/Interpreter/IncrementalParser.cpp:227:27 > #9 0x585dd64 in clang::Interpreter::Parse(llvm::StringRef) > /b/sanitizer-x86_64-linux-fast/build/llvm-project/clang/lib/Interpreter/Interpreter.cpp:202:22 > #10 0x4501f45 in clang::Interpreter::ParseAndExecute(llvm::StringRef) > /b/sanitizer-x86_64-linux-fast/build/llvm-project/clang/include/clang/Interpreter/Interpreter.h:61:29 > #11 0x4500605 in main > /b/sanitizer-x86_64-linux-fast/build/llvm-project/clang/tools/clang-repl/ClangRepl.cpp:95:30 > #12 0x7f625d26909a in __libc_start_main > (/lib/x86_64-linux-gnu/libc.so.6+0x2409a) Thanks @hctim! I can reproduce the issue and I have a fix but I do not understand it: diff diff --git a/clang/test/Interpreter/execute.cpp b/clang/test/Interpreter/execute.cpp index 730796bd4016..298046c068c3 100644 --- a/clang/test/Interpreter/execute.cpp +++ b/clang/test/Interpreter/execute.cpp @@ -2,11 +2,8 @@ // RUN: 'auto r1 = printf("i = %d\n", i);' | FileCheck --check-prefix=CHECK-DRIVER %s // REQUIRES: host-supports-jit // UNSUPPORTED: system-aix - // CHECK-DRIVER: i = 10 - // RUN: cat %s | clang-repl | FileCheck %s - extern "C" int printf(const char *, ...); int i = 42; auto r1 = printf("i = %d\n", i); @@ -16,5 +13,4 @@ struct S { float f = 1.0; S *m = nullptr;} s; auto r2 = printf("S[f=%f, m=0x%llx]\n", s.f, reinterpret_cast<unsigned long long>(s.m)); // CHECK-NEXT: S[f=1.000000, m=0x0] - quit The original test in `execute.cpp` failed not the one that this review introduces. I suspect that somehow the `cat` command fails to pipe the `quit` to the interpreter due to new/empty lines... Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D104898/new/ https://reviews.llvm.org/D104898 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits