Skip to content

ICE when compiling  #127547

Closed
Closed
@scouten

Description

@scouten

Code

The code is in this (public) branch: https://github.com/scouten/asciidoc-parser/tree/rustc-ice-127547.

A snapshot of the code when the ICE first appeared is in commit 69c1795. I'll make a brief attempt to narrow the repro case; if I can create a narrower repro case, I'll push that to that branch.

Meta

at 18:52:47 ❯ rustc --version --verbose
rustc 1.79.0 (129f3b996 2024-06-10)
binary: rustc
commit-hash: 129f3b9964af4d4a709d1383930ade12dfe7c081
commit-date: 2024-06-10
host: aarch64-apple-darwin
release: 1.79.0
LLVM version: 18.1.7

Error output

error: internal compiler error: compiler/rustc_const_eval/src/interpret/eval_context.rs:1184:21: interpret const eval failure of Unevaluated(UnevaluatedConst { def: DefId(0:99 ~ asciidoc_parser[e016]::blocks::is_block::IsBlock::nested_blocks::NO_BLOCKS), args: [], promoted: Some(promoted[0]) }, &'{erased} [blocks::block::Block<'{erased}>; 0_usize]) which is not in required_consts

thread 'rustc' panicked at compiler/rustc_const_eval/src/interpret/eval_context.rs:1184:21:
Box<dyn Any>
stack backtrace:
   0:        0x101c89750 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h1f3776e0b5c7517d
   1:        0x101ccc470 - core::fmt::write::heedef092c8c0962e
   2:        0x101c7fa1c - std::io::Write::write_fmt::h7178e8e2ea928914
   3:        0x101c895a8 - std::sys_common::backtrace::print::h417292deb95532ed
   4:        0x101c8bb2c - std::panicking::default_hook::{{closure}}::h0cb68f1228c4613a
   5:        0x101c8b820 - std::panicking::default_hook::h24535936bc1f51de
   6:        0x10b157828 - <alloc[d07bc629de031c28]::boxed::Box<rustc_driver_impl[17630cf877ef70bb]::install_ice_hook::{closure#0}> as core[fca7800875c611c6]::ops::function::Fn<(&dyn for<'a, 'b> core[fca7800875c611c6]::ops::function::Fn<(&'a core[fca7800875c611c6]::panic::panic_info::PanicInfo<'b>,), Output = ()> + core[fca7800875c611c6]::marker::Sync + core[fca7800875c611c6]::marker::Send, &core[fca7800875c611c6]::panic::panic_info::PanicInfo)>>::call
   7:        0x101c8c524 - std::panicking::rust_panic_with_hook::h5db4d2345b297bed
   8:        0x10b1e3198 - std[e84bc52996b8b382]::panicking::begin_panic::<rustc_errors[3520987c35dd2513]::ExplicitBug>::{closure#0}
   9:        0x10b1e1ce0 - std[e84bc52996b8b382]::sys_common::backtrace::__rust_end_short_backtrace::<std[e84bc52996b8b382]::panicking::begin_panic<rustc_errors[3520987c35dd2513]::ExplicitBug>::{closure#0}, !>
  10:        0x10f1af750 - std[e84bc52996b8b382]::panicking::begin_panic::<rustc_errors[3520987c35dd2513]::ExplicitBug>
  11:        0x10b1e40c0 - <rustc_errors[3520987c35dd2513]::diagnostic::BugAbort as rustc_errors[3520987c35dd2513]::diagnostic::EmissionGuarantee>::emit_producing_guarantee
  12:        0x10bc47970 - rustc_middle[e187904418cf7088]::util::bug::opt_span_bug_fmt::<rustc_span[984a238feadb13f5]::span_encoding::Span>::{closure#0}
  13:        0x10bc38d14 - rustc_middle[e187904418cf7088]::ty::context::tls::with_opt::<rustc_middle[e187904418cf7088]::util::bug::opt_span_bug_fmt<rustc_span[984a238feadb13f5]::span_encoding::Span>::{closure#0}, !>::{closure#0}
  14:        0x10bc38ce0 - rustc_middle[e187904418cf7088]::ty::context::tls::with_context_opt::<rustc_middle[e187904418cf7088]::ty::context::tls::with_opt<rustc_middle[e187904418cf7088]::util::bug::opt_span_bug_fmt<rustc_span[984a238feadb13f5]::span_encoding::Span>::{closure#0}, !>::{closure#0}, !>
  15:        0x10f248fdc - rustc_middle[e187904418cf7088]::util::bug::bug_fmt
  16:        0x10afe6f30 - <rustc_const_eval[339e2f7468beb4be]::interpret::eval_context::InterpCx<rustc_const_eval[339e2f7468beb4be]::const_eval::machine::CompileTimeInterpreter>>::eval_operand
  17:        0x10afedfc8 - <rustc_const_eval[339e2f7468beb4be]::interpret::eval_context::InterpCx<rustc_const_eval[339e2f7468beb4be]::const_eval::machine::CompileTimeInterpreter>>::statement
  18:        0x10b015258 - rustc_const_eval[339e2f7468beb4be]::const_eval::eval_queries::eval_to_allocation_raw_provider
  19:        0x10c38bc68 - rustc_query_impl[a9dcee21c1ea9187]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[a9dcee21c1ea9187]::query_impl::eval_to_allocation_raw::dynamic_query::{closure#2}::{closure#0}, rustc_middle[e187904418cf7088]::query::erase::Erased<[u8; 24usize]>>
  20:        0x10c4595c4 - <rustc_query_impl[a9dcee21c1ea9187]::query_impl::eval_to_allocation_raw::dynamic_query::{closure#2} as core[fca7800875c611c6]::ops::function::FnOnce<(rustc_middle[e187904418cf7088]::ty::context::TyCtxt, rustc_middle[e187904418cf7088]::ty::ParamEnvAnd<rustc_middle[e187904418cf7088]::mir::interpret::GlobalId>)>>::call_once
  21:        0x10c3096a8 - rustc_query_system[3fe282a48bd1d9e8]::query::plumbing::try_execute_query::<rustc_query_impl[a9dcee21c1ea9187]::DynamicConfig<rustc_query_system[3fe282a48bd1d9e8]::query::caches::DefaultCache<rustc_middle[e187904418cf7088]::ty::ParamEnvAnd<rustc_middle[e187904418cf7088]::mir::interpret::GlobalId>, rustc_middle[e187904418cf7088]::query::erase::Erased<[u8; 24usize]>>, false, false, false>, rustc_query_impl[a9dcee21c1ea9187]::plumbing::QueryCtxt, true>
  22:        0x10c3f05b4 - rustc_query_impl[a9dcee21c1ea9187]::query_impl::eval_to_allocation_raw::get_query_incr::__rust_end_short_backtrace
  23:        0x10b013664 - rustc_const_eval[339e2f7468beb4be]::const_eval::eval_queries::eval_to_const_value_raw_provider
  24:        0x10c38c2b8 - rustc_query_impl[a9dcee21c1ea9187]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[a9dcee21c1ea9187]::query_impl::eval_to_const_value_raw::dynamic_query::{closure#2}::{closure#0}, rustc_middle[e187904418cf7088]::query::erase::Erased<[u8; 24usize]>>
  25:        0x10c459938 - <rustc_query_impl[a9dcee21c1ea9187]::query_impl::eval_to_const_value_raw::dynamic_query::{closure#2} as core[fca7800875c611c6]::ops::function::FnOnce<(rustc_middle[e187904418cf7088]::ty::context::TyCtxt, rustc_middle[e187904418cf7088]::ty::ParamEnvAnd<rustc_middle[e187904418cf7088]::mir::interpret::GlobalId>)>>::call_once
  26:        0x10c3096a8 - rustc_query_system[3fe282a48bd1d9e8]::query::plumbing::try_execute_query::<rustc_query_impl[a9dcee21c1ea9187]::DynamicConfig<rustc_query_system[3fe282a48bd1d9e8]::query::caches::DefaultCache<rustc_middle[e187904418cf7088]::ty::ParamEnvAnd<rustc_middle[e187904418cf7088]::mir::interpret::GlobalId>, rustc_middle[e187904418cf7088]::query::erase::Erased<[u8; 24usize]>>, false, false, false>, rustc_query_impl[a9dcee21c1ea9187]::plumbing::QueryCtxt, true>
  27:        0x10c3f0b80 - rustc_query_impl[a9dcee21c1ea9187]::query_impl::eval_to_const_value_raw::get_query_incr::__rust_end_short_backtrace
  28:        0x10b438d18 - std[e84bc52996b8b382]::panicking::try::<(), core[fca7800875c611c6]::panic::unwind_safe::AssertUnwindSafe<rustc_data_structures[d96e6b3ae716122c]::sync::parallel::disabled::par_for_each_in<&[rustc_span[984a238feadb13f5]::def_id::LocalDefId], <rustc_middle[e187904418cf7088]::hir::map::Map>::par_body_owners<rustc_hir_analysis[c1c0f42cf391c6f]::check_crate::{closure#3}>::{closure#0}>::{closure#0}::{closure#0}::{closure#0}>>
  29:        0x10b391720 - rustc_data_structures[d96e6b3ae716122c]::sync::parallel::disabled::par_for_each_in::<&[rustc_span[984a238feadb13f5]::def_id::LocalDefId], <rustc_middle[e187904418cf7088]::hir::map::Map>::par_body_owners<rustc_hir_analysis[c1c0f42cf391c6f]::check_crate::{closure#3}>::{closure#0}>
  30:        0x10b4afb38 - rustc_hir_analysis[c1c0f42cf391c6f]::check_crate
  31:        0x10b8b1e3c - rustc_interface[617d4417f0fbb0b3]::passes::analysis
  32:        0x10c38d89c - rustc_query_impl[a9dcee21c1ea9187]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[a9dcee21c1ea9187]::query_impl::analysis::dynamic_query::{closure#2}::{closure#0}, rustc_middle[e187904418cf7088]::query::erase::Erased<[u8; 1usize]>>
  33:        0x10c45bbf4 - <rustc_query_impl[a9dcee21c1ea9187]::query_impl::analysis::dynamic_query::{closure#2} as core[fca7800875c611c6]::ops::function::FnOnce<(rustc_middle[e187904418cf7088]::ty::context::TyCtxt, ())>>::call_once
  34:        0x10c2f3194 - rustc_query_system[3fe282a48bd1d9e8]::query::plumbing::try_execute_query::<rustc_query_impl[a9dcee21c1ea9187]::DynamicConfig<rustc_query_system[3fe282a48bd1d9e8]::query::caches::SingleCache<rustc_middle[e187904418cf7088]::query::erase::Erased<[u8; 1usize]>>, false, false, false>, rustc_query_impl[a9dcee21c1ea9187]::plumbing::QueryCtxt, true>
  35:        0x10c3e0a94 - rustc_query_impl[a9dcee21c1ea9187]::query_impl::analysis::get_query_incr::__rust_end_short_backtrace
  36:        0x10b148e38 - <rustc_middle[e187904418cf7088]::ty::context::GlobalCtxt>::enter::<rustc_driver_impl[17630cf877ef70bb]::run_compiler::{closure#0}::{closure#1}::{closure#3}, core[fca7800875c611c6]::result::Result<(), rustc_span[984a238feadb13f5]::ErrorGuaranteed>>
  37:        0x10b11ba88 - <rustc_interface[617d4417f0fbb0b3]::interface::Compiler>::enter::<rustc_driver_impl[17630cf877ef70bb]::run_compiler::{closure#0}::{closure#1}, core[fca7800875c611c6]::result::Result<core[fca7800875c611c6]::option::Option<rustc_interface[617d4417f0fbb0b3]::queries::Linker>, rustc_span[984a238feadb13f5]::ErrorGuaranteed>>
  38:        0x10b15f85c - <scoped_tls[710a08ee67d076ea]::ScopedKey<rustc_span[984a238feadb13f5]::SessionGlobals>>::set::<rustc_interface[617d4417f0fbb0b3]::util::run_in_thread_with_globals<rustc_interface[617d4417f0fbb0b3]::interface::run_compiler<core[fca7800875c611c6]::result::Result<(), rustc_span[984a238feadb13f5]::ErrorGuaranteed>, rustc_driver_impl[17630cf877ef70bb]::run_compiler::{closure#0}>::{closure#1}, core[fca7800875c611c6]::result::Result<(), rustc_span[984a238feadb13f5]::ErrorGuaranteed>>::{closure#0}::{closure#0}::{closure#0}, core[fca7800875c611c6]::result::Result<(), rustc_span[984a238feadb13f5]::ErrorGuaranteed>>
  39:        0x10b11b1d8 - rustc_span[984a238feadb13f5]::create_session_globals_then::<core[fca7800875c611c6]::result::Result<(), rustc_span[984a238feadb13f5]::ErrorGuaranteed>, rustc_interface[617d4417f0fbb0b3]::util::run_in_thread_with_globals<rustc_interface[617d4417f0fbb0b3]::interface::run_compiler<core[fca7800875c611c6]::result::Result<(), rustc_span[984a238feadb13f5]::ErrorGuaranteed>, rustc_driver_impl[17630cf877ef70bb]::run_compiler::{closure#0}>::{closure#1}, core[fca7800875c611c6]::result::Result<(), rustc_span[984a238feadb13f5]::ErrorGuaranteed>>::{closure#0}::{closure#0}::{closure#0}>
  40:        0x10b134400 - std[e84bc52996b8b382]::sys_common::backtrace::__rust_begin_short_backtrace::<rustc_interface[617d4417f0fbb0b3]::util::run_in_thread_with_globals<rustc_interface[617d4417f0fbb0b3]::interface::run_compiler<core[fca7800875c611c6]::result::Result<(), rustc_span[984a238feadb13f5]::ErrorGuaranteed>, rustc_driver_impl[17630cf877ef70bb]::run_compiler::{closure#0}>::{closure#1}, core[fca7800875c611c6]::result::Result<(), rustc_span[984a238feadb13f5]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[fca7800875c611c6]::result::Result<(), rustc_span[984a238feadb13f5]::ErrorGuaranteed>>
  41:        0x10b167808 - <<std[e84bc52996b8b382]::thread::Builder>::spawn_unchecked_<rustc_interface[617d4417f0fbb0b3]::util::run_in_thread_with_globals<rustc_interface[617d4417f0fbb0b3]::interface::run_compiler<core[fca7800875c611c6]::result::Result<(), rustc_span[984a238feadb13f5]::ErrorGuaranteed>, rustc_driver_impl[17630cf877ef70bb]::run_compiler::{closure#0}>::{closure#1}, core[fca7800875c611c6]::result::Result<(), rustc_span[984a238feadb13f5]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[fca7800875c611c6]::result::Result<(), rustc_span[984a238feadb13f5]::ErrorGuaranteed>>::{closure#2} as core[fca7800875c611c6]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
  42:        0x101c94edc - std::sys::pal::unix::thread::Thread::new::thread_start::h50a0ef5291b272f3
  43:        0x1832f2f94 - __pthread_joiner_wake

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.79.0 (129f3b996 2024-06-10) running on aarch64-apple-darwin

note: compiler flags: --crate-type lib -C embed-bitcode=no -C debuginfo=2 -C split-debuginfo=unpacked -C incremental=[REDACTED]

note: some of the compiler flags provided by cargo are hidden

query stack during panic:
#0 [eval_to_allocation_raw] const-evaluating + checking `blocks::is_block::IsBlock::nested_blocks::NO_BLOCKS`
#1 [eval_to_const_value_raw] simplifying constant for the type system `blocks::is_block::IsBlock::nested_blocks::NO_BLOCKS`
#2 [analysis] running analysis passes on this crate
end of query stack

Metadata

Metadata

Assignees

No one assigned

    Labels

    C-bugCategory: This is a bug.I-ICEIssue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️T-compilerRelevant to the compiler team, which will review and decide on the PR/issue.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions