Rencently Dawn's standalone Windows builds started failing like this build https://ci.chromium.org/p/dawn/builders/luci.dawn.try/win-clang-dbg-x64/b8929442480635862816 with Traceback (most recent call last): File "e:/b/swarm_slave/w/ir/cache/builder/dawn/build/vs_toolchain.py", line 471, in <module> sys.exit(main()) File "e:/b/swarm_slave/w/ir/cache/builder/dawn/build/vs_toolchain.py", line 467, in main return commands[sys.argv](*sys.argv[2:]) File "e:/b/swarm_slave/w/ir/cache/builder/dawn/build/vs_toolchain.py", line 285, in CopyDlls x64_runtime, x86_runtime = vs_runtime_dll_dirs ValueError: too many values to unpack ERROR at //build/toolchain/win/BUILD.gn:43:3: Script returned non-zero exit code. exec_script("../../vs_toolchain.py", ^---------- This is because win_toolchain.json gained an extra directory for ARM64. I see that vs_toolchain.py was updated to support it, but the update to win_toolchain.py happened without us rolling anything into Dawn, which means it is somehow updated out of band. Shouldn't both win_toolchain.json and vs_toolchain.py be updated at the same time so we don't have breakage because of mismatches? +CC folks on the CL updating vs_toolchain.py because I don't know how win_toolchain.json is created.
Nov 19, Project Member
The following revision refers to this bug: https://dawn.googlesource.com/dawn/+/15d8cb765f748d817e79e3d267806c715100997b commit 15d8cb765f748d817e79e3d267806c715100997b Author: Corentin Wallez <email@example.com> Date: Mon Nov 19 10:13:31 2018 Roll Chromium's build system to fix Windows builds build/win_toolchain.json was updated out of band so we need to roll all Chromium's build support repos to pick up the respective change to build/vs_toolchain.py In the meantime, LASTCHANGE-related functionality changed and requires a new hook to run before we can call `gn gen`. TBRfirstname.lastname@example.org TBRemail@example.com BUG= chromium:906559 Change-Id: Ic5d297b5700193ca72b02874073e6c553f06e04f Reviewed-on: https://dawn-review.googlesource.com/c/2560 Reviewed-by: Corentin Wallez <firstname.lastname@example.org> Commit-Queue: Corentin Wallez <email@example.com> [modify] https://crrev.com/15d8cb765f748d817e79e3d267806c715100997b/DEPS
Sorry about this. The asynchrony was known when I made these changes but I forgot how many projects beyond Chromium consume depot_tools. The basic problem is that depot_tools' win_toolchain\get_toolchain_if_necessary.py generates the .json file, and build\vs_toolchain.py consumes it. Therefore it was important to land the build\vs_toolchain.py change before landing the depot_tools change. This worked for Chromium, but not for other projects. Merging over the build\vs_toolchain.py change is the correct fix. This is a one-time break.
Thanks for the explanation, if it's a one-time break it is probably ok to close this issue. I'm thinking we should probably have a mailing list for people using Chromium's build system so we can send PSAs for changes like this.
Sign in to add a comment