New issue
Advanced search Search tips

Issue 662325 link

Starred by 1 user

Issue metadata

Status: Assigned
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Bug

Blocking:
issue 603131



Sign in to add a comment

MSVS version checking called through GN sometimes fails

Project Member Reported by machenb...@chromium.org, Nov 4 2016

Issue description

The problem arises when we try to switch from one MSVS version to another and the bot doesn't have the toolchain ( issue 603131 ). We can work around it by trying more often until most trybots in the pool have the toolchain.

//build/config/win/visual_studio_version.gni calls a script to determine the MSVS version and path:
https://cs.chromium.org/chromium/src/build/config/win/visual_studio_version.gni?q=build/config/win/visual_studio_version.gni&sq=package:chromium&dr&l=27

The method GetToolchainDir can actually lead to an update:
https://cs.chromium.org/chromium/src/build/vs_toolchain.py?q=vs_toolchain.py&sq=package:chromium&dr&l=370
https://cs.chromium.org/chromium/src/build/vs_toolchain.py?rcl=0&l=46
https://cs.chromium.org/chromium/src/build/vs_toolchain.py?q=vs_toolchain.py&sq=package:chromium&dr&ssfr=1&l=351

The update is chatty:
https://cs.chromium.org/chromium/tools/depot_tools/win_toolchain/get_toolchain_if_necessary.py?dr&q=%22Windows+toolchain+out+of+date%22&sq=package:chromium&l=484

The printing to stdout confuses the GN execscript consumer. Leading to errors like:
https://build.chromium.org/p/tryserver.v8/builders/v8_win_dbg/builds/444/steps/generate_build_files/logs/stdout

Here the text copied:
E:\b\build\slave\win\build\v8\buildtools\win\gn.exe gen //out/Debug --check
  -> returned 1
ERROR at dynamically parsed input that //build/config/win/visual_studio_version.gni:27:7 loaded :1:39: Invalid token.
Windows toolchain out of date or doesn't exist, updating (Pro)...
                                      ^
Strings are delimited by " characters, not apostrophes.
See //build/toolchain/win/BUILD.gn:8:1: whence it was imported.
import("//build/config/win/visual_studio_version.gni")
^----------------------------------------------------
See //BUILD.gn:392:1: which caused the file to be included.
action("js2c") {
^---------------
GN gen failed: 1
 
Blocking: 603131
Owner: brucedaw...@chromium.org
Status: Assigned (was: Untriaged)
I don't know when I'll get to this but I should own this. If somebody else deals with it first I don't mind...

It sounds like the issue eventually "goes away on its own" - how does that happen?
Here it happened again with your "weekend test" on all V8 win bots, e.g.:
https://build.chromium.org/p/client.v8/builders/V8%20Win32%20-%20builder/builds/17027

Comment 4 by brucedaw...@chromium.org, Jan 22 (2 days ago)

This looks like a duplicate of crbug.com/584393 where the toolchain update happens during "gn gen". It is supposed to happen during "gclient runhooks" so the real bug here is that either "gclient runhooks" is not being invoked or it is failing.

I'm landing a fix for crbug.com/584393 which will stop "gn gen" from trying to update the toolchain. This may make this bug more severe which then might help us understand what is going on. Or, maybe this problem is resolved now - there have been several toolchain updates since August 2017.

Sign in to add a comment