New issue
Advanced search Search tips

Issue 647380 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Sep 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug



Sign in to add a comment

Intermittent Windows clang failures on the PDFium waterfall, llvm-build/Release+Asserts missing

Project Member Reported by dsinclair@chromium.org, Sep 15 2016

Issue description

Our windows build bots (windows_xfa_clang_32 and windows_xfa_clang) are both experiencing random build failures similar to the below. It looks like it's a system level problem, and the build don't always fail. Looking at the bot page (https://build.chromium.org/p/client.pdfium/builders/windows_xfa_clang) it seems like the failures happen on multiple build machines, but only 64 or 32 bit failures on each machine.


[1/2198] CXX obj/build/config/sanitizers/options_sources/sanitizer_options.obj
FAILED: obj/build/config/sanitizers/options_sources/sanitizer_options.obj 
../../third_party/llvm-build/Release+Asserts/bin/clang-cl.exe /nologo /showIncludes /FC @obj/build/config/sanitizers/options_sources/sanitizer_options.obj.rsp /c ../../build/sanitizers/sanitizer_options.cc /Foobj/build/config/sanitizers/options_sources/sanitizer_options.obj /Fd"obj/build/config/sanitizers/options_sources_cc.pdb"
CreateProcess failed: The system cannot find the file specified.
[2/2198] CXX obj/testing/gmock/gmock/gmock-cardinalities.obj
FAILED: obj/testing/gmock/gmock/gmock-cardinalities.obj 
../../third_party/llvm-build/Release+Asserts/bin/clang-cl.exe /nologo /showIncludes /FC @obj/testing/gmock/gmock/gmock-cardinalities.obj.rsp /c ../../testing/gmock/src/gmock-cardinalities.cc /Foobj/testing/gmock/gmock/gmock-cardinalities.obj /Fd"obj/testing/gmock/gmock_cc.pdb"
CreateProcess failed: The system cannot find the file specified.
[3/2198] CXX obj/testing/gmock/gmock/gmock-internal-utils.obj
FAILED: obj/testing/gmock/gmock/gmock-internal-utils.obj 
../../third_party/llvm-build/Release+Asserts/bin/clang-cl.exe /nologo /showIncludes /FC @obj/testing/gmock/gmock/gmock-internal-utils.obj.rsp /c ../../testing/gmock/src/gmock-internal-utils.cc /Foobj/testing/gmock/gmock/gmock-internal-utils.obj /Fd"obj/testing/gmock/gmock_cc.pdb"
CreateProcess failed: The system cannot find the file specified.
[4/2198] CXX obj/testing/gmock/gmock/gmock-matchers.obj
FAILED: obj/testing/gmock/gmock/gmock-matchers.obj 
../../third_party/llvm-build/Release+Asserts/bin/clang-cl.exe /nologo /showIncludes /FC @obj/testing/gmock/gmock/gmock-matchers.obj.rsp /c ../../testing/gmock/src/gmock-matchers.cc /Foobj/testing/gmock/gmock/gmock-matchers.obj /Fd"obj/testing/gmock/gmock_cc.pdb"
CreateProcess failed: The system cannot find the file specified.
[5/2198] CXX obj/testing/gmock/gmock/gmock-spec-builders.obj
FAILED: obj/testing/gmock/gmock/gmock-spec-builders.obj 
../../third_party/llvm-build/Release+Asserts/bin/clang-cl.exe /nologo /showIncludes /FC @obj/testing/gmock/gmock/gmock-spec-builders.obj.rsp /c ../../testing/gmock/src/gmock-spec-builders.cc /Foobj/testing/gmock/gmock/gmock-spec-builders.obj /Fd"obj/testing/gmock/gmock_cc.pdb"
CreateProcess failed: The system cannot find the file specified.
[6/2198] CXX obj/testing/gmock/gmock/gmock.obj
FAILED: obj/testing/gmock/gmock/gmock.obj 
../../third_party/llvm-build/Release+Asserts/bin/clang-cl.exe /nologo /showIncludes /FC @obj/testing/gmock/gmock/gmock.obj.rsp /c ../../testing/gmock/src/gmock.cc /Foobj/testing/gmock/gmock/gmock.obj /Fd"obj/testing/gmock/gmock_cc.pdb"
CreateProcess failed: The system cannot find the file specified.
[7/2198] CXX obj/testing/gmock/gmock_main/gmock_main.obj
FAILED: obj/testing/gmock/gmock_main/gmock_main.obj 
../../third_party/llvm-build/Release+Asserts/bin/clang-cl.exe /nologo /showIncludes /FC @obj/testing/gmock/gmock_main/gmock_main.obj.rsp /c ../../testing/gmock/src/gmock_main.cc /Foobj/testing/gmock/gmock_main/gmock_main.obj /Fd"obj/testing/gmock/gmock_main_cc.pdb"
CreateProcess failed: The system cannot find the file specified.
[8/2198] CXX obj/testing/gtest/gtest/gtest-death-test.obj
FAILED: obj/testing/gtest/gtest/gtest-death-test.obj 
../../third_party/llvm-build/Release+Asserts/bin/clang-cl.exe /nologo /showIncludes /FC @obj/testing/gtest/gtest/gtest-death-test.obj.rsp /c ../../testing/gtest/src/gtest-death-test.cc /Foobj/testing/gtest/gtest/gtest-death-test.obj /Fd"obj/testing/gtest/gtest_cc.pdb"
CreateProcess failed: The system cannot find the file specified.
step returned non-zero exit code: 1
 
Labels: Infra-Troopers
Status: Available (was: Untriaged)
Looks like those are only happening on the vm115-m3 build slave (other slaves have been running windows_xfa_clang just fine).  Might be something wrong with that VM. 

Trooper should probably investigate.
Cc: dpranke@chromium.org thakis@chromium.org
Components: -Infra Build
Summary: Intermittent Windows clang failures on the PDFium waterfall, llvm-build/Release+Asserts missing (was: Intermittent Windows clang failures on the PDFium waterfall.)
tl;dr Seems to be related to GYP_DEFINES env var no longer present.

b/build/slave/windows_xfa_clang/build/pdfium/third_party/llvm-build directory is missing on vm115-m3.

It is supposed to be updated by https://chromium.googlesource.com/chromium/src/tools/clang/+/master/scripts/update.py that is called in "gclient runhooks" step with --if-needed arg (https://build.chromium.org/p/client.pdfium/builders/windows_xfa_clang/builds/1056/steps/gclient%20runhooks/logs/stdio).

The update script suspiciously references GYP_DEFINES env var that is no longer present. I think vm115-m3 checkout was deleted at some point, and on a next run it didn't fetch llvm-tools, as it was supposed to, because the script assumed it "wasn't needed".

I'll manually create third_party/llvm-build/Release+Asserts, it should enable back LLVM updates (temporary), but someone who knows how this all fits together should review https://chromium.googlesource.com/chromium/src/tools/clang/+/master/scripts/update.py to make sure it works in GN world.

Also consider removing --if-needed here: https://pdfium.googlesource.com/pdfium.git/+/master/DEPS#170
Cc: thestig@chromium.org
If you have hooks running that need to conditionally do things, then you will need GYP_DEFINES to still be set. And, yes, since it looks like this is a win clang builder, you probably still need GYP_DEFINES=clang=1
Project Member

Comment 4 by bugdroid1@chromium.org, Sep 19 2016

The following revision refers to this bug:
  https://pdfium.googlesource.com/pdfium.git/+/b12fbddece4339c583524401f9b1465d968b3ae6

commit b12fbddece4339c583524401f9b1465d968b3ae6
Author: dsinclair <dsinclair@chromium.org>
Date: Mon Sep 19 17:45:14 2016

Update DEPS to always pull clang.

If the --if-needed argument is passed to the clang update script then we depend
on GYP_DEFINES to be set in order to update clang. We no longer define
GYP_DEFINES so we fail to update clang (or checkout clang).

BUG= chromium:647380 

Review-Url: https://codereview.chromium.org/2350093002

[modify] https://crrev.com/b12fbddece4339c583524401f9b1465d968b3ae6/DEPS

Owner: dsinclair@chromium.org
Status: Fixed (was: Available)
Project Member

Comment 6 by bugdroid1@chromium.org, Sep 19 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/056beadb66401109395f56126a57ecfecbd77156

commit 056beadb66401109395f56126a57ecfecbd77156
Author: pdfium-deps-roller <pdfium-deps-roller@chromium.org>
Date: Mon Sep 19 19:16:13 2016

Roll src/third_party/pdfium/ a5b37f6b9..b12fbddec (2 commits).

https://pdfium.googlesource.com/pdfium.git/+log/a5b37f6b916f..b12fbddece43

$ git log a5b37f6b9..b12fbddec --date=short --no-merges --format='%ad %ae %s'
2016-09-19 dsinclair Update DEPS to always pull clang.
2016-09-19 tsepez Clean up CPDF_Stream.

BUG= 647380 

TBR=dsinclair@chromium.org

Review-Url: https://codereview.chromium.org/2350173003
Cr-Commit-Position: refs/heads/master@{#419526}

[modify] https://crrev.com/056beadb66401109395f56126a57ecfecbd77156/DEPS

Sign in to add a comment