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

ICE: glacier/fixed/19064.rs -Zunpretty=thir-tree #85552

Closed
matthiaskrgr opened this issue May 21, 2021 · 3 comments · Fixed by #86251
Closed

ICE: glacier/fixed/19064.rs -Zunpretty=thir-tree #85552

matthiaskrgr opened this issue May 21, 2021 · 3 comments · Fixed by #86251
Labels
C-bug Category: This is a bug. glacier ICE tracked in rust-lang/glacier. 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

@matthiaskrgr
Copy link
Member

matthiaskrgr commented May 21, 2021

Code

code from glacier/fixed/19064.rs

struct Foo(pub str);

impl Foo {
    fn print(&self) {
        match self {
            &Foo(ref s)  => println!("f\"{}\"", s),
        }
    }
}

fn main() {}

Meta

searched nightlies: from nightly-2021-05-18 to nightly-2021-05-20
regressed nightly: nightly-2021-05-20
searched commits: from 4e3e6db to f94942d
regressed commit: f94942d

bisected with cargo-bisect-rustc v0.6.0

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

cargo bisect-rustc --test-dir=/home/matthias/vcs/github/rust_bisect/foo --start=2021-05-18 --end=2021-05-20

Error output

rustc ./19064.rs -Zunpretty=thir-tree

warning: struct is never constructed: `Foo`
 --> ./19064.rs:1:8
  |
1 | struct Foo(pub str);
  |        ^^^
  |
  = note: `#[warn(dead_code)]` on by default

warning: associated function is never used: `print`
 --> ./19064.rs:4:8
  |
4 |     fn print(&self) {
  |        ^^^^^

thread 'rustc' panicked at 'not yet implemented', compiler/rustc_driver/src/pretty.rs:492:13
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

error: internal compiler error: unexpected panic

note: 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: rustc 1.54.0-nightly (fc81ad22c 2021-05-21) running on x86_64-unknown-linux-gnu

note: compiler flags: -Z unpretty=thir-tree

query stack during panic:
end of query stack
warning: 2 warnings emitted

Backtrace

thread 'rustc' panicked at 'not yet implemented', compiler/rustc_driver/src/pretty.rs:492:13
stack backtrace:
   0:     0x7f8802967060 - std::backtrace_rs::backtrace::libunwind::trace::h1037ca7e6eeef65c
                               at /rustc/fc81ad22c453776de16acf9938976930cf8c9401/library/std/src/../../backtrace/src/backtrace/libunwind.rs:90:5
   1:     0x7f8802967060 - std::backtrace_rs::backtrace::trace_unsynchronized::haaefac1bc3669450
                               at /rustc/fc81ad22c453776de16acf9938976930cf8c9401/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
   2:     0x7f8802967060 - std::sys_common::backtrace::_print_fmt::h863a6f5e6d995885
                               at /rustc/fc81ad22c453776de16acf9938976930cf8c9401/library/std/src/sys_common/backtrace.rs:67:5
   3:     0x7f8802967060 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h767e17e1aa7df6a8
                               at /rustc/fc81ad22c453776de16acf9938976930cf8c9401/library/std/src/sys_common/backtrace.rs:46:22
   4:     0x7f88029d4a8c - core::fmt::write::h7aa6cd0067dca82a
                               at /rustc/fc81ad22c453776de16acf9938976930cf8c9401/library/core/src/fmt/mod.rs:1110:17
   5:     0x7f88029588e5 - std::io::Write::write_fmt::h4c802b6f761026c1
                               at /rustc/fc81ad22c453776de16acf9938976930cf8c9401/library/std/src/io/mod.rs:1584:15
   6:     0x7f880296aebb - std::sys_common::backtrace::_print::h2769edb26a7eb606
                               at /rustc/fc81ad22c453776de16acf9938976930cf8c9401/library/std/src/sys_common/backtrace.rs:49:5
   7:     0x7f880296aebb - std::sys_common::backtrace::print::ha71f3549862b4cb6
                               at /rustc/fc81ad22c453776de16acf9938976930cf8c9401/library/std/src/sys_common/backtrace.rs:36:9
   8:     0x7f880296aebb - std::panicking::default_hook::{{closure}}::h95488a3bade217f6
                               at /rustc/fc81ad22c453776de16acf9938976930cf8c9401/library/std/src/panicking.rs:208:50
   9:     0x7f880296a991 - std::panicking::default_hook::h290aa602c0fb11df
                               at /rustc/fc81ad22c453776de16acf9938976930cf8c9401/library/std/src/panicking.rs:225:9
  10:     0x7f880313a03d - rustc_driver::report_ice::hd575aa67be3288bc
  11:     0x7f880296b6c6 - std::panicking::rust_panic_with_hook::hf32c4fa635e215f2
                               at /rustc/fc81ad22c453776de16acf9938976930cf8c9401/library/std/src/panicking.rs:626:17
  12:     0x7f880296b177 - std::panicking::begin_panic_handler::{{closure}}::h95197ccd88846f7a
                               at /rustc/fc81ad22c453776de16acf9938976930cf8c9401/library/std/src/panicking.rs:517:13
  13:     0x7f880296753c - std::sys_common::backtrace::__rust_end_short_backtrace::h7641df9566f7b7d0
                               at /rustc/fc81ad22c453776de16acf9938976930cf8c9401/library/std/src/sys_common/backtrace.rs:141:18
  14:     0x7f880296b109 - rust_begin_unwind
                               at /rustc/fc81ad22c453776de16acf9938976930cf8c9401/library/std/src/panicking.rs:515:5
  15:     0x7f8802936081 - core::panicking::panic_fmt::hbe99dddd3092ba3c
                               at /rustc/fc81ad22c453776de16acf9938976930cf8c9401/library/core/src/panicking.rs:92:14
  16:     0x7f8802935fcd - core::panicking::panic::h3de4db67bd397eb3
                               at /rustc/fc81ad22c453776de16acf9938976930cf8c9401/library/core/src/panicking.rs:50:5
  17:     0x7f8803143e5c - rustc_driver::pretty::print_after_hir_lowering::hef45df26339fcb46
  18:     0x7f880316419c - rustc_interface::passes::QueryContext::enter::h521d1cfc88cc4da1
  19:     0x7f8804c3ce23 - rustc_interface::queries::<impl rustc_interface::interface::Compiler>::enter::h460c5796e582efcd
  20:     0x7f8804c392ec - rustc_span::with_source_map::h5b1831a7c490d4e1
  21:     0x7f8804c3c308 - scoped_tls::ScopedKey<T>::set::ha23e3ea5e8121f7a
  22:     0x7f8804c610fb - std::sys_common::backtrace::__rust_begin_short_backtrace::h547c89617ab570d2
  23:     0x7f8804c37ff5 - core::ops::function::FnOnce::call_once{{vtable.shim}}::he4ef2418a213a503
  24:     0x7f8802977bb7 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h902e2cf6655e1b0c
                               at /rustc/fc81ad22c453776de16acf9938976930cf8c9401/library/alloc/src/boxed.rs:1575:9
  25:     0x7f8802977bb7 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h893a5452154309d1
                               at /rustc/fc81ad22c453776de16acf9938976930cf8c9401/library/alloc/src/boxed.rs:1575:9
  26:     0x7f8802977bb7 - std::sys::unix::thread::Thread::new::thread_start::hdedcb57c96ab37cd
                               at /rustc/fc81ad22c453776de16acf9938976930cf8c9401/library/std/src/sys/unix/thread.rs:71:17
  27:     0x7f8802885299 - start_thread
  28:     0x7f880279a053 - clone
  29:                0x0 - <unknown>

error: internal compiler error: unexpected panic

note: 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: rustc 1.54.0-nightly (fc81ad22c 2021-05-21) running on x86_64-unknown-linux-gnu

note: compiler flags: -Z unpretty=thir-tree

query stack during panic:
end of query stack
warning: 2 warnings emitted

@matthiaskrgr matthiaskrgr 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 May 21, 2021
@matthiaskrgr
Copy link
Member Author

cc @LeSeulArtichaut looks like this was caused by #83842 ?

@PatchMixolydic
Copy link
Contributor

cc rust-lang/project-thir-unsafeck#8

@LeSeulArtichaut
Copy link
Contributor

Yes, this was expected. I will work on fixing this when #85273 is merged.

fanninpm added a commit to fanninpm/glacier that referenced this issue Jun 4, 2021
@rust-lang-glacier-bot rust-lang-glacier-bot added the glacier ICE tracked in rust-lang/glacier. label Jun 5, 2021
GuillaumeGomez added a commit to GuillaumeGomez/rust that referenced this issue Jul 27, 2021
Support -Z unpretty=thir-tree again

Currently `-Z unpretty=thir-tree` is broken after some THIR refactorings. This re-implements it, making it easier to debug THIR-related issues.

We have to do analyzes before getting the THIR, since trying to create THIR from invalid HIR can ICE. But doing those analyzes requires the THIR to be built and stolen. We work around this by creating a separate query to construct the THIR tree string representation.

Closes rust-lang/project-thir-unsafeck#8, fixes rust-lang#85552.
@bors bors closed this as completed in eba3228 Jul 28, 2021
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. glacier ICE tracked in rust-lang/glacier. 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

Successfully merging a pull request may close this issue.

4 participants