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

[DO NOT MERGE] bootstrap with -Znext-solver=globally #133502

Draft
wants to merge 6 commits into
base: master
Choose a base branch
from

Conversation

lcnr
Copy link
Contributor

@lcnr lcnr commented Nov 26, 2024

A revival of #124812.

Current status:

./x.py b --stage 2 passes 🎉

try builds succeed 🎉 🎉 🎉

first perf run 👻

commits

r? @ghost

@rustbot rustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. WG-trait-system-refactor The Rustc Trait System Refactor Initiative (-Znext-solver) labels Nov 26, 2024
@rust-log-analyzer

This comment has been minimized.

@compiler-errors
Copy link
Member

@bors try

bors added a commit to rust-lang-ci/rust that referenced this pull request Nov 27, 2024
[DO NOT MERGE] bootstrap with `-Znext-solver=globally`

A revival of rust-lang#124812.

Current status, we're failing in:

- failing in `rustc_next_trait_solver` with 126 instances of the following error
```
error[E0311]: the parameter type `I` may not live long enough
    |
help: consider adding an explicit lifetime bound
   --> compiler/rustc_next_trait_solver/src/solve/trait_goals.rs:624:53
    |
624 ~     fn consider_structural_builtin_unsize_candidates<'a>(
625 ~         ecx: &mut EvalCtxt<'a, D>,
626 |         goal: Goal<I, Self>,
627 ~     ) -> Vec<Candidate<I>> where I: 'a {
```
- `itertools` hangs, we're already encountered this hang in our previous attempt due to large type sizes. I believe that it's simply caused by a missing cache somewhere, potentially in `wf.rs`, but other visitors may also be responsible. See rust-itertools/itertools#945 for more details

### commits

- rust-lang#133501
- rust-lang#133493
- 9456bfe and b21b116 reimplement candidate preference based on rust-lang#132325, not yet a separate PR
- c3ef9cd is a rebased version of rust-lang#125334, unsure whether I actually want to land this PR for now

r? `@ghost`
@bors
Copy link
Contributor

bors commented Nov 27, 2024

⌛ Trying commit f631ca8 with merge ca04381...

@compiler-errors
Copy link
Member

@rust-log-analyzer

This comment was marked as off-topic.

@rust-log-analyzer

This comment has been minimized.

@bors
Copy link
Contributor

bors commented Nov 27, 2024

💔 Test failed - checks-actions

@bors bors added S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Nov 27, 2024
@bors
Copy link
Contributor

bors commented Nov 27, 2024

☔ The latest upstream changes (presumably #133527) made this pull request unmergeable. Please resolve the merge conflicts.

@lqd
Copy link
Member

lqd commented Nov 27, 2024

Next failure is on color-print-proc-macro-0.3.6 while building cargo.

thesignal

pub fn repro() -> impl FnMut() {
    if true {
        || ()
    } else {
        || ()
    }
}

godbolt

@compiler-errors
Copy link
Member

@bors try

bors added a commit to rust-lang-ci/rust that referenced this pull request Nov 27, 2024
[DO NOT MERGE] bootstrap with `-Znext-solver=globally`

A revival of rust-lang#124812.

Current status:

`./x.py b --stage 2` passes 🎉

### commits

- rust-lang#133501
- rust-lang#133493
- 9456bfe and b21b116 reimplement candidate preference based on rust-lang#132325, not yet a separate PR
- c3ef9cd is a rebased version of rust-lang#125334, unsure whether I actually want to land this PR for now
- rust-lang#133517
* rust-lang#133518
* rust-lang#133519
* rust-lang#133520
* rust-lang#133521
* rust-lang#133524

r? `@ghost`
@bors
Copy link
Contributor

bors commented Nov 27, 2024

⌛ Trying commit 6210ed3 with merge ac5ccad...

@rust-log-analyzer

This comment has been minimized.

@rust-log-analyzer

This comment has been minimized.

@bors
Copy link
Contributor

bors commented Nov 27, 2024

💔 Test failed - checks-actions

@compiler-errors
Copy link
Member

@bors try

bors added a commit to rust-lang-ci/rust that referenced this pull request Nov 27, 2024
[DO NOT MERGE] bootstrap with `-Znext-solver=globally`

A revival of rust-lang#124812.

Current status:

`./x.py b --stage 2` passes 🎉

### commits

- rust-lang#133501
- rust-lang#133493
- 9456bfe and b21b116 reimplement candidate preference based on rust-lang#132325, not yet a separate PR
- c3ef9cd is a rebased version of rust-lang#125334, unsure whether I actually want to land this PR for now
- rust-lang#133517
* rust-lang#133518
* rust-lang#133519
* rust-lang#133520
* rust-lang#133521
* rust-lang#133524

r? `@ghost`
@bors
Copy link
Contributor

bors commented Nov 27, 2024

⌛ Trying commit 8fa8f40 with merge 550ae0d...

@lqd
Copy link
Member

lqd commented Nov 27, 2024

I was reducing the new failure but you've already fixed it ^^

@rust-log-analyzer

This comment has been minimized.

@rust-log-analyzer

This comment has been minimized.

@rust-log-analyzer

This comment has been minimized.

@rust-log-analyzer

This comment has been minimized.

@rust-log-analyzer

This comment has been minimized.

@rustbot rustbot added the A-query-system Area: The rustc query system (https://rustc-dev-guide.rust-lang.org/query.html) label Dec 3, 2024
@compiler-errors
Copy link
Member

@bors try @rust-timer queue

@rust-timer

This comment has been minimized.

@rustbot rustbot added the S-waiting-on-perf Status: Waiting on a perf run to be completed. label Dec 3, 2024
bors added a commit to rust-lang-ci/rust that referenced this pull request Dec 3, 2024
[DO NOT MERGE] bootstrap with `-Znext-solver=globally`

A revival of rust-lang#124812.

Current status:

~~`./x.py b --stage 2` passes 🎉~~

`try` builds succeed 🎉 🎉 🎉

### commits

- rust-lang#133643
- ce66d92 is a rebased version of rust-lang#125334, unsure whether I actually want to land this PR for now
* rust-lang#133559
* rust-lang#133558

r? `@ghost`
@bors
Copy link
Contributor

bors commented Dec 3, 2024

⌛ Trying commit edd157a with merge 3de81bd...

@rust-log-analyzer

This comment has been minimized.

@bors
Copy link
Contributor

bors commented Dec 4, 2024

☀️ Try build successful - checks-actions
Build commit: 3de81bd (3de81bd29354b23a3b553cc00b255661e811dc55)

@rust-timer

This comment has been minimized.

@rust-timer
Copy link
Collaborator

Finished benchmarking commit (3de81bd): comparison URL.

Overall result: ❌✅ regressions and improvements - BENCHMARK(S) FAILED

Benchmarking this pull request likely means that it is perf-sensitive, so we're automatically marking it as not fit for rolling up. While you can manually mark this PR as fit for rollup, we strongly recommend not doing so since this PR may lead to changes in compiler perf.

Next Steps: If you can justify the regressions found in this try perf run, please indicate this with @rustbot label: +perf-regression-triaged along with sufficient written justification. If you cannot justify the regressions please fix the regressions and do another perf run. If the next run shows neutral or positive results, the label will be automatically removed.

@bors rollup=never
@rustbot label: -S-waiting-on-perf +perf-regression

❗ ❗ ❗ ❗ ❗
Warning ⚠️: The following benchmark(s) failed to build:

  • wg-grammar
  • nalgebra-0.33.0
  • projection-caching

❗ ❗ ❗ ❗ ❗

Instruction count

This is the most reliable metric that we have; it was used to determine the overall result at the top of this comment. However, even this metric can sometimes exhibit noise.

mean range count
Regressions ❌
(primary)
213.6% [0.4%, 13500.3%] 268
Regressions ❌
(secondary)
108.2% [0.3%, 1107.7%] 222
Improvements ✅
(primary)
-2.7% [-2.7%, -2.7%] 1
Improvements ✅
(secondary)
-0.6% [-1.2%, -0.3%] 5
All ❌✅ (primary) 212.8% [-2.7%, 13500.3%] 269

Max RSS (memory usage)

Results (primary 0.3%, secondary -2.3%)

This is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.

mean range count
Regressions ❌
(primary)
8.7% [1.2%, 27.3%] 53
Regressions ❌
(secondary)
10.0% [3.5%, 15.1%] 9
Improvements ✅
(primary)
-3.0% [-6.0%, -0.7%] 137
Improvements ✅
(secondary)
-3.2% [-8.2%, -0.9%] 127
All ❌✅ (primary) 0.3% [-6.0%, 27.3%] 190

Cycles

Results (primary 198.7%, secondary 115.6%)

This is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.

mean range count
Regressions ❌
(primary)
198.7% [1.2%, 9808.2%] 192
Regressions ❌
(secondary)
115.6% [1.0%, 882.4%] 155
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) 198.7% [1.2%, 9808.2%] 192

Binary size

Results (primary -0.0%)

This is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.

mean range count
Regressions ❌
(primary)
0.2% [0.2%, 0.2%] 1
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
-0.1% [-0.1%, -0.0%] 7
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) -0.0% [-0.1%, 0.2%] 8

Bootstrap: 766.885s -> 1001.323s (30.57%)
Artifact size: 330.85 MiB -> 316.24 MiB (-4.42%)

@rustbot rustbot added perf-regression Performance regression. and removed S-waiting-on-perf Status: Waiting on a perf run to be completed. labels Dec 4, 2024
@rust-log-analyzer

This comment has been minimized.

@bors
Copy link
Contributor

bors commented Dec 4, 2024

☔ The latest upstream changes (presumably #133865) made this pull request unmergeable. Please resolve the merge conflicts.

@rust-log-analyzer
Copy link
Collaborator

The job x86_64-gnu-tools failed! Check out the build log: (web) (plain)

Click to see the possible cause of the failure (guessed by this bot)
   Compiling http-body-util v0.1.2
   Compiling futures v0.3.30
   Compiling hyper-util v0.1.8
   Compiling scraper v0.20.0
error[E0391]: cycle detected when type-checking `client::legacy::client::<impl at /cargo/registry/src/index.crates.io-6f17d22bba15001f/hyper-util-0.1.8/src/client/legacy/client.rs:140:1: 145:53>::connect_to`
   --> /cargo/registry/src/index.crates.io-6f17d22bba15001f/hyper-util-0.1.8/src/client/legacy/client.rs:500:5
500 | /     fn connect_to(
501 | |         &self,
501 | |         &self,
502 | |         pool_key: PoolKey,
503 | |     ) -> impl Lazy<Output = Result<pool::Pooled<PoolClient<B>, PoolKey>, Error>> + Send + Unpin
    |
    |
note: ...which requires coroutine witness types for `client::legacy::client::<impl at /cargo/registry/src/index.crates.io-6f17d22bba15001f/hyper-util-0.1.8/src/client/legacy/client.rs:140:1: 145:53>::connect_to::{closure#0}::{closure#1}::{closure#0}`...
   --> /cargo/registry/src/index.crates.io-6f17d22bba15001f/hyper-util-0.1.8/src/client/legacy/client.rs:559:47
    |
559 |                         Either::Left(Box::pin(async move {
    |                                               ^^^^^^^^^^
note: ...which requires promoting constants in MIR for `client::legacy::client::<impl at /cargo/registry/src/index.crates.io-6f17d22bba15001f/hyper-util-0.1.8/src/client/legacy/client.rs:140:1: 145:53>::connect_to::{closure#0}::{closure#1}::{closure#0}`...
   --> /cargo/registry/src/index.crates.io-6f17d22bba15001f/hyper-util-0.1.8/src/client/legacy/client.rs:559:47
    |
559 |                         Either::Left(Box::pin(async move {
    |                                               ^^^^^^^^^^
note: ...which requires checking if `client::legacy::client::<impl at /cargo/registry/src/index.crates.io-6f17d22bba15001f/hyper-util-0.1.8/src/client/legacy/client.rs:140:1: 145:53>::connect_to::{closure#0}::{closure#1}::{closure#0}` contains FFI-unwind calls...
   --> /cargo/registry/src/index.crates.io-6f17d22bba15001f/hyper-util-0.1.8/src/client/legacy/client.rs:559:47
    |
559 |                         Either::Left(Box::pin(async move {
    |                                               ^^^^^^^^^^
note: ...which requires building MIR for `client::legacy::client::<impl at /cargo/registry/src/index.crates.io-6f17d22bba15001f/hyper-util-0.1.8/src/client/legacy/client.rs:140:1: 145:53>::connect_to::{closure#0}::{closure#1}::{closure#0}`...
   --> /cargo/registry/src/index.crates.io-6f17d22bba15001f/hyper-util-0.1.8/src/client/legacy/client.rs:559:47
    |
559 |                         Either::Left(Box::pin(async move {
    |                                               ^^^^^^^^^^
note: ...which requires match-checking `client::legacy::client::<impl at /cargo/registry/src/index.crates.io-6f17d22bba15001f/hyper-util-0.1.8/src/client/legacy/client.rs:140:1: 145:53>::connect_to::{closure#0}::{closure#1}::{closure#0}`...
   --> /cargo/registry/src/index.crates.io-6f17d22bba15001f/hyper-util-0.1.8/src/client/legacy/client.rs:559:47
    |
559 |                         Either::Left(Box::pin(async move {
    |                                               ^^^^^^^^^^
note: ...which requires type-checking `client::legacy::client::<impl at /cargo/registry/src/index.crates.io-6f17d22bba15001f/hyper-util-0.1.8/src/client/legacy/client.rs:140:1: 145:53>::connect_to::{closure#0}::{closure#1}::{closure#0}`...
   --> /cargo/registry/src/index.crates.io-6f17d22bba15001f/hyper-util-0.1.8/src/client/legacy/client.rs:559:47
    |
559 |                         Either::Left(Box::pin(async move {
    |                                               ^^^^^^^^^^
    = note: ...which again requires type-checking `client::legacy::client::<impl at /cargo/registry/src/index.crates.io-6f17d22bba15001f/hyper-util-0.1.8/src/client/legacy/client.rs:140:1: 145:53>::connect_to`, completing the cycle
note: cycle used when computing type of opaque `client::legacy::client::<impl at /cargo/registry/src/index.crates.io-6f17d22bba15001f/hyper-util-0.1.8/src/client/legacy/client.rs:140:1: 145:53>::connect_to::{opaque#0}`
   --> /cargo/registry/src/index.crates.io-6f17d22bba15001f/hyper-util-0.1.8/src/client/legacy/client.rs:503:10
    |
503 |     ) -> impl Lazy<Output = Result<pool::Pooled<PoolClient<B>, PoolKey>, Error>> + Send + Unpin
    |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    = note: see https://rustc-dev-guide.rust-lang.org/overview.html#queries and https://rustc-dev-guide.rust-lang.org/query.html for more information
For more information about this error, try `rustc --explain E0391`.
error: could not compile `hyper-util` (lib) due to 1 previous error
Build completed unsuccessfully in 0:01:09
+ set -e
+ set -e
+ cat /tmp/toolstate/toolstates.json
{"lld-wrapper":"test-fail","rustbook":"test-fail","wasm-component-ld":"test-fail"}
+ python3 ../x.py test --stage 2 check-tools
##[group]Building bootstrap
    Finished `dev` profile [unoptimized] target(s) in 0.05s
##[endgroup]
WARN: currently no CI rustc builds have rustc debug assertions enabled. Please either set `rust.debug-assertions` to `false` if you want to use download CI rustc or set `rust.download-rustc` to `false`.
ERROR: Tool `book` was not recorded in tool state.
ERROR: Tool `nomicon` was not recorded in tool state.
ERROR: Tool `reference` was not recorded in tool state.
ERROR: Tool `rust-by-example` was not recorded in tool state.
ERROR: Tool `edition-guide` was not recorded in tool state.
ERROR: Tool `embedded-book` was not recorded in tool state.
  local time: Tue Dec 17 14:09:56 UTC 2024
  network time: Tue, 17 Dec 2024 14:09:56 GMT
##[error]Process completed with exit code 1.
Post job cleanup.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-query-system Area: The rustc query system (https://rustc-dev-guide.rust-lang.org/query.html) perf-regression Performance regression. S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. WG-trait-system-refactor The Rustc Trait System Refactor Initiative (-Znext-solver)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants