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

nightly-2021-09-03: Compiler hang in project with a lot of axum crate routes #89601

Closed
paolobarbolini opened this issue Oct 6, 2021 · 7 comments
Labels
E-needs-mcve Call for participation: This issue has a repro, but needs a Minimal Complete and Verifiable Example I-hang Issue: The compiler never terminates, due to infinite loops, deadlock, livelock, etc. P-high High priority regression-from-stable-to-stable Performance or correctness regression from one stable version to another. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.

Comments

@paolobarbolini
Copy link
Contributor

paolobarbolini commented Oct 6, 2021

https://github.com/paolobarbolini/rustc-pr85868-regression

This small reproduction takes 20 seconds to cargo check on 50171c3, 45 seconds on 371f3cd.
On the real project, which is the one I run the bisection on, 50171c3 takes 1 minute, 371f3cd hangs for 12+ hours.

Bisection

searched nightlies: from nightly-2021-08-25 to nightly-2021-09-10
regressed nightly: nightly-2021-09-03
searched commit range: 50171c3...371f3cd
regressed commit: 371f3cd

bisected with cargo-bisect-rustc v0.6.0

Host triple: x86_64-unknown-linux-gnu
Reproduce with:

cargo bisect-rustc 2021-08-25 --end 2021-09-10 --timeout 90 

Bisected with rust-lang/cargo-bisect-rustc#135 😃

@SNCPlay42
Copy link
Contributor

Looks like another case of #89195, with method chains creating big nested types like the reduction in that issue.

@ehuss ehuss added I-hang Issue: The compiler never terminates, due to infinite loops, deadlock, livelock, etc. I-prioritize Issue: Indicates that prioritization has been requested for this issue. regression-from-stable-to-stable Performance or correctness regression from one stable version to another. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. E-needs-mcve Call for participation: This issue has a repro, but needs a Minimal Complete and Verifiable Example labels Oct 23, 2021
@apiraino
Copy link
Contributor

Assigning priority as discussed in the Zulip thread of the Prioritization Working Group.

@rustbot label -I-prioritize +P-high

@rustbot rustbot added P-high High priority and removed I-prioritize Issue: Indicates that prioritization has been requested for this issue. labels Oct 28, 2021
@jplatte
Copy link
Contributor

jplatte commented Nov 3, 2021

FWIW axum 0.3.0 (released yesterday) is almost definitely not affected by this.

@shirshak55
Copy link
Contributor

@jplatte It's because they used a box to fix this issue. So I don't think the underlying problem is solved?

@davidpdrsn
Copy link

@shirshak55 Thats correct.

@jplatte
Copy link
Contributor

jplatte commented Nov 9, 2021

I didn't want to imply that the underlying problem is solved. Just thought this info would be interesting for people who are subscribed to this issue because they want to use axum + a recent Rust version.

@pnkfelix
Copy link
Member

pnkfelix commented Nov 11, 2022

discussed in P-high review

closing as resolved, both due to axum-local workarounds first, and later due to #89195 being resolved by #90423

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
E-needs-mcve Call for participation: This issue has a repro, but needs a Minimal Complete and Verifiable Example I-hang Issue: The compiler never terminates, due to infinite loops, deadlock, livelock, etc. P-high High priority regression-from-stable-to-stable Performance or correctness regression from one stable version to another. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.
Projects
None yet
Development

No branches or pull requests

9 participants