New issue
Advanced search Search tips

Issue 603603 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Apr 2016
Cc:
EstimatedDays: ----
NextAction: ----
OS: Windows
Pri: 2
Type: Bug



Sign in to add a comment

Abort copying MSVC DLLs on error in gyp_chromium script

Project Member Reported by gab@chromium.org, Apr 14 2016

Issue description

So I have just been fumbling over a dependency issues for hours only to realize now that there was a clear error diagnosis message hidden in the gyp_chromium spew (see below).

Can we exit the script early on error (i.e. have the last message be the error)?

Broken run:

D:\src\chrome\src>python build\gyp_chromium
Enabled Psyco JIT.
Updating projects from gyp files...
gyp: Dependency 'D:\src\chrome\src\chrome\chrome.gyp:common_constants#target' not found while trying to load target D:\src\chrome\src\chrome\chrome.gyp:chrome_initial#target
Copying D:\depot_tools\win_toolchain\vs_files\95ddda401ec5678f15eeed01d2bee08fcbc5ee97\sys32\msvcp140d.dll to D:\src\chrome\src\out\Debug\msvcp140d.dll...
Copying D:\depot_tools\win_toolchain\vs_files\95ddda401ec5678f15eeed01d2bee08fcbc5ee97\sys32\vccorlib140d.dll to D:\src\chrome\src\out\Debug\vccorlib140d.dll...
Copying D:\depot_tools\win_toolchain\vs_files\95ddda401ec5678f15eeed01d2bee08fcbc5ee97\sys32\vcruntime140d.dll to D:\src\chrome\src\out\Debug\vcruntime140d.dll...
Copying D:\depot_tools\win_toolchain\vs_files\95ddda401ec5678f15eeed01d2bee08fcbc5ee97\sys32\api-ms-win-*.dll to D:\src\chrome\src\out\Debug...
Copying D:\depot_tools\win_toolchain\vs_files\95ddda401ec5678f15eeed01d2bee08fcbc5ee97\sys32\ucrtbased.dll to D:\src\chrome\src\out\Debug\ucrtbased.dll...
Copying D:\depot_tools\win_toolchain\vs_files\95ddda401ec5678f15eeed01d2bee08fcbc5ee97\sys32\msvcp140.dll to D:\src\chrome\src\out\Release\msvcp140.dll...
Copying D:\depot_tools\win_toolchain\vs_files\95ddda401ec5678f15eeed01d2bee08fcbc5ee97\sys32\vccorlib140.dll to D:\src\chrome\src\out\Release\vccorlib140.dll...
Copying D:\depot_tools\win_toolchain\vs_files\95ddda401ec5678f15eeed01d2bee08fcbc5ee97\sys32\vcruntime140.dll to D:\src\chrome\src\out\Release\vcruntime140.dll...
Copying D:\depot_tools\win_toolchain\vs_files\95ddda401ec5678f15eeed01d2bee08fcbc5ee97\sys32\api-ms-win-*.dll to D:\src\chrome\src\out\Release...
Copying D:\depot_tools\win_toolchain\vs_files\95ddda401ec5678f15eeed01d2bee08fcbc5ee97\sys32\ucrtbase.dll to D:\src\chrome\src\out\Release\ucrtbase.dll...
Copying D:\depot_tools\win_toolchain\vs_files\95ddda401ec5678f15eeed01d2bee08fcbc5ee97\VC\bin\pgort140.dll to D:\src\chrome\src\out\Release\pgort140.dll...
Copying D:\depot_tools\win_toolchain\vs_files\95ddda401ec5678f15eeed01d2bee08fcbc5ee97\sys64\msvcp140d.dll to D:\src\chrome\src\out\Debug_x64\msvcp140d.dll...
Copying D:\depot_tools\win_toolchain\vs_files\95ddda401ec5678f15eeed01d2bee08fcbc5ee97\sys64\api-ms-win-*.dll to D:\src\chrome\src\out\Debug_x64...
Copying D:\depot_tools\win_toolchain\vs_files\95ddda401ec5678f15eeed01d2bee08fcbc5ee97\sys64\ucrtbased.dll to D:\src\chrome\src\out\Debug_x64\ucrtbased.dll...
Copying D:\depot_tools\win_toolchain\vs_files\95ddda401ec5678f15eeed01d2bee08fcbc5ee97\sys64\msvcp140.dll to D:\src\chrome\src\out\Release_x64\msvcp140.dll...
Copying D:\depot_tools\win_toolchain\vs_files\95ddda401ec5678f15eeed01d2bee08fcbc5ee97\sys64\vcruntime140.dll to D:\src\chrome\src\out\Release_x64\vcruntime140.dll...
Copying D:\depot_tools\win_toolchain\vs_files\95ddda401ec5678f15eeed01d2bee08fcbc5ee97\sys64\api-ms-win-*.dll to D:\src\chrome\src\out\Release_x64...
Copying D:\depot_tools\win_toolchain\vs_files\95ddda401ec5678f15eeed01d2bee08fcbc5ee97\sys64\ucrtbase.dll to D:\src\chrome\src\out\Release_x64\ucrtbase.dll...
Copying D:\depot_tools\win_toolchain\vs_files\95ddda401ec5678f15eeed01d2bee08fcbc5ee97\VC\bin\amd64\pgort140.dll to D:\src\chrome\src\out\Release_x64\pgort140.dll...
Copying D:\depot_tools\win_toolchain\vs_files\95ddda401ec5678f15eeed01d2bee08fcbc5ee97\sys64\msvcp140d.dll to D:\src\chrome\src\out\Debug\x64\msvcp140d.dll...
Copying D:\depot_tools\win_toolchain\vs_files\95ddda401ec5678f15eeed01d2bee08fcbc5ee97\sys64\api-ms-win-*.dll to D:\src\chrome\src\out\Debug\x64...
Copying D:\depot_tools\win_toolchain\vs_files\95ddda401ec5678f15eeed01d2bee08fcbc5ee97\sys64\ucrtbased.dll to D:\src\chrome\src\out\Debug\x64\ucrtbased.dll...
Copying D:\depot_tools\win_toolchain\vs_files\95ddda401ec5678f15eeed01d2bee08fcbc5ee97\sys64\msvcp140.dll to D:\src\chrome\src\out\Release\x64\msvcp140.dll...
Copying D:\depot_tools\win_toolchain\vs_files\95ddda401ec5678f15eeed01d2bee08fcbc5ee97\sys64\vcruntime140.dll to D:\src\chrome\src\out\Release\x64\vcruntime140.dll...
Copying D:\depot_tools\win_toolchain\vs_files\95ddda401ec5678f15eeed01d2bee08fcbc5ee97\sys64\api-ms-win-*.dll to D:\src\chrome\src\out\Release\x64...
Copying D:\depot_tools\win_toolchain\vs_files\95ddda401ec5678f15eeed01d2bee08fcbc5ee97\sys64\ucrtbase.dll to D:\src\chrome\src\out\Release\x64\ucrtbase.dll...
Copying D:\depot_tools\win_toolchain\vs_files\95ddda401ec5678f15eeed01d2bee08fcbc5ee97\VC\bin\amd64\pgort140.dll to D:\src\chrome\src\out\Release\x64\pgort140.dll...

Fixed run:

D:\src\chrome\src>python build\gyp_chromium
Enabled Psyco JIT.
Updating projects from gyp files...
Copying D:\depot_tools\win_toolchain\vs_files\95ddda401ec5678f15eeed01d2bee08fcbc5ee97\sys32\msvcp140d.dll to D:\src\chrome\src\out\Debug\msvcp140d.dll...
Copying D:\depot_tools\win_toolchain\vs_files\95ddda401ec5678f15eeed01d2bee08fcbc5ee97\sys32\vccorlib140d.dll to D:\src\chrome\src\out\Debug\vccorlib140d.dll...
Copying D:\depot_tools\win_toolchain\vs_files\95ddda401ec5678f15eeed01d2bee08fcbc5ee97\sys32\vcruntime140d.dll to D:\src\chrome\src\out\Debug\vcruntime140d.dll...
Copying D:\depot_tools\win_toolchain\vs_files\95ddda401ec5678f15eeed01d2bee08fcbc5ee97\sys32\api-ms-win-*.dll to D:\src\chrome\src\out\Debug...
Copying D:\depot_tools\win_toolchain\vs_files\95ddda401ec5678f15eeed01d2bee08fcbc5ee97\sys32\ucrtbased.dll to D:\src\chrome\src\out\Debug\ucrtbased.dll...
Copying D:\depot_tools\win_toolchain\vs_files\95ddda401ec5678f15eeed01d2bee08fcbc5ee97\sys32\msvcp140.dll to D:\src\chrome\src\out\Release\msvcp140.dll...
Copying D:\depot_tools\win_toolchain\vs_files\95ddda401ec5678f15eeed01d2bee08fcbc5ee97\sys32\vccorlib140.dll to D:\src\chrome\src\out\Release\vccorlib140.dll...
Copying D:\depot_tools\win_toolchain\vs_files\95ddda401ec5678f15eeed01d2bee08fcbc5ee97\sys32\vcruntime140.dll to D:\src\chrome\src\out\Release\vcruntime140.dll...
Copying D:\depot_tools\win_toolchain\vs_files\95ddda401ec5678f15eeed01d2bee08fcbc5ee97\sys32\api-ms-win-*.dll to D:\src\chrome\src\out\Release...
Copying D:\depot_tools\win_toolchain\vs_files\95ddda401ec5678f15eeed01d2bee08fcbc5ee97\sys32\ucrtbase.dll to D:\src\chrome\src\out\Release\ucrtbase.dll...
Copying D:\depot_tools\win_toolchain\vs_files\95ddda401ec5678f15eeed01d2bee08fcbc5ee97\VC\bin\pgort140.dll to D:\src\chrome\src\out\Release\pgort140.dll...
Copying D:\depot_tools\win_toolchain\vs_files\95ddda401ec5678f15eeed01d2bee08fcbc5ee97\sys64\msvcp140d.dll to D:\src\chrome\src\out\Debug_x64\msvcp140d.dll...
Copying D:\depot_tools\win_toolchain\vs_files\95ddda401ec5678f15eeed01d2bee08fcbc5ee97\sys64\api-ms-win-*.dll to D:\src\chrome\src\out\Debug_x64...
Copying D:\depot_tools\win_toolchain\vs_files\95ddda401ec5678f15eeed01d2bee08fcbc5ee97\sys64\ucrtbased.dll to D:\src\chrome\src\out\Debug_x64\ucrtbased.dll...
Copying D:\depot_tools\win_toolchain\vs_files\95ddda401ec5678f15eeed01d2bee08fcbc5ee97\sys64\msvcp140.dll to D:\src\chrome\src\out\Release_x64\msvcp140.dll...
Copying D:\depot_tools\win_toolchain\vs_files\95ddda401ec5678f15eeed01d2bee08fcbc5ee97\sys64\vcruntime140.dll to D:\src\chrome\src\out\Release_x64\vcruntime140.dll...
Copying D:\depot_tools\win_toolchain\vs_files\95ddda401ec5678f15eeed01d2bee08fcbc5ee97\sys64\api-ms-win-*.dll to D:\src\chrome\src\out\Release_x64...
Copying D:\depot_tools\win_toolchain\vs_files\95ddda401ec5678f15eeed01d2bee08fcbc5ee97\sys64\ucrtbase.dll to D:\src\chrome\src\out\Release_x64\ucrtbase.dll...
Copying D:\depot_tools\win_toolchain\vs_files\95ddda401ec5678f15eeed01d2bee08fcbc5ee97\VC\bin\amd64\pgort140.dll to D:\src\chrome\src\out\Release_x64\pgort140.dll...
Copying D:\depot_tools\win_toolchain\vs_files\95ddda401ec5678f15eeed01d2bee08fcbc5ee97\sys64\msvcp140d.dll to D:\src\chrome\src\out\Debug\x64\msvcp140d.dll...
Copying D:\depot_tools\win_toolchain\vs_files\95ddda401ec5678f15eeed01d2bee08fcbc5ee97\sys64\api-ms-win-*.dll to D:\src\chrome\src\out\Debug\x64...
Copying D:\depot_tools\win_toolchain\vs_files\95ddda401ec5678f15eeed01d2bee08fcbc5ee97\sys64\ucrtbased.dll to D:\src\chrome\src\out\Debug\x64\ucrtbased.dll...
Copying D:\depot_tools\win_toolchain\vs_files\95ddda401ec5678f15eeed01d2bee08fcbc5ee97\sys64\msvcp140.dll to D:\src\chrome\src\out\Release\x64\msvcp140.dll...
Copying D:\depot_tools\win_toolchain\vs_files\95ddda401ec5678f15eeed01d2bee08fcbc5ee97\sys64\vcruntime140.dll to D:\src\chrome\src\out\Release\x64\vcruntime140.dll...
Copying D:\depot_tools\win_toolchain\vs_files\95ddda401ec5678f15eeed01d2bee08fcbc5ee97\sys64\api-ms-win-*.dll to D:\src\chrome\src\out\Release\x64...
Copying D:\depot_tools\win_toolchain\vs_files\95ddda401ec5678f15eeed01d2bee08fcbc5ee97\sys64\ucrtbase.dll to D:\src\chrome\src\out\Release\x64\ucrtbase.dll...
Copying D:\depot_tools\win_toolchain\vs_files\95ddda401ec5678f15eeed01d2bee08fcbc5ee97\VC\bin\amd64\pgort140.dll to D:\src\chrome\src\out\Release\x64\pgort140.dll...
 
Yes, you could add if gyp_rc != 0 here https://code.google.com/p/chromium/codesearch#chromium/src/build/gyp_chromium.py&l=330. Someone else made it always print the "Copying" line, I forget who. I'd also be fine with only doing that if the file changed, which it normally won't have.
Making errors obvious is good. There was a long-standing cryptic failure in gclient runhooks that was hidden for years by an uncaught error - this is thematically similar and worth improving.

Comment 3 by gab@chromium.org, Apr 15 2016

Cc: scottmg@chromium.org
Owner: gab@chromium.org
@#1, will do.
Project Member

Comment 4 by bugdroid1@chromium.org, Apr 18 2016

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

commit 381d9f17b002b97ea4cf38a859d91fafd051c587
Author: gab <gab@chromium.org>
Date: Mon Apr 18 15:29:14 2016

Stop gyp_chromium prior to mass DLL copies on error

Also fix last-modified-time comparison code to handle minor float
differences and thus correctly not copy identical files (for some
reason there appears to be a ~1e-07 diff between last-modified-time
of copied files...?).

BUG= 603603 
TEST=No more copy output from gyp_chromium when copied DLLs are already
there or gyp_rc != 0 :-)

Review URL: https://codereview.chromium.org/1890053004

Cr-Commit-Position: refs/heads/master@{#387911}

[modify] https://crrev.com/381d9f17b002b97ea4cf38a859d91fafd051c587/build/gyp_chromium.py
[modify] https://crrev.com/381d9f17b002b97ea4cf38a859d91fafd051c587/build/vs_toolchain.py

Comment 5 by gab@chromium.org, Apr 18 2016

Status: Fixed (was: Assigned)
Fixed and also got rid of copies when file is the same (turns out comparing exact float equality of last-modified-time wasn't okay...).

Sign in to add a comment