New issue
Advanced search Search tips

Issue 705133 link

Starred by 4 users

Issue metadata

Status: Fixed
Owner:
Closed: Aug 2017
Cc:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Bug

Blocking:
issue 683729



Sign in to add a comment

Syzygy fails on VS 2017 generated binaries

Project Member Reported by brucedaw...@chromium.org, Mar 24 2017

Issue description

When running tryjobs on crrev.com/2762093003 (be careful about running this locally as its landmine will nuke your out directory) the remove_build_metadata step hits multiple instances of this failure:

[0321/145537:INFO:application_impl.h(46)] Syzygy Zap Timestamp Version 0.8.26.0 (37f2efe).
[0321/145537:INFO:application_impl.h(48)] Copyright (c) Google Inc. All rights reserved.
[0321/145537:INFO:zap_timestamp.cc(551)] Analyzing PE file: E:\b\c\b\win\src\out\Release\video_capture.service.exe
[0321/145537:INFO:zap_timestamp.cc(590)] Found matching PDB file: E:\b\c\b\win\src\out\Release\video_capture.service.exe.pdb
[0321/145537:ERROR:pe_file_parser.cc(1171)] Unknown version of the IMAGE_LOAD_CONFIG_DIRECTORY structure (104 bytes), might be because you're using a new version of the Windows SDK.
[0321/145537:ERROR:pe_file_parser.cc(381)] Failed to parse data directory load config.
[0321/145537:ERROR:zap_timestamp.cc(144)] Failed to parse PE file: E:\b\c\b\win\src\out\Release\video_capture.service.exe

This tool will need updating for the larger load config structure. This structure is documented in the Windows 10.0.14393.0 SDK, although I have not checked whether that size matches the 104 bytes generated by the VS 2017 linker.

This will probably become a blocking issue at some point.

 
Blocking: 683729
Cc: syzygy-team@chromium.org
Owner: sebmarchand@chromium.org
Summary: Syzygy fails on VS 2017 generated binaries (was: syzyasan fails on VS 2017 generated binaries)
https://github.com/google/syzygy/commit/7677dfdf22749ca5bfa5f1d433e339f898060009 should add support for VS2017 generated binaries to zap_timestamp.exe (I still need to roll deps once I've confirmed that it works on all the chrome binaries).

Renaming this crbug to "Syzygy fails on VS 2017 generated binaries" as it's not specific to SyzyAsan.
Project Member

Comment 3 by bugdroid1@chromium.org, Apr 5 2017

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

commit eafe1fab6a88585423399fcac64610db70ea5a04
Author: sebmarchand <sebmarchand@chromium.org>
Date: Wed Apr 05 23:27:46 2017

Roll Syzygy DEPS to v0.8.28.0

Changelog:
[7677dfdf22] Add support for the Win10 SDK to the PE reader.

BUG= 705133 

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

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

Fixed? The remove_build_metadata step ran cleanly on the last try run of crrev.com/2762093003
Nop, we only fixed zap_timestamp (which required a fix to our PE reader), we still need to fix our decomposer to make it VS2017 friendly.
I just fired off try jobs on a VS 2017 test job:

https://codereview.chromium.org/2862723004

and I'm seeing a lot of Zap Timestamp failures, here:

https://luci-logdog.appspot.com/v/?s=chromium%2Fbb%2Ftryserver.chromium.win%2Fwin_chromium_x64_rel_ng%2F418684%2F%2B%2Frecipes%2Fsteps%2Fremove_build_metadata%2F0%2Fstdout

Here's an excerpt:

Processing: libGLESv2.dll
Processing: remoting_unittests.exe
Processing: cc_unittests.exe
Processing: mus_gpu_unittests.exe
Processing: url_unittests.exe
Processing: views_unittests.exe
Processing: transport_security_state_generator.exe
Processing: components_browsertests.exe
libGLESv2.dll failed:
[0504/115835:INFO:application_impl.h(46)] Syzygy Zap Timestamp Version 0.8.29.0 (0d28657).
[0504/115835:INFO:application_impl.h(48)] Copyright (c) Google Inc. All rights reserved.
[0504/115835:INFO:zap_timestamp.cc(551)] Analyzing PE file: E:\b\c\b\win\src\out\Release_x64\libGLESv2.dll
[0504/115835:ERROR:zap_timestamp.cc(559)] Failed to read PE file: E:\b\c\b\win\src\out\Release_x64\libGLESv2.dll
Processing: filesystem.service.exe

This may be unrelated to VS 2017 because I've seen these failures on VS 2015 builds as well. Is there a reason why random failures on remove_build_metadata turn the step orange instead of red? Are there more bugs to fix here?

it's failing because it's a 64-bit build (apparently). We don't want the step to be red because it's really a best-effort step that try to remove the timestamp of has many files as possible to improve swarming, but it's not a big deal if it fails for some of them...
Status: Fixed (was: Untriaged)
Syzygy support VS2017 now.
Re-opening this as apparently the latest version of VS2017 (u3 preview 1) cause some failures: 

[0527/231358:ERROR:pe_file_parser.cc(1174)] Unknown version of the IMAGE_LOAD_CONFIG_DIRECTORY structure (152 bytes), might be because you're using a new version of the Windows SDK.


I'll take a look at this.
Issue 727186 has been merged into this issue.
Status: Assigned (was: Fixed)
Cc: brucedaw...@chromium.org
 Issue 727444  has been merged into this issue.
On a recent build (with VS 2017 Update Preview 4) I'm seeing slightly different failure messages:

https://luci-logdog.appspot.com/v/?s=chromium%2Fbb%2Ftryserver.chromium.win%2Fwin_chromium_x64_rel_ng%2F471117%2F%2B%2Frecipes%2Fsteps%2Fremove_build_metadata%2F0%2Fstdout

chrome_elf.dll failed:
[0714/165111:INFO:application_impl.h(46)] Syzygy Zap Timestamp Version 0.8.31.0 (9fe2e82).
[0714/165111:INFO:application_impl.h(48)] Copyright (c) Google Inc. All rights reserved.
[0714/165111:INFO:zap_timestamp.cc(551)] Analyzing PE file: E:\b\c\b\win\src\out\Release_x64\chrome_elf.dll
[0714/165111:ERROR:zap_timestamp.cc(559)] Failed to read PE file: E:\b\c\b\win\src\out\Release_x64\chrome_elf.dll

These are repeated for the vast majority of the binaries (but not all of them). VS 2017 Update 3 might ship soon and it would be great to have this resolved.

This is because zap_timestamp doesn't work on 64-bit binaries. I'll update the remove_build_metadata script to not try to process these binaries.

Comment 15 Deleted

Project Member

Comment 16 by bugdroid1@chromium.org, Jul 18 2017

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

commit e329229411be105469fb581df0fbcb017ca6cf3f
Author: Sebastien Marchand <sebmarchand@chromium.org>
Date: Tue Jul 18 20:23:33 2017

Disable zap_timestamp for the 64-bit builds.

zap_timestamp.exe doesn't support the 64-bit binaries.

the build_bitness function comes from https://cs.chromium.org/chromium/src/chrome/test/chromedriver/util.py?l=45&rcl=ffe66181996a36f5d64e507dbd3dcd78dc1ebecb

Bug:  705133 
Change-Id: Ie17e963d62bd3ac508b0de8a853f6d653ef2454b
Reviewed-on: https://chromium-review.googlesource.com/576188
Commit-Queue: Sébastien Marchand <sebmarchand@chromium.org>
Reviewed-by: Marc-Antoine Ruel <maruel@chromium.org>
Cr-Commit-Position: refs/heads/master@{#487588}
[modify] https://crrev.com/e329229411be105469fb581df0fbcb017ca6cf3f/tools/determinism/remove_build_metadata.py

Project Member

Comment 17 by bugdroid1@chromium.org, Jul 19 2017

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

commit 0881de779ae366a78c5256592c48bfef69b580b3
Author: Sebastien Marchand <sebmarchand@chromium.org>
Date: Wed Jul 19 23:45:07 2017

Roll Syzygy Deps to v0.8.32.0

Version 0.8.32.0
  [0cc169a1af] Fix some VS2017 issues, adds support for the 10.0.15063.468 Windows
               SDK.
  [e94470d3ee] Adds the afl instrumenter.

Bug:  705133 
Change-Id: If22afa4cdbb45ff25adee5fab614208eb6321c69
Reviewed-on: https://chromium-review.googlesource.com/577378
Reviewed-by: Chris Hamilton <chrisha@chromium.org>
Commit-Queue: Chris Hamilton <chrisha@chromium.org>
Cr-Commit-Position: refs/heads/master@{#488044}
[modify] https://crrev.com/0881de779ae366a78c5256592c48bfef69b580b3/DEPS

This should be fixed now.
Status: Fixed (was: Assigned)

Sign in to add a comment