Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Re-enable LLVM and debug assertions for slow builders #59637

Open
alexcrichton opened this issue Apr 2, 2019 · 11 comments
Open

Re-enable LLVM and debug assertions for slow builders #59637

alexcrichton opened this issue Apr 2, 2019 · 11 comments
Labels
O-macos Operating system: macOS P-low Low priority T-infra Relevant to the infrastructure team, which will review and decide on the PR/issue.

Comments

@alexcrichton
Copy link
Member

alexcrichton commented Apr 2, 2019

Assertions are currently disabled on a number of builders:

  • test-various - debug asserts, intentional - needed to properly test code size of some tests
  • dist-x86_64-apple - llvm, debug
  • dist-x86_64-apple-alt - llvm, debug
  • x86_64-apple - llvm, debug
  • dist-aarch64-apple - llvm, debug
@pietroalbini pietroalbini added P-high High priority T-infra Relevant to the infrastructure team, which will review and decide on the PR/issue. labels Apr 2, 2019
alexcrichton added a commit to alexcrichton/rust that referenced this issue Apr 2, 2019
Tracked at rust-lang#59637 for re-enabling this commit disables assertions to
hopefully bring the runtime for this builder under control.
bors added a commit that referenced this issue Apr 2, 2019
ci: Disable llvm/debug assertions on x86_64-mingw

Tracked at #59637 for re-enabling this commit disables assertions to
hopefully bring the runtime for this builder under control.
@sanxiyn sanxiyn added the O-windows-gnu Toolchain: GNU, Operating system: Windows label Apr 3, 2019
@alexcrichton
Copy link
Member Author

For posterity, this had a pretty massive impact on CI times for the thre platforms that we disabled debug/llvm assertions for:

Screen Shot 2019-04-05 at 11 38 22 AM

@aidanhs
Copy link
Member

aidanhs commented Apr 16, 2019

(currently waiting on a potential upgrade to our appveyor builder machines, maybe happening soonish)

@pietroalbini pietroalbini added P-medium Medium priority and removed P-high High priority labels May 7, 2019
Centril added a commit to Centril/rust that referenced this issue May 25, 2019
Ship profiler with windows-gnu

Fixes rust-lang#49409

I don't know if we can enable it for testing, windows-gnu jobs are already taking too long: rust-lang#59637.

r? @michaelwoerister

P.S.
I have tested only x86_64 build.
Centril added a commit to Centril/rust that referenced this issue May 25, 2019
Ship profiler with windows-gnu

Fixes rust-lang#49409

I don't know if we can enable it for testing, windows-gnu jobs are already taking too long: rust-lang#59637.

r? @michaelwoerister

P.S.
I have tested only x86_64 build.
Centril added a commit to Centril/rust that referenced this issue May 25, 2019
Ship profiler with windows-gnu

Fixes rust-lang#49409

I don't know if we can enable it for testing, windows-gnu jobs are already taking too long: rust-lang#59637.

r? @michaelwoerister

P.S.
I have tested only x86_64 build.
Centril added a commit to Centril/rust that referenced this issue May 25, 2019
Ship profiler with windows-gnu

Fixes rust-lang#49409

I don't know if we can enable it for testing, windows-gnu jobs are already taking too long: rust-lang#59637.

r? @michaelwoerister

P.S.
I have tested only x86_64 build.
Centril added a commit to Centril/rust that referenced this issue May 25, 2019
Ship profiler with windows-gnu

Fixes rust-lang#49409

I don't know if we can enable it for testing, windows-gnu jobs are already taking too long: rust-lang#59637.

r? @michaelwoerister

P.S.
I have tested only x86_64 build.
bors added a commit that referenced this issue May 26, 2019
Ship profiler with windows-gnu

Fixes #49409

I don't know if we can enable it for testing, windows-gnu jobs are already taking too long: #59637.

r? @michaelwoerister

P.S.
I have tested only x86_64 build.
@aidanhs
Copy link
Member

aidanhs commented Sep 3, 2019

Much has happened - we've migrated to azure in the meantime and our builds have got even slower, but there is potential to get 4 core machines there. Until then, this is still on hold.

alexcrichton added a commit to alexcrichton/rust that referenced this issue Sep 16, 2019
This commit disables LLVM/debug assertions in our 5 slowest builders:

* i686-gnu
* i686-gnu-nopt
* i686-msvc-1
* i686-msvc-2
* x86_64-msvc-cargo

This is reducing the amount of test coverage for LLVM/debug assertions,
but we're just unfortunately running out of time on CI too many times.
Some test builds have shown that i686-gnu drops nearly an hour of CI
time by disabling these two assertions. Perhaps when we eventually get
4-core machines we can reenable these, but for now turn them off and
hook them up to the tracking issue at rust-lang#59637 which will ideally be
repurposes to tracking all of these.
@pietroalbini pietroalbini changed the title Re-enable LLVM and debug assertions for x86_64-mingw builder Re-enable LLVM and debug assertions for slow builders Sep 17, 2019
@pietroalbini
Copy link
Member

#64517 also disabled LLVM assertions on the following builders:

  • i686-gnu
  • i686-gnu-nopt
  • i686-msvc-1
  • i686-msvc-2
  • x86_64-msvc-cargo

bors added a commit that referenced this issue Sep 17, 2019
azure: Disable more LLVM/debug assertions in

This commit disables LLVM/debug assertions in our 5 slowest builders:

* i686-gnu
* i686-gnu-nopt
* i686-msvc-1
* i686-msvc-2
* x86_64-msvc-cargo

This is reducing the amount of test coverage for LLVM/debug assertions,
but we're just unfortunately running out of time on CI too many times.
Some test builds have shown that i686-gnu drops nearly an hour of CI
time by disabling these two assertions. Perhaps when we eventually get
4-core machines we can reenable these, but for now turn them off and
hook them up to the tracking issue at #59637 which will ideally be
repurposes to tracking all of these.
@shepmaster
Copy link
Member

Triage: Nothing has materially changed; we still don't have the time budget to re-enable these. Perhaps when the builders gain more cores.

@pietroalbini
Copy link
Member

We'll probably want to re-enable those if we switch to GitHub Actions, as we have the time budget there.

@Mark-Simulacrum Mark-Simulacrum self-assigned this Aug 5, 2020
@Mark-Simulacrum
Copy link
Member

With GHA, we should now have capacity to do this on CI. I will be posting a PR doing so soon.

bors added a commit to rust-lang-ci/rust that referenced this issue Nov 7, 2020
…roalbini

Re-enable debug and LLVM assertions

Historically we've disabled these assertions on a number of platforms with the
goal of speeding up CI. Now, though, having migrated to GitHub actions, CI is
already pretty fast, and these debug assertions do bring us some value.

This does leave in some debug assertions that are performance-related: macOS
currently hovers at just under 2 hours.

There are also some other builders which have debug and LLVM assertions
disabled:

llvm-8, PR builder:

In one view, this builder tests our support for older LLVMs. But in reality, a
lot of our tests already disable themselves on older LLVMs, and I think our
general stance is that we really only support the in-tree LLVM. Plus, we really
want CI times on this builder to be really low, as it's run on *every* PR --
that's a lot of CI time.

test-various:

This disables debug asserts still -- as noted in the Dockerfile, we test code
size, and we need debug asserts off for that to work well.

Helps with rust-lang#59637 -- but doesn't close it, macOS still has asserts off.

r? `@pietroalbini`
@Mark-Simulacrum Mark-Simulacrum added O-macos Operating system: macOS and removed O-windows-gnu Toolchain: GNU, Operating system: Windows labels Dec 16, 2020
@Mark-Simulacrum
Copy link
Member

Updated issue description, only macOS builders remain disabled.

@shepmaster shepmaster added P-low Low priority and removed P-medium Medium priority labels Aug 2, 2021
@shepmaster
Copy link
Member

Since this now deals with just the macOS builders, there's not much we can do at the moment. It would likely require some external factor, such as GitHub Actions drastically improving the performance of those machines.

@nikic
Copy link
Contributor

nikic commented Aug 2, 2021

The issue lists a few dist-* targets, but shouldn't assertions always be disabled for those, regardless of capacity?

@Mark-Simulacrum
Copy link
Member

Yes, that seems correct - I think only alt dist builders are assert enabled today.

@Mark-Simulacrum Mark-Simulacrum removed their assignment Jan 20, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
O-macos Operating system: macOS P-low Low priority T-infra Relevant to the infrastructure team, which will review and decide on the PR/issue.
Projects
None yet
Development

No branches or pull requests

7 participants