New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 779001 link

Starred by 1 user

Issue metadata

Status: Verified
Owner:
Not working on Chrome any more
Closed: Oct 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Bug



Sign in to add a comment

Non-deterministic generated files

Project Member Reported by tikuta@chromium.org, Oct 27 2017

Issue description

When I build chrome twice, some files in out/Release/gen are different.

gen1 is first directory, gen2 is second directory.

$ diff -q -r gen1 gen2
Files gen1/blink/bindings/core/ComponentInfoCore.pickle and gen2/blink/bindings/core/ComponentInfoCore.pickle differ
Files gen1/blink/bindings/modules/ComponentInfoModules.pickle and gen2/blink/bindings/modules/ComponentInfoModules.pickle differ
Files gen1/blink/bindings/scripts/lextab.pyc and gen2/blink/bindings/scripts/lextab.pyc differ
Files gen1/blink/core/ComputedStyleBase.cpp and gen2/blink/core/ComputedStyleBase.cpp differ
Files gen1/blink/core/ComputedStyleBase.h and gen2/blink/core/ComputedStyleBase.h differ
Files gen1/third_party/yasm/gas-token.c and gen2/third_party/yasm/gas-token.c differ
Files gen1/third_party/yasm/lc3bid.c and gen2/third_party/yasm/lc3bid.c differ
Files gen1/third_party/yasm/nasm-token.c and gen2/third_party/yasm/nasm-token.c differ

This difference makes goma's cache unusable.
 
Components: Infra>Platform>Swarming
Labels: -Pri-3 Pri-2
Did it start to break from this build?
https://build.chromium.org/p/chromium.linux/builders/Deterministic%20Linux/builds/8191

Comment 2 by tikuta@chromium.org, Oct 27 2017

Cc: meade@chromium.org shend@chromium.org
Suspicious CL
https://chromium-review.googlesource.com/c/chromium/src/+/737913

Comment 3 by meade@chromium.org, Oct 30 2017

Owner: meade@chromium.org
Status: Assigned (was: Untriaged)
Yup, this is definitely caused by my CL. I have a fix on the queue now.
Project Member

Comment 4 by bugdroid1@chromium.org, Oct 30 2017

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

commit 2d5100869a8ae5a0ec3a355485e502a60bc12d6c
Author: Eddy Mead <meade@chromium.org>
Date: Mon Oct 30 05:24:03 2017

Remove errant brackets and unnecessary calls to "str" in make_computed_style_base.py

I think this should fix the non-deterministic build issues

Bug:  779001 , 779033 
Change-Id: I0779b54d38a3fc8db2c71206fdafbcd2dc428dac
Reviewed-on: https://chromium-review.googlesource.com/743163
Commit-Queue: meade_UTC10 <meade@chromium.org>
Reviewed-by: Darren Shen <shend@chromium.org>
Cr-Commit-Position: refs/heads/master@{#512443}
[modify] https://crrev.com/2d5100869a8ae5a0ec3a355485e502a60bc12d6c/third_party/WebKit/Source/build/scripts/make_computed_style_base.py

Comment 5 by meade@chromium.org, Oct 30 2017

Owner: ----
Status: Untriaged (was: Assigned)
After my CL, I did the diff again, and it looks like these files still differ:

Files out/GnDebug/gen/angle/id/commit.h and out/GnDebug/gen-1/angle/id/commit.h differ
Files out/GnDebug/gen/blink/bindings/core/ComponentInfoCore.pickle and out/GnDebug/gen-1/blink/bindings/core/ComponentInfoCore.pickle differ
Files out/GnDebug/gen/blink/bindings/modules/ComponentInfoModules.pickle and out/GnDebug/gen-1/blink/bindings/modules/ComponentInfoModules.pickle differ
Files out/GnDebug/gen/blink/bindings/scripts/lextab.pyc and out/GnDebug/gen-1/blink/bindings/scripts/lextab.pyc differ

Comment 6 by tikuta@chromium.org, Oct 30 2017

Owner: meade@chromium.org
Status: Verified (was: Untriaged)
You fixed the issue. Thanks.
https://luci-milo.appspot.com/buildbot/chromium.linux/Deterministic%20Linux/8242

Diff in other files does not make difference in objs and executables.
Project Member

Comment 7 by bugdroid1@chromium.org, Oct 31 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/tools/build/+/8df60f7f48ffcf7f549643e65394017e5a471461

commit 8df60f7f48ffcf7f549643e65394017e5a471461
Author: Takuto Ikuta <tikuta@google.com>
Date: Tue Oct 31 03:02:05 2017

Mail to goma people if deterministic build broken

This is inspired by
https://chromium-review.googlesource.com/c/chromium/tools/build/+/738036

Bug:  779001 
Change-Id: I3226442311c4cf3f28129f7e47679ce22fc70012
Reviewed-on: https://chromium-review.googlesource.com/743103
Reviewed-by: Marc-Antoine Ruel <maruel@chromium.org>
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
Commit-Queue: Takuto Ikuta <tikuta@google.com>

[modify] https://crrev.com/8df60f7f48ffcf7f549643e65394017e5a471461/scripts/slave/gatekeeper.json

Sign in to add a comment