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

panic in nightly compiler installing mdbook #130774

Closed
nomicon-kr opened this issue Sep 24, 2024 · 3 comments
Closed

panic in nightly compiler installing mdbook #130774

nomicon-kr opened this issue Sep 24, 2024 · 3 comments
Labels
C-bug Category: This is a bug. I-ICE Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️ T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.

Comments

@nomicon-kr
Copy link

Code

cargo install mdbook

Meta

rustc --version --verbose:

rustc 1.83.0-nightly (7042c269c 2024-09-23)
binary: rustc
commit-hash: 7042c269c166191cd5d8daf0409890903df7af57
commit-date: 2024-09-23
host: x86_64-unknown-linux-gnu
release: 1.83.0-nightly
LLVM version: 19.1.0

Error output

Compiling http-body v0.4.6
thread 'rustc' panicked at compiler/rustc_mir_transform/src/validate.rs:152:26:
broken MIR in Item(DefId(0:23 ~ http_body[613c]::collect::{impl#1}::poll)) (after phase change to runtime-optimized) at bb22[2]:
Normal edge to BasicBlockData { statements: [StorageDead(_46)], terminator: Some(Terminator { source_info: SourceInfo { span: /home/runner/.cargo/registry/src/index.crates.io-6f17d22bba15001f/http-body-0.4.6/src/collect.rs:69:13: 69:14 (#0), scope: scope[1] }, kind: goto -> bb41 }), is_cleanup: false } violates unwind invariants (cleanup true -> false)
stack backtrace:
   0: rust_begin_unwind
   1: core::panicking::panic_fmt
   2: <rustc_mir_transform::validate::Validator as rustc_mir_transform::pass_manager::MirPass>::run_pass
   3: rustc_mir_transform::pass_manager::run_passes_inner
   4: rustc_mir_transform::optimized_mir
      [... omitted 1 frame ...]
   5: rustc_middle::query::plumbing::query_get_at::<rustc_query_system::query::caches::DefIdCache<rustc_middle::query::erase::Erased<[u8; 8]>>>
   6: <rustc_metadata::rmeta::encoder::EncodeContext>::encode_crate_root
   7: rustc_metadata::rmeta::encoder::encode_metadata
   8: rustc_metadata::fs::encode_and_write_metadata
   9: <rustc_interface::queries::Linker>::codegen_and_build_linker
  10: rustc_interface::interface::run_compiler::<core::result::Result<(), rustc_span::ErrorGuaranteed>, rustc_driver_impl::run_compiler::{closure#0}>::{closure#1}
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
error: the compiler unexpectedly panicked. this is a bug.
note: we would appreciate a bug report: https://github.com/rust-lang/rust/issues/new?labels=C-bug%2C+I-ICE%2C+T-compiler&template=ice.md
note: please make sure that you have updated to the latest nightly
note: please attach the file at `/home/runner/.cargo/registry/src/index.crates.io-6f17d22bba15001f/http-body-0.4.6/rustc-ice-2024-09-24T07_18_58-3914.txt` to your bug report
note: compiler flags: --crate-type lib -C opt-level=3 -C embed-bitcode=no -C strip=debuginfo
note: some of the compiler flags provided by cargo are hidden
query stack during panic:
#0 [optimized_mir] optimizing MIR for `collect::<impl at /home/runner/.cargo/registry/src/index.crates.io-6f17d22bba15001f/http-body-0.4.6/src/collect.rs:37:1: 37:36>::poll`
end of query stack
error: could not compile `http-body` (lib)
Caused by:
  process didn't exit successfully: `/home/runner/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/rustc --crate-name http_body --edition=2018 /home/runner/.cargo/registry/src/index.crates.io-6f17d22bba15001f/http-body-0.4.6/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C embed-bitcode=no --check-cfg 'cfg(docsrs)' --check-cfg 'cfg(feature, values())' -C metadata=82a59836d3af2aec -C extra-filename=-82a59836d3af2aec --out-dir /tmp/cargo-installtQqe1W/release/deps -C strip=debuginfo -L dependency=/tmp/cargo-installtQqe1W/release/deps --extern bytes=/tmp/cargo-installtQqe1W/release/deps/libbytes-6e7a8737cc65033e.rmeta --extern http=/tmp/cargo-installtQqe1W/release/deps/libhttp-6fcad499b8642d62.rmeta --extern pin_project_lite=/tmp/cargo-installtQqe1W/release/deps/libpin_project_lite-919c6a70ea62ed97.rmeta --cap-lints allow -D warnings` (exit status: 101)
warning: build failed, waiting for other jobs to finish...
error: failed to compile `mdbook v0.4.40`, intermediate artifacts can be found at `/tmp/cargo-installtQqe1W`.
To reuse those artifacts with a future compilation, set the environment variable `CARGO_TARGET_DIR` to that path.
Backtrace

Compiling http-body v0.4.6
   Compiling crossbeam-channel v0.5.13
thread 'rustc' panicked at compiler/rustc_mir_transform/src/validate.rs:152:26:
broken MIR in Item(DefId(0:23 ~ http_body[613c]::collect::{impl#1}::poll)) (after phase change to runtime-optimized) at bb22[2]:
Normal edge to BasicBlockData { statements: [StorageDead(_46)], terminator: Some(Terminator { source_info: SourceInfo { span: /home/runner/.cargo/registry/src/index.crates.io-6f17d22bba15001f/http-body-0.4.6/src/collect.rs:69:13: 69:14 (#0), scope: scope[1] }, kind: goto -> bb41 }), is_cleanup: false } violates unwind invariants (cleanup true -> false)
stack backtrace:
   0:     0x7f27c6c8832a - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::haf9d4ce087fe74a0
   1:     0x7f27c7403666 - core::fmt::write::h6d8d6eef4a4af1ac
   2:     0x7f27c8525db3 - std::io::Write::write_fmt::h9c1a7b2c301e0052
   3:     0x7f27c6c88182 - std::sys::backtrace::BacktraceLock::print::h5a5be8b1e95a2bbb
   4:     0x7f27c6c8a901 - std::panicking::default_hook::{{closure}}::ha72f3fa07467f26a
   5:     0x7f27c6c8a734 - std::panicking::default_hook::hcc7760cf4378effc
   6:     0x7f27c5d8286f - std[25b33fdea409b280]::panicking::update_hook::<alloc[1694921db2598cc8]::boxed::Box<rustc_driver_impl[91319f0e19a4d720]::install_ice_hook::{closure#0}>>::{closure#0}
   7:     0x7f27c6c8b018 - std::panicking::rust_panic_with_hook::hfa739d875be2cf67
   8:     0x7f27c6c8adea - std::panicking::begin_panic_handler::{{closure}}::h9a9134f6e05b41bd
   9:     0x7f27c6c887d9 - std::sys::backtrace::__rust_end_short_backtrace::h35fa4dfdd9fe9e0c
  10:     0x7f27c6c8aaac - rust_begin_unwind
  11:     0x7f27c449e7b0 - core::panicking::panic_fmt::hc3e7c6c5c469a97f
  12:     0x7f27c4ab311a - <rustc_mir_transform[2c59a960358d0625]::validate::Validator as rustc_mir_transform[2c59a960358d0625]::pass_manager::MirPass>::run_pass
  13:     0x7f27c740dc64 - rustc_mir_transform[2c59a960358d0625]::pass_manager::run_passes_inner
  14:     0x7f27c7e03922 - rustc_mir_transform[2c59a960358d0625]::optimized_mir
  15:     0x7f27c7e021db - rustc_query_impl[16add4a89c515f02]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[16add4a89c515f02]::query_impl::optimized_mir::dynamic_query::{closure#2}::{closure#0}, rustc_middle[5962dfe9f3174182]::query::erase::Erased<[u8; 8usize]>>
  16:     0x7f27c7431eae - rustc_query_system[cd92c81c02f5c019]::query::plumbing::try_execute_query::<rustc_query_impl[16add4a89c515f02]::DynamicConfig<rustc_query_system[cd92c81c02f5c019]::query::caches::DefIdCache<rustc_middle[5962dfe9f3174182]::query::erase::Erased<[u8; 8usize]>>, false, false, false>, rustc_query_impl[16add4a89c515f02]::plumbing::QueryCtxt, false>
  17:     0x7f27c743145f - rustc_query_impl[16add4a89c515f02]::query_impl::optimized_mir::get_query_non_incr::__rust_end_short_backtrace
  18:     0x7f27c7e0e963 - rustc_middle[5962dfe9f3174182]::query::plumbing::query_get_at::<rustc_query_system[cd92c81c02f5c019]::query::caches::DefIdCache<rustc_middle[5962dfe9f3174182]::query::erase::Erased<[u8; 8usize]>>>
  19:     0x7f27c7e16305 - <rustc_metadata[bda71c6b2cfd99ea]::rmeta::encoder::EncodeContext>::encode_crate_root
  20:     0x7f27c84b8ad3 - rustc_metadata[bda71c6b2cfd99ea]::rmeta::encoder::encode_metadata
  21:     0x7f27c84c0f54 - rustc_metadata[bda71c6b2cfd99ea]::fs::encode_and_write_metadata
  22:     0x7f27c84bfd43 - <rustc_interface[1294e3f809d58823]::queries::Linker>::codegen_and_build_linker
  23:     0x7f27c812a34b - rustc_interface[1294e3f809d58823]::interface::run_compiler::<core[1e18fbba9f4dcc19]::result::Result<(), rustc_span[d14b83658cea8543]::ErrorGuaranteed>, rustc_driver_impl[91319f0e19a4d720]::run_compiler::{closure#0}>::{closure#1}
  24:     0x7f27c81bf210 - std[25b33fdea409b280]::sys::backtrace::__rust_begin_short_backtrace::<rustc_interface[1294e3f809d58823]::util::run_in_thread_with_globals<rustc_interface[1294e3f809d58823]::util::run_in_thread_pool_with_globals<rustc_interface[1294e3f809d58823]::interface::run_compiler<core[1e18fbba9f4dcc19]::result::Result<(), rustc_span[d14b83658cea8543]::ErrorGuaranteed>, rustc_driver_impl[91319f0e19a4d720]::run_compiler::{closure#0}>::{closure#1}, core[1e18fbba9f4dcc19]::result::Result<(), rustc_span[d14b83658cea8543]::ErrorGuaranteed>>::{closure#0}, core[1e18fbba9f4dcc19]::result::Result<(), rustc_span[d14b83658cea8543]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[1e18fbba9f4dcc19]::result::Result<(), rustc_span[d14b83658cea8543]::ErrorGuaranteed>>
  25:     0x7f27c81bf87a - <<std[25b33fdea409b280]::thread::Builder>::spawn_unchecked_<rustc_interface[1294e3f809d58823]::util::run_in_thread_with_globals<rustc_interface[1294e3f809d58823]::util::run_in_thread_pool_with_globals<rustc_interface[1294e3f809d58823]::interface::run_compiler<core[1e18fbba9f4dcc19]::result::Result<(), rustc_span[d14b83658cea8543]::ErrorGuaranteed>, rustc_driver_impl[91319f0e19a4d720]::run_compiler::{closure#0}>::{closure#1}, core[1e18fbba9f4dcc19]::result::Result<(), rustc_span[d14b83658cea8543]::ErrorGuaranteed>>::{closure#0}, core[1e18fbba9f4dcc19]::result::Result<(), rustc_span[d14b83658cea8543]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[1e18fbba9f4dcc19]::result::Result<(), rustc_span[d14b83658cea8543]::ErrorGuaranteed>>::{closure#1} as core[1e18fbba9f4dcc19]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
  26:     0x7f27c81bfc6b - std::sys::pal::unix::thread::Thread::new::thread_start::h9c0c387d4b02e16a
  27:     0x7f27c2494ac3 - <unknown>
  28:     0x7f27c2526850 - <unknown>
  29:                0x0 - <unknown>
error: the compiler unexpectedly panicked. this is a bug.
note: we would appreciate a bug report: https://github.com/rust-lang/rust/issues/new?labels=C-bug%2C+I-ICE%2C+T-compiler&template=ice.md
note: please make sure that you have updated to the latest nightly
note: please attach the file at `/home/runner/.cargo/registry/src/index.crates.io-6f17d22bba15001f/http-body-0.4.6/rustc-ice-2024-09-24T07_35_27-3908.txt` to your bug report
note: compiler flags: --crate-type lib -C opt-level=3 -C embed-bitcode=no -C strip=debuginfo
note: some of the compiler flags provided by cargo are hidden
query stack during panic:
#0 [optimized_mir] optimizing MIR for `collect::<impl at /home/runner/.cargo/registry/src/index.crates.io-6f17d22bba15001f/http-body-0.4.6/src/collect.rs:37:1: 37:36>::poll`
end of query stack
error: could not compile `http-body` (lib)
Caused by:
  process didn't exit successfully: `/home/runner/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/rustc --crate-name http_body --edition=2018 /home/runner/.cargo/registry/src/index.crates.io-6f17d22bba15001f/http-body-0.4.6/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C embed-bitcode=no --check-cfg 'cfg(docsrs)' --check-cfg 'cfg(feature, values())' -C metadata=82a59836d3af2aec -C extra-filename=-82a59836d3af2aec --out-dir /tmp/cargo-installtvw7lI/release/deps -C strip=debuginfo -L dependency=/tmp/cargo-installtvw7lI/release/deps --extern bytes=/tmp/cargo-installtvw7lI/release/deps/libbytes-6e7a8737cc65033e.rmeta --extern http=/tmp/cargo-installtvw7lI/release/deps/libhttp-6fcad499b8642d62.rmeta --extern pin_project_lite=/tmp/cargo-installtvw7lI/release/deps/libpin_project_lite-919c6a70ea62ed97.rmeta --cap-lints allow -D warnings` (exit status: 101)

Hi, I couldn't include extra log file, as I was running this inside a GitHub action.

@nomicon-kr nomicon-kr added C-bug Category: This is a bug. I-ICE Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️ T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. labels Sep 24, 2024
@rustbot rustbot added the needs-triage This issue may need triage. Remove it if it has been sufficiently triaged. label Sep 24, 2024
@theemathas
Copy link
Contributor

Likely a duplicate of #130769

jieyouxu added a commit to jieyouxu/rust that referenced this issue Sep 24, 2024
…h_scalar, r=cjgillot"

This reverts commit a772336, reversing
changes made to 702987f.

It seems Apply EarlyOtherwiseBranch to scalar value rust-lang#129047 may have
lead to several nightly regressions:

- rust-lang#130769
- rust-lang#130774
- rust-lang#130771

And since this is a mir-opt ICE that seems to quite easy to trigger with
real-world crates being affected, let's revert for now and reland the
mir-opt later.
jieyouxu added a commit to jieyouxu/rust that referenced this issue Sep 24, 2024
…h_scalar, r=cjgillot"

This reverts commit a772336, reversing
changes made to 702987f.

It seems Apply EarlyOtherwiseBranch to scalar value rust-lang#129047 may have
lead to several nightly regressions:

- rust-lang#130769
- rust-lang#130774
- rust-lang#130771

And since this is a mir-opt ICE that seems to quite easy to trigger with
real-world crates being affected, let's revert for now and reland the
mir-opt later.
@jieyouxu jieyouxu added the E-needs-mcve Call for participation: This issue has a repro, but needs a Minimal Complete and Verifiable Example label Sep 24, 2024
@theemathas
Copy link
Contributor

The error output shows that the panic occurs while compiling the http-body dependency, so the mcve would be the same as the one there.

@rustbot labels -E-needs-mcve

@rustbot rustbot removed the E-needs-mcve Call for participation: This issue has a repro, but needs a Minimal Complete and Verifiable Example label Sep 24, 2024
@jieyouxu
Copy link
Member

Ah right, then is indeed a duplicate of #130769.

@jieyouxu jieyouxu closed this as not planned Won't fix, can't repro, duplicate, stale Sep 24, 2024
bors added a commit to rust-lang-ci/rust that referenced this issue Sep 24, 2024
Revert "Apply EarlyOtherwiseBranch to scalar value rust-lang#129047"

This reverts PR rust-lang#129047, commit a772336, reversing changes made to 702987f.

cc `@DianQK` and `@cjgillot` as the PR author and reviewer of rust-lang#129047 respectively.

It seems [Apply EarlyOtherwiseBranch to scalar value rust-lang#129047](rust-lang#129047) may have lead to several nightly regressions:

- rust-lang#130769
- rust-lang#130774
- rust-lang#130771

Example test that would ICE with changes in rust-lang#129047 (this test is included in this PR):

```rs
//@ compile-flags: -C opt-level=3
//@ check-pass

use std::task::Poll;

pub fn poll(val: Poll<Result<Option<Vec<u8>>, u8>>) {
    match val {
        Poll::Ready(Ok(Some(_trailers))) => {}
        Poll::Ready(Err(_err)) => {}
        Poll::Ready(Ok(None)) => {}
        Poll::Pending => {}
    }
}
```

Since this is a mir-opt ICE that seems to quite easy to trigger with real-world crates being affected, let's revert for now and reland the mir-opt after these are fixed.
bors added a commit to rust-lang-ci/rust that referenced this issue Sep 24, 2024
Revert "Apply EarlyOtherwiseBranch to scalar value rust-lang#129047"

This reverts PR rust-lang#129047, commit a772336, reversing changes made to 702987f.

cc `@DianQK` and `@cjgillot` as the PR author and reviewer of rust-lang#129047 respectively.

It seems [Apply EarlyOtherwiseBranch to scalar value rust-lang#129047](rust-lang#129047) may have lead to several nightly regressions:

- rust-lang#130769
- rust-lang#130774
- rust-lang#130771

Example test that would ICE with changes in rust-lang#129047 (this test is included in this PR):

```rs
//@ compile-flags: -C opt-level=3
//@ check-pass

use std::task::Poll;

pub fn poll(val: Poll<Result<Option<Vec<u8>>, u8>>) {
    match val {
        Poll::Ready(Ok(Some(_trailers))) => {}
        Poll::Ready(Err(_err)) => {}
        Poll::Ready(Ok(None)) => {}
        Poll::Pending => {}
    }
}
```

Since this is a mir-opt ICE that seems to quite easy to trigger with real-world crates being affected, let's revert for now and reland the mir-opt after these are fixed.
@saethlin saethlin removed the needs-triage This issue may need triage. Remove it if it has been sufficiently triaged. label Sep 25, 2024
github-actions bot pushed a commit to rust-lang/miri that referenced this issue Sep 25, 2024
Revert "Apply EarlyOtherwiseBranch to scalar value #129047"

This reverts PR #129047, commit a772336fb3fbd1fe4493077fcfe04e0221296a99, reversing changes made to 702987f75b74f789ba227ee04a3d7bb1680c2309.

cc `@DianQK` and `@cjgillot` as the PR author and reviewer of #129047 respectively.

It seems [Apply EarlyOtherwiseBranch to scalar value #129047](rust-lang/rust#129047) may have lead to several nightly regressions:

- rust-lang/rust#130769
- rust-lang/rust#130774
- rust-lang/rust#130771

Example test that would ICE with changes in #129047 (this test is included in this PR):

```rs
//@ compile-flags: -C opt-level=3
//@ check-pass

use std::task::Poll;

pub fn poll(val: Poll<Result<Option<Vec<u8>>, u8>>) {
    match val {
        Poll::Ready(Ok(Some(_trailers))) => {}
        Poll::Ready(Err(_err)) => {}
        Poll::Ready(Ok(None)) => {}
        Poll::Pending => {}
    }
}
```

Since this is a mir-opt ICE that seems to quite easy to trigger with real-world crates being affected, let's revert for now and reland the mir-opt after these are fixed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C-bug Category: This is a bug. I-ICE Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️ 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

5 participants