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 in rustc_save_analysis::SaveContext>::get_expr_data with -Z save_analysis #106674

Closed
makotokato opened this issue Jan 10, 2023 · 3 comments
Closed
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

@makotokato
Copy link
Contributor

This is similar to #97671, but I don't know whether this is same case. But I attach minimum case.

Step

rustc +nightly -Z save_analysis --emit obj <the following rust content file>

Code

use std::ops::RangeInclusive;
  
pub struct TinyAsciiStr<const N: usize> {
  bytes: [usize; N],
}
  
pub struct Value(Vec<TinyAsciiStr<{ *TYPE_LENGTH.end() }>>);
  
const TYPE_LENGTH: RangeInclusive<usize> = 3..=8;
  
fn main() {
  println!("Hello, world!");
}

Meta

rustc --version --verbose:

rustc 1.66.0 (69f9c33d7 2022-12-12)
binary: rustc
commit-hash: 69f9c33d71c871fc16ac445211281c6e7a340943
commit-date: 2022-12-12
host: x86_64-unknown-linux-gnu
release: 1.66.0
LLVM version: 15.0.2

Error output

thread 'rustc' panicked at '`SaveContext::typeck_results` called outside of body', compiler/rustc_save_analysis/src/lib.rs:520:23
stack backtrace:
   0:     0x7fdcaeb6531a - std::backtrace_rs::backtrace::libunwind::trace::hdca77ab3bec44471
                               at /rustc/3020239de947ec52677e9b4e853a6a9fc073d1f9/library/std/src/../../backtrace/src/backtrace/libunwind.rs:93:5
   1:     0x7fdcaeb6531a - std::backtrace_rs::backtrace::trace_unsynchronized::hfe4f6d6ad029d217
                               at /rustc/3020239de947ec52677e9b4e853a6a9fc073d1f9/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
   2:     0x7fdcaeb6531a - std::sys_common::backtrace::_print_fmt::h4c8d5d821895e43e
                               at /rustc/3020239de947ec52677e9b4e853a6a9fc073d1f9/library/std/src/sys_common/backtrace.rs:65:5
   3:     0x7fdcaeb6531a - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h5adb97f2e886759a
                               at /rustc/3020239de947ec52677e9b4e853a6a9fc073d1f9/library/std/src/sys_common/backtrace.rs:44:22
   4:     0x7fdcaebc855e - core::fmt::write::h828c59fc78b17391
                               at /rustc/3020239de947ec52677e9b4e853a6a9fc073d1f9/library/core/src/fmt/mod.rs:1208:17
   5:     0x7fdcaeb557f5 - std::io::Write::write_fmt::h0c8f0d571d31812a
                               at /rustc/3020239de947ec52677e9b4e853a6a9fc073d1f9/library/std/src/io/mod.rs:1682:15
   6:     0x7fdcaeb650e5 - std::sys_common::backtrace::_print::had90567330241219
                               at /rustc/3020239de947ec52677e9b4e853a6a9fc073d1f9/library/std/src/sys_common/backtrace.rs:47:5
   7:     0x7fdcaeb650e5 - std::sys_common::backtrace::print::hbbbec0560e502261
                               at /rustc/3020239de947ec52677e9b4e853a6a9fc073d1f9/library/std/src/sys_common/backtrace.rs:34:9
   8:     0x7fdcaeb67eaf - std::panicking::default_hook::{{closure}}::h2bb3889378be62ea
                               at /rustc/3020239de947ec52677e9b4e853a6a9fc073d1f9/library/std/src/panicking.rs:267:22
   9:     0x7fdcaeb67beb - std::panicking::default_hook::hd81bf40f79f1c509
                               at /rustc/3020239de947ec52677e9b4e853a6a9fc073d1f9/library/std/src/panicking.rs:286:9
  10:     0x7fdcb1ea25a4 - rustc_driver[f75a378c450d3976]::DEFAULT_HOOK::{closure#0}::{closure#0}
  11:     0x7fdcaeb686ed - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::hce3fec4e8f82d2fd
                               at /rustc/3020239de947ec52677e9b4e853a6a9fc073d1f9/library/alloc/src/boxed.rs:2002:9
  12:     0x7fdcaeb686ed - std::panicking::rust_panic_with_hook::hed3ef434931562fa
                               at /rustc/3020239de947ec52677e9b4e853a6a9fc073d1f9/library/std/src/panicking.rs:692:13
  13:     0x7fdcaeb68469 - std::panicking::begin_panic_handler::{{closure}}::h1d8dbcf5f5b1c94f
                               at /rustc/3020239de947ec52677e9b4e853a6a9fc073d1f9/library/std/src/panicking.rs:579:13
  14:     0x7fdcaeb657cc - std::sys_common::backtrace::__rust_end_short_backtrace::hb1771d014f6a43ea
                               at /rustc/3020239de947ec52677e9b4e853a6a9fc073d1f9/library/std/src/sys_common/backtrace.rs:137:18
  15:     0x7fdcaeb68172 - rust_begin_unwind
                               at /rustc/3020239de947ec52677e9b4e853a6a9fc073d1f9/library/std/src/panicking.rs:575:5
  16:     0x7fdcaebc4f23 - core::panicking::panic_fmt::hb8d8d3d1d1f13c08
                               at /rustc/3020239de947ec52677e9b4e853a6a9fc073d1f9/library/core/src/panicking.rs:64:14
  17:     0x7fdcaebc5091 - core::panicking::panic_display::h56013a9eff8dcbba
                               at /rustc/3020239de947ec52677e9b4e853a6a9fc073d1f9/library/core/src/panicking.rs:147:5
  18:     0x7fdcaebc503b - core::panicking::panic_str::h78d58cdfd82730fc
                               at /rustc/3020239de947ec52677e9b4e853a6a9fc073d1f9/library/core/src/panicking.rs:131:5
  19:     0x7fdcaebc4ca6 - core::option::expect_failed::h3ccef436c6eb3748
                               at /rustc/3020239de947ec52677e9b4e853a6a9fc073d1f9/library/core/src/option.rs:1923:5
  20:     0x7fdcb28f2b6e - <rustc_save_analysis[30a1dc8cb29e505f]::SaveContext>::get_expr_data
  21:     0x7fdcb28d87d8 - <rustc_save_analysis[30a1dc8cb29e505f]::dump_visitor::DumpVisitor as rustc_hir[379d183c392bf9bf]::intravisit::Visitor>::visit_expr
  22:     0x7fdcb28cde38 - <rustc_save_analysis[30a1dc8cb29e505f]::dump_visitor::DumpVisitor as rustc_hir[379d183c392bf9bf]::intravisit::Visitor>::visit_nested_body
  23:     0x7fdcb28f5b6a - rustc_hir[379d183c392bf9bf]::intravisit::walk_generic_args::<rustc_save_analysis[30a1dc8cb29e505f]::dump_visitor::DumpVisitor>
  24:     0x7fdcb28f7afd - rustc_hir[379d183c392bf9bf]::intravisit::walk_path::<rustc_save_analysis[30a1dc8cb29e505f]::dump_visitor::DumpVisitor>
  25:     0x7fdcb28f5b6a - rustc_hir[379d183c392bf9bf]::intravisit::walk_generic_args::<rustc_save_analysis[30a1dc8cb29e505f]::dump_visitor::DumpVisitor>
  26:     0x7fdcb28f7afd - rustc_hir[379d183c392bf9bf]::intravisit::walk_path::<rustc_save_analysis[30a1dc8cb29e505f]::dump_visitor::DumpVisitor>
  27:     0x7fdcb28d34d3 - <rustc_save_analysis[30a1dc8cb29e505f]::dump_visitor::DumpVisitor as rustc_hir[379d183c392bf9bf]::intravisit::Visitor>::visit_item
  28:     0x7fdcb28cde69 - <rustc_save_analysis[30a1dc8cb29e505f]::dump_visitor::DumpVisitor as rustc_hir[379d183c392bf9bf]::intravisit::Visitor>::visit_nested_item
  29:     0x7fdcb28f6518 - rustc_hir[379d183c392bf9bf]::intravisit::walk_mod::<rustc_save_analysis[30a1dc8cb29e505f]::dump_visitor::DumpVisitor>
  30:     0x7fdcb28d1f4b - <rustc_save_analysis[30a1dc8cb29e505f]::dump_visitor::DumpVisitor>::process_crate
  31:     0x7fdcb1e7c558 - <rustc_middle[d3830b30b3b6bcb0]::dep_graph::dep_node::DepKind as rustc_query_system[9558173104ffa4a8]::dep_graph::DepKind>::with_deps::<rustc_save_analysis[30a1dc8cb29e505f]::process_crate<rustc_save_analysis[30a1dc8cb29e505f]::DumpHandler>::{closure#0}, ()>
  32:     0x7fdcb1e779ae - rustc_save_analysis[30a1dc8cb29e505f]::process_crate::<rustc_save_analysis[30a1dc8cb29e505f]::DumpHandler>
  33:     0x7fdcb1e713c9 - <rustc_session[47a5956f246e9bfc]::session::Session>::time::<(), rustc_driver[f75a378c450d3976]::run_compiler::{closure#1}::{closure#2}::{closure#2}::{closure#0}>
  34:     0x7fdcb10b3a54 - <rustc_interface[faf3c08608b72f36]::passes::QueryContext>::enter::<rustc_driver[f75a378c450d3976]::run_compiler::{closure#1}::{closure#2}::{closure#2}, core[77a23254458137f7]::result::Result<(), rustc_errors[515aeced1161bc4]::ErrorGuaranteed>>
  35:     0x7fdcb10afdd3 - <rustc_interface[faf3c08608b72f36]::interface::Compiler>::enter::<rustc_driver[f75a378c450d3976]::run_compiler::{closure#1}::{closure#2}, core[77a23254458137f7]::result::Result<core[77a23254458137f7]::option::Option<rustc_interface[faf3c08608b72f36]::queries::Linker>, rustc_errors[515aeced1161bc4]::ErrorGuaranteed>>
  36:     0x7fdcb10aadb8 - rustc_span[2a613a2f02b6af2c]::with_source_map::<core[77a23254458137f7]::result::Result<(), rustc_errors[515aeced1161bc4]::ErrorGuaranteed>, rustc_interface[faf3c08608b72f36]::interface::run_compiler<core[77a23254458137f7]::result::Result<(), rustc_errors[515aeced1161bc4]::ErrorGuaranteed>, rustc_driver[f75a378c450d3976]::run_compiler::{closure#1}>::{closure#0}::{closure#0}>
  37:     0x7fdcb10aa8a5 - <scoped_tls[cde101c268443f1a]::ScopedKey<rustc_span[2a613a2f02b6af2c]::SessionGlobals>>::set::<rustc_interface[faf3c08608b72f36]::interface::run_compiler<core[77a23254458137f7]::result::Result<(), rustc_errors[515aeced1161bc4]::ErrorGuaranteed>, rustc_driver[f75a378c450d3976]::run_compiler::{closure#1}>::{closure#0}, core[77a23254458137f7]::result::Result<(), rustc_errors[515aeced1161bc4]::ErrorGuaranteed>>
  38:     0x7fdcb10a9e92 - std[f433d76e435f6f2]::sys_common::backtrace::__rust_begin_short_backtrace::<rustc_interface[faf3c08608b72f36]::util::run_in_thread_pool_with_globals<rustc_interface[faf3c08608b72f36]::interface::run_compiler<core[77a23254458137f7]::result::Result<(), rustc_errors[515aeced1161bc4]::ErrorGuaranteed>, rustc_driver[f75a378c450d3976]::run_compiler::{closure#1}>::{closure#0}, core[77a23254458137f7]::result::Result<(), rustc_errors[515aeced1161bc4]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[77a23254458137f7]::result::Result<(), rustc_errors[515aeced1161bc4]::ErrorGuaranteed>>
  39:     0x7fdcb176d81a - <<std[f433d76e435f6f2]::thread::Builder>::spawn_unchecked_<rustc_interface[faf3c08608b72f36]::util::run_in_thread_pool_with_globals<rustc_interface[faf3c08608b72f36]::interface::run_compiler<core[77a23254458137f7]::result::Result<(), rustc_errors[515aeced1161bc4]::ErrorGuaranteed>, rustc_driver[f75a378c450d3976]::run_compiler::{closure#1}>::{closure#0}, core[77a23254458137f7]::result::Result<(), rustc_errors[515aeced1161bc4]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[77a23254458137f7]::result::Result<(), rustc_errors[515aeced1161bc4]::ErrorGuaranteed>>::{closure#1} as core[77a23254458137f7]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
  40:     0x7fdcaeb72b23 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h8f2b7af54766d232
                               at /rustc/3020239de947ec52677e9b4e853a6a9fc073d1f9/library/alloc/src/boxed.rs:1988:9
  41:     0x7fdcaeb72b23 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::hdc261654aadd28fc
                               at /rustc/3020239de947ec52677e9b4e853a6a9fc073d1f9/library/alloc/src/boxed.rs:1988:9
  42:     0x7fdcaeb72b23 - std::sys::unix::thread::Thread::new::thread_start::h2ffe427b25515558
                               at /rustc/3020239de947ec52677e9b4e853a6a9fc073d1f9/library/std/src/sys/unix/thread.rs:108:17
  43:     0x7fdcae90cfd4 - start_thread
                               at ./nptl/./nptl/pthread_create.c:442:8
  44:     0x7fdcae98d66c - __GI___clone3
                               at ./misc/../sysdeps/unix/sysv/linux/x86_64/clone3.S:81
  45:                0x0 - <unknown>

Backtrace

<backtrace>

@makotokato makotokato 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 Jan 10, 2023
@Noratrieb
Copy link
Member

This will be "fixed" by #101841

@matthiaskrgr
Copy link
Member

Probably duplicate of #88536

@jyn514
Copy link
Member

jyn514 commented Feb 19, 2023

Save-analysis has been removed from the compiler.

@jyn514 jyn514 closed this as not planned Won't fix, can't repro, duplicate, stale Feb 19, 2023
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

4 participants