New issue
Advanced search Search tips
Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Closed: Dec 2014
EstimatedDays: ----
NextAction: ----
OS: Linux
Pri: 2
Type: Feature

Blocked on:
issue 429358

Blocking:
issue 314403



Sign in to add a comment

Make linux ninja build deterministic

Project Member Reported by mar...@chromium.org, Dec 20 2013

Issue description

1. ninja -C out/Release browser_tests
2. ren out out2
3. gclient runhooks
2. ninja -C out/Release browser_tests

Expected:
Content of out/ and out2/ is byte-for-byte identical.

Actual:
They aren't.

This is specific about Ubuntu 12.04/ninja/clang
 

Comment 1 by mar...@chromium.org, Dec 20 2013

Blocking: chromium:314403

Comment 2 by mar...@chromium.org, Dec 20 2013

Labels: -Build-Toolchain

Comment 3 by mar...@chromium.org, Oct 31 2014

Blockedon: chromium:429358
Project Member

Comment 4 by bugdroid1@chromium.org, Dec 6 2014

------------------------------------------------------------------
r293282 | maruel@chromium.org | 2014-12-06T16:30:18.619191Z

Changed paths:
   M http://src.chromium.org/viewvc/chrome/trunk/tools/build/scripts/slave/recipe_modules/isolate/resources/compare_build_artifacts.py?r1=293282&r2=293281&pathrev=293282

Strip the last files from linux whitelist.

linux is now deterministic!
Add link to each OS specific issue in compare_build_artifacts.py for
maintainability.

R=sebmarchand@chromium.org
BUG= 330263 ,314403

Review URL: https://codereview.chromium.org/787503002
-----------------------------------------------------------------
Labels: -OS-Mac OS-Linux
Owner: mar...@chromium.org
Status: Fixed
Last NaCl fix was rolled in which fixed the last non deterministic file!

There are still spurious .isolated files non-determinism but this is due to the way the build is done vs how it's done on the TS and CI so it's not a problem there. I'll fix the .isolated non-determinism outside of the scope of this issue since it's not OS specific. In short, it's because the .isolated file is being created while other compile steps fill the referenced directories that are unneededlessly filled for other test executables.
Project Member

Comment 7 by bugdroid1@chromium.org, Mar 31 2015

------------------------------------------------------------------
r294569 | maruel@chromium.org | 2015-03-25T20:26:23.643520Z

Changed paths:
   M http://src.chromium.org/viewvc/chrome/trunk/tools/build/scripts/slave/recipe_modules/isolate/resources/compare_build_artifacts.py?r1=294569&r2=294568&pathrev=294569

Make 'Linux deterministic build' green.

It's currently red due to 3 files, which affects one fourth isolated file. The
files are all pnacl related.

R=sebmarchand@chromium.org
BUG= 330263 
BUG=429358

Review URL: https://codereview.chromium.org/1038713002
-----------------------------------------------------------------
FTR, this was only fixed in the distributed compilation case only fairly recently.
Project Member

Comment 9 by bugdroid1@chromium.org, Jun 9 2015

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/tools/build.git/+/873816c868610873fc67b3a114acedf3a8cabf57

commit 873816c868610873fc67b3a114acedf3a8cabf57
Author: sebmarchand@chromium.org <sebmarchand@chromium.org>
Date: Mon Jun 01 16:07:56 2015

Deterministic builder: Update the Linux blacklist.

BUG= 330263 

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/build@295474 0039d316-1c4b-4281-b951-d872f2087c98

[modify] http://crrev.com/873816c868610873fc67b3a114acedf3a8cabf57/scripts/slave/recipe_modules/isolate/resources/compare_build_artifacts.py

Project Member

Comment 10 by bugdroid1@chromium.org, Nov 9 2016

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

commit 54934b6280e5bc3f8a823e6543cab3dbdb304ccb
Author: yyanagisawa <yyanagisawa@chromium.org>
Date: Wed Nov 09 21:58:17 2016

Whitelist flatc in Linux.

Since __DATE__ is used in flatc, compile result sometimes not
deterministic.

BUG=314403
BUG= 330263 

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

[modify] https://crrev.com/54934b6280e5bc3f8a823e6543cab3dbdb304ccb/tools/determinism/compare_build_artifacts.py

Project Member

Comment 11 by bugdroid1@chromium.org, Nov 11 2016

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

commit 4bae8cb9758e013af1fe31af033f13fa5d117355
Author: yyanagisawa <yyanagisawa@chromium.org>
Date: Fri Nov 11 16:53:44 2016

Also whitelist ppapi_nacl_tests_* on Linux.

BUG= 654989 
BUG= 330263 

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

[modify] https://crrev.com/4bae8cb9758e013af1fe31af033f13fa5d117355/tools/determinism/compare_build_artifacts.py

Sign in to add a comment