-
Notifications
You must be signed in to change notification settings - Fork 12.8k
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
base: master
Are you sure you want to change the base?
Conversation
This comment has been minimized.
This comment has been minimized.
c3ef9cd
to
f631ca8
Compare
@bors try |
[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`
I also pushed:
I think this is sufficient to make the compiler build, or at least |
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment has been minimized.
This comment has been minimized.
💔 Test failed - checks-actions |
☔ The latest upstream changes (presumably #133527) made this pull request unmergeable. Please resolve the merge conflicts. |
Next failure is on pub fn repro() -> impl FnMut() {
if true {
|| ()
} else {
|| ()
}
} |
f631ca8
to
6210ed3
Compare
@bors try |
[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`
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
💔 Test failed - checks-actions |
6210ed3
to
8fa8f40
Compare
@bors try |
[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`
I was reducing the new failure but you've already fixed it ^^ |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
💔 Test failed - checks-actions |
@bors try |
⌛ Trying commit 000f7bd with merge bccf3b7b458a76f118143edf3dfd56b763e76c39... |
[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`
This comment has been minimized.
This comment has been minimized.
☀️ Try build successful - checks-actions |
@rust-timer build bccf3b7 |
Queued bccf3b7 with parent 66adeaf, future comparison URL. |
benchmarking bootstrap somehow didn't succeed on the perf collector 🤔 -- could be a timeout maybe. |
results are actually incomplete, a benchmark fails in a way that is unexpected by the collector (measureme crashing that |
The job Click to see the possible cause of the failure (guessed by this bot)
|
I had to remove the commit from the perf.RLO database, as it was causing issues in the collector, it was crashing. |
How can we figure out why that happened so that we can fix it? |
I wanted to make a proper repro for y'all but I'm still working on fixing decodeme and the collector so this doesn't brick it in the future anymore. If it can't wait, and you want to reproduce in rustc-perf: As-is, the file will be hidden in a tmp folder, so the setup the above command does basically goes like this: cargo check on the benchmark with self-profiling turned on, then applying one (or all) of the patches in the same folder and cargo checking again (always with self-profiling) to reproduce the issue (hopefully). |
I'll see if I can get an actual MCVE tomorrow, but in the meantime, it seems this incremental ICE is the root cause. From the benchmark: [package]
name = "issue-46449-byte-filling-slowing-down-sroa"
version = "0.1.0"
[dependencies]
futures = "=0.1.17" #![allow(unexpected_cfgs)]
extern crate futures;
use futures::{Future, Poll};
const BUFFER_SIZE: usize = 1;
#[cfg(before)]
pub struct Error(::std::io::Error);
#[cfg(after)]
pub struct Error();
struct Dummy<T>(T);
impl<T> Future for Dummy<T> {
type Item = T;
type Error = Error;
fn poll(&mut self) -> Poll<Self::Item, Self::Error> {
loop {}
}
}
pub fn run() -> Box<dyn Future<Item = (), Error = Error>> {
let c2s = Dummy([0u8; BUFFER_SIZE]).then(move |_| Ok(0));
let s2c = Dummy(()).then(move |_| Ok(0));
let fut = c2s.select(s2c)
.and_then(move |_| Ok(()))
.map_err(|(err, _)| err);
Box::new(fut)
} > cargo +bccf3b7b458a76f118143edf3dfd56b763e76c39 rustc -q -- --cfg before && cargo +bccf3b7b458a76f118143edf3dfd56b763e76c39 rustc -q -- --cfg after
thread 'rustc' panicked at compiler/rustc_middle/src/query/on_disk_cache.rs:729:21:
Failed to convert DefPathHash DefPathHash(Fingerprint(10053302304625752304, 298815228590218976))
... |
A revival of #124812.
Current status:
./x.py b --stage 2
passes 🎉try
builds succeed 🎉 🎉 🎉commits
DeepRejectCtxt
#133524adjust_for_branches
#133559probe_adt
#133558r? @ghost