Closed Bug 1382743 Opened 7 years ago Closed 7 years ago

Update builders to rust 1.19.0

Categories

(Firefox Build System :: General, defect)

defect
Not set
normal

Tracking

(firefox56 fixed)

RESOLVED FIXED
mozilla56
Tracking Status
firefox56 --- fixed

People

(Reporter: rillian, Assigned: rillian)

References

Details

Attachments

(4 files)

New upstream rust 1.19.0 stable release today.
... and slower build times. I thought we were skipping 1.19 anyways.
Comment on attachment 8888466 [details]
Bug 1382743 - Update builders to rust 1.19.0.

https://reviewboard.mozilla.org/r/159410/#review165278

./browser/config/tooltool-manifests/linux64/fuzzing.manifest appears to still use 1.18.0

Do we want to bump MODERN_RUST_VERSION / minimum rust version as well?

Please double-check with glandium to see if there are any objections to this, otherwise it looks fine to me.
Attachment #8888466 - Flags: review?(mshal) → review+
> Please double-check with glandium to see if there are any objections to
> this, otherwise it looks fine to me.

Glandium, do you have other objections to this? I saw the build-time issue you raised, but I thought that was to some extent alleviated by a warm sccache. Have we worked out that 1.20 will be substantially better? If not we might as well get on with it. I wasn't persuaded that it was worth delaying new language features when our goal is getting new quantum features dependent on Rust ready for Firefox 57.

We plan to start requiring 1.19 at the start of the Firefox 57 cycle in two weeks, so I'd like to land this now to get more testing time in automation builds before then.

> Do we want to bump MODERN_RUST_VERSION / minimum rust version as well?

We want to bump the minumum August 3, per https://public.etherpad-mozilla.org/p/rust-update-policy

We can bump MODERN_RUST_VERSION here if you prefer. I'll add a second patch.
Flags: needinfo?(mh+mozilla)
Blocks: 1383311
Comment on attachment 8889476 [details]
Bug 1382743 - mozboot: Update rust to 1.19.0.

https://reviewboard.mozilla.org/r/159972/#review166254
Attachment #8889476 - Flags: review?(mshal) → review+
Much of the build-time regression in #2 turned out to be because nightly rustc is build against llvm with assertions turned on, which doesn't affect 1.19.0 now that it's in stable release.

https://github.com/rust-lang/rust/issues/43211#issuecomment-316337321
https://github.com/rust-lang/rust/issues/43211#issuecomment-317630372
Pushed by rgiles@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/be64833f9980
Update builders to rust 1.19.0. r=mshal
https://hg.mozilla.org/integration/autoland/rev/89375283b43e
mozboot: Update rust to 1.19.0. r=mshal
Flags: needinfo?(mh+mozilla)
some build improvements and regressions from this

== Change summary for alert #8266 (as of July 25 2017 19:15 UTC) ==

Regressions:

 14%  build times summary linux64 asan asan opt taskcluster-c4.4xlarge     1,653.34 -> 1,892.97
 10%  build times summary linux64 pgo taskcluster-c4.4xlarge               3,278.67 -> 3,609.46

Improvements:

  7%  build times summary windows2012-32 pgo taskcluster-c4.4xlarge     5,290.66 -> 4,909.13
  6%  build times summary windows2012-64 pgo taskcluster-c4.4xlarge     5,551.78 -> 5,222.38

For up to date results, see: https://treeherder.mozilla.org/perf.html#/alerts?id=8266

while we don't have any specific requirements for this, we should ensure that these build time adjustments make sense.
Depends on: 1384363
(In reply to Joel Maher ( :jmaher) (UTC-8) from comment #10)
> some build improvements and regressions from this
> 
> == Change summary for alert #8266 (as of July 25 2017 19:15 UTC) ==
> 
> Regressions:
> 
>  14%  build times summary linux64 asan asan opt taskcluster-c4.4xlarge    
> 1,653.34 -> 1,892.97
>  10%  build times summary linux64 pgo taskcluster-c4.4xlarge              
> 3,278.67 -> 3,609.46

These are actually surprising, because 1.19 was not supposed to be slower than 1.18... but maybe the partial support for make jobserver made things pretty bad... anyways, those weren't sccached until bug 1382502, which will hide those. Still brings us back to bug 1380893 being necessary.

> Improvements:
> 
>   7%  build times summary windows2012-32 pgo taskcluster-c4.4xlarge    
> 5,290.66 -> 4,909.13
>   6%  build times summary windows2012-64 pgo taskcluster-c4.4xlarge    
> 5,551.78 -> 5,222.38

WTF? Is that the same thing as what happened with icu, where somehow pgo builds got faster for unknown reasons when we changed how icu is compiled?
https://hg.mozilla.org/mozilla-central/rev/be64833f9980
https://hg.mozilla.org/mozilla-central/rev/89375283b43e
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla56
Pushed by mozilla@jorgk.com:
https://hg.mozilla.org/comm-central/rev/8395d8712176
Keep tooltool manifests and build files in sync (Port bug 1382743 (rust update), bug 1382502 (enable sccache on more builds)). rs=bustage-fix
(In reply to Mike Hommey [:glandium] from comment #11)
> (In reply to Joel Maher ( :jmaher) (UTC-8) from comment #10)
> > some build improvements and regressions from this
> > 
> > == Change summary for alert #8266 (as of July 25 2017 19:15 UTC) ==
> > 
> > Regressions:
> > 
> >  14%  build times summary linux64 asan asan opt taskcluster-c4.4xlarge    
> > 1,653.34 -> 1,892.97
> >  10%  build times summary linux64 pgo taskcluster-c4.4xlarge              
> > 3,278.67 -> 3,609.46
> 
> These are actually surprising, because 1.19 was not supposed to be slower
> than 1.18... but maybe the partial support for make jobserver made things
> pretty bad... 

That's exactly that. With 1.18, the style crate managed to start early, but with 1.19, with cargo and make fighting for the same "locks", it starts much later. I'm going to attach build timelines with both versions.
Looks like this landed an Android improvement:

== Change summary for alert #8272 (as of July 25 2017 19:15 UTC) ==

Improvements:

  3%  remote-nytimes summary android-6-0-armv8-api15 opt      1,386.79 -> 1,348.93

For up to date results, see: https://treeherder.mozilla.org/perf.html#/alerts?id=8272
Product: Core → Firefox Build System
You need to log in before you can comment on or make changes to this bug.