Skip to content

ICE: cfi: index out of bounds: the len is 0 but the index is 0 dyn star #122998

Closed
@matthiaskrgr

Description

@matthiaskrgr

original:

#![feature(dyn_star)]

fn main() {
    let x: dyn* Send = &();
    Box::new(x) as Box<dyn Send>;
}

Version information

rustc 1.79.0-nightly (4a52e9cc2 2024-03-24)
binary: rustc
commit-hash: 4a52e9cc2acf102da113d1b6c712afc5fcf4db13
commit-date: 2024-03-24
host: x86_64-unknown-linux-gnu
release: 1.79.0-nightly
LLVM version: 18.1.2

Command:
/home/matthias/.rustup/toolchains/master/bin/rustc -Zsanitizer=cfi -Ccodegen-units=1 -Clto

Program output

warning: the feature `dyn_star` is incomplete and may not be safe to use and/or cause compiler crashes
 --> d.rs:1:12
  |
1 | #![feature(dyn_star)]
  |            ^^^^^^^^
  |
  = note: see issue #102425 <https://github.com/rust-lang/rust/issues/102425> for more information
  = note: `#[warn(incomplete_features)]` on by default

thread 'rustc' panicked at compiler/rustc_middle/src/ty/predicate.rs:293:9:
index out of bounds: the len is 0 but the index is 0
stack backtrace:
   0:     0x7df674669fd5 - std::backtrace_rs::backtrace::libunwind::trace::h153b4aac21592a06
                               at /rustc/4a52e9cc2acf102da113d1b6c712afc5fcf4db13/library/std/src/../../backtrace/src/backtrace/libunwind.rs:105:5
   1:     0x7df674669fd5 - std::backtrace_rs::backtrace::trace_unsynchronized::h0ae657e5a2dcc78a
                               at /rustc/4a52e9cc2acf102da113d1b6c712afc5fcf4db13/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
   2:     0x7df674669fd5 - std::sys_common::backtrace::_print_fmt::h1303111526743bc3
                               at /rustc/4a52e9cc2acf102da113d1b6c712afc5fcf4db13/library/std/src/sys_common/backtrace.rs:68:5
   3:     0x7df674669fd5 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h453eca4253d7fd5f
                               at /rustc/4a52e9cc2acf102da113d1b6c712afc5fcf4db13/library/std/src/sys_common/backtrace.rs:44:22
   4:     0x7df6746bb07b - core::fmt::rt::Argument::fmt::h07591baf849655a5
                               at /rustc/4a52e9cc2acf102da113d1b6c712afc5fcf4db13/library/core/src/fmt/rt.rs:142:9
   5:     0x7df6746bb07b - core::fmt::write::h05a7b3362a8d0dac
                               at /rustc/4a52e9cc2acf102da113d1b6c712afc5fcf4db13/library/core/src/fmt/mod.rs:1153:17
   6:     0x7df67465ed6f - std::io::Write::write_fmt::hc6fae72088f57db5
                               at /rustc/4a52e9cc2acf102da113d1b6c712afc5fcf4db13/library/std/src/io/mod.rs:1843:15
   7:     0x7df674669dae - std::sys_common::backtrace::_print::hb985463f42f6b84b
                               at /rustc/4a52e9cc2acf102da113d1b6c712afc5fcf4db13/library/std/src/sys_common/backtrace.rs:47:5
   8:     0x7df674669dae - std::sys_common::backtrace::print::h82ed19f337ebfb11
                               at /rustc/4a52e9cc2acf102da113d1b6c712afc5fcf4db13/library/std/src/sys_common/backtrace.rs:34:9
   9:     0x7df67466ca29 - std::panicking::default_hook::{{closure}}::h50c4fe9f03c5fe02
  10:     0x7df67466c793 - std::panicking::default_hook::hb200d2b608a18141
                               at /rustc/4a52e9cc2acf102da113d1b6c712afc5fcf4db13/library/std/src/panicking.rs:292:9
  11:     0x7df670fced6f - std[eb5b6457c0684e39]::panicking::update_hook::<alloc[19d48c202b2dc064]::boxed::Box<rustc_driver_impl[5ee00e344af6bdf5]::install_ice_hook::{closure#0}>>::{closure#0}
  12:     0x7df67466d1c8 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::ha677c2c93628d09b
                               at /rustc/4a52e9cc2acf102da113d1b6c712afc5fcf4db13/library/alloc/src/boxed.rs:2029:9
  13:     0x7df67466d1c8 - std::panicking::rust_panic_with_hook::hd69130f818b76a37
                               at /rustc/4a52e9cc2acf102da113d1b6c712afc5fcf4db13/library/std/src/panicking.rs:789:13
  14:     0x7df67466ced6 - std::panicking::begin_panic_handler::{{closure}}::h8d1aa35cdccbda78
                               at /rustc/4a52e9cc2acf102da113d1b6c712afc5fcf4db13/library/std/src/panicking.rs:657:13
  15:     0x7df67466a499 - std::sys_common::backtrace::__rust_end_short_backtrace::h3e16932fd6c85700
                               at /rustc/4a52e9cc2acf102da113d1b6c712afc5fcf4db13/library/std/src/sys_common/backtrace.rs:171:18
  16:     0x7df67466cc07 - rust_begin_unwind
                               at /rustc/4a52e9cc2acf102da113d1b6c712afc5fcf4db13/library/std/src/panicking.rs:645:5
  17:     0x7df6746b7516 - core::panicking::panic_fmt::h646691884afbbcfb
                               at /rustc/4a52e9cc2acf102da113d1b6c712afc5fcf4db13/library/core/src/panicking.rs:72:14
  18:     0x7df6746b7737 - core::panicking::panic_bounds_check::h8bfafc895c7a764c
                               at /rustc/4a52e9cc2acf102da113d1b6c712afc5fcf4db13/library/core/src/panicking.rs:205:5
  19:     0x7df66f04a008 - <rustc_trait_selection[712b6dfa42d66d47]::traits::select::SelectionContext>::assemble_candidates_from_impls
  20:     0x7df66f0537bf - <rustc_trait_selection[712b6dfa42d66d47]::traits::select::SelectionContext>::candidate_from_obligation_no_cache
  21:     0x7df66f085339 - <rustc_trait_selection[712b6dfa42d66d47]::traits::select::SelectionContext>::candidate_from_obligation
  22:     0x7df672f56925 - <rustc_trait_selection[712b6dfa42d66d47]::traits::select::SelectionContext>::evaluate_trait_predicate_recursively
  23:     0x7df672be325a - <rustc_infer[6bc818f74f99b34a]::infer::InferCtxt>::probe::<core[6a8f7797598978f6]::result::Result<rustc_middle[266e034cdbd01ed2]::traits::select::EvaluationResult, rustc_middle[266e034cdbd01ed2]::traits::select::OverflowError>, <rustc_trait_selection[712b6dfa42d66d47]::traits::select::SelectionContext>::evaluation_probe<<rustc_trait_selection[712b6dfa42d66d47]::traits::select::SelectionContext>::evaluate_root_obligation::{closure#0}>::{closure#0}>
  24:     0x7df672be1415 - rustc_traits[7b31ae9bd5c92348]::evaluate_obligation::evaluate_obligation
  25:     0x7df672be0da0 - rustc_query_impl[e2764a8ebfbc76f3]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[e2764a8ebfbc76f3]::query_impl::evaluate_obligation::dynamic_query::{closure#2}::{closure#0}, rustc_middle[266e034cdbd01ed2]::query::erase::Erased<[u8; 2usize]>>
  26:     0x7df672be0349 - rustc_query_system[1126c1c9dbd1817a]::query::plumbing::try_execute_query::<rustc_query_impl[e2764a8ebfbc76f3]::DynamicConfig<rustc_query_system[1126c1c9dbd1817a]::query::caches::DefaultCache<rustc_type_ir[aa9db5640abff06d]::canonical::Canonical<rustc_middle[266e034cdbd01ed2]::ty::context::TyCtxt, rustc_middle[266e034cdbd01ed2]::ty::ParamEnvAnd<rustc_middle[266e034cdbd01ed2]::ty::predicate::Predicate>>, rustc_middle[266e034cdbd01ed2]::query::erase::Erased<[u8; 2usize]>>, false, false, false>, rustc_query_impl[e2764a8ebfbc76f3]::plumbing::QueryCtxt, false>
  27:     0x7df672bdffd1 - rustc_query_impl[e2764a8ebfbc76f3]::query_impl::evaluate_obligation::get_query_non_incr::__rust_end_short_backtrace
  28:     0x7df66f90a214 - rustc_trait_selection[712b6dfa42d66d47]::traits::type_known_to_meet_bound_modulo_regions
  29:     0x7df672615709 - rustc_ty_utils[26bcf2e498234047]::common_traits::is_item_raw
  30:     0x7df67261533d - rustc_query_impl[e2764a8ebfbc76f3]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[e2764a8ebfbc76f3]::query_impl::is_unpin_raw::dynamic_query::{closure#2}::{closure#0}, rustc_middle[266e034cdbd01ed2]::query::erase::Erased<[u8; 1usize]>>
  31:     0x7df6728bd7ac - rustc_query_system[1126c1c9dbd1817a]::query::plumbing::try_execute_query::<rustc_query_impl[e2764a8ebfbc76f3]::DynamicConfig<rustc_query_system[1126c1c9dbd1817a]::query::caches::DefaultCache<rustc_middle[266e034cdbd01ed2]::ty::ParamEnvAnd<rustc_middle[266e034cdbd01ed2]::ty::Ty>, rustc_middle[266e034cdbd01ed2]::query::erase::Erased<[u8; 1usize]>>, false, false, false>, rustc_query_impl[e2764a8ebfbc76f3]::plumbing::QueryCtxt, false>
  32:     0x7df6728bd24e - rustc_query_impl[e2764a8ebfbc76f3]::query_impl::is_unpin_raw::get_query_non_incr::__rust_end_short_backtrace
  33:     0x7df6728c8ee3 - rustc_middle[266e034cdbd01ed2]::query::plumbing::query_get_at::<rustc_query_system[1126c1c9dbd1817a]::query::caches::DefaultCache<rustc_middle[266e034cdbd01ed2]::ty::ParamEnvAnd<rustc_middle[266e034cdbd01ed2]::ty::Ty>, rustc_middle[266e034cdbd01ed2]::query::erase::Erased<[u8; 1usize]>>>
  34:     0x7df6728c3ffd - <core[6a8f7797598978f6]::iter::adapters::enumerate::Enumerate<_> as core[6a8f7797598978f6]::iter::traits::iterator::Iterator>::try_fold::enumerate::<rustc_middle[266e034cdbd01ed2]::ty::Ty, (), core[6a8f7797598978f6]::ops::control_flow::ControlFlow<core[6a8f7797598978f6]::ops::control_flow::ControlFlow<rustc_target[c9726f3898307a5d]::abi::call::ArgAbi<rustc_middle[266e034cdbd01ed2]::ty::Ty>>>, core[6a8f7797598978f6]::iter::adapters::map::map_try_fold<(usize, rustc_middle[266e034cdbd01ed2]::ty::Ty), core[6a8f7797598978f6]::result::Result<rustc_target[c9726f3898307a5d]::abi::call::ArgAbi<rustc_middle[266e034cdbd01ed2]::ty::Ty>, &rustc_middle[266e034cdbd01ed2]::ty::layout::FnAbiError>, (), core[6a8f7797598978f6]::ops::control_flow::ControlFlow<core[6a8f7797598978f6]::ops::control_flow::ControlFlow<rustc_target[c9726f3898307a5d]::abi::call::ArgAbi<rustc_middle[266e034cdbd01ed2]::ty::Ty>>>, rustc_ty_utils[26bcf2e498234047]::abi::fn_abi_new_uncached::{closure#1}, <core[6a8f7797598978f6]::iter::adapters::GenericShunt<core[6a8f7797598978f6]::iter::adapters::map::Map<core[6a8f7797598978f6]::iter::adapters::enumerate::Enumerate<core[6a8f7797598978f6]::iter::adapters::chain::Chain<core[6a8f7797598978f6]::iter::adapters::chain::Chain<core[6a8f7797598978f6]::iter::adapters::copied::Copied<core[6a8f7797598978f6]::slice::iter::Iter<rustc_middle[266e034cdbd01ed2]::ty::Ty>>, core[6a8f7797598978f6]::iter::adapters::copied::Copied<core[6a8f7797598978f6]::slice::iter::Iter<rustc_middle[266e034cdbd01ed2]::ty::Ty>>>, core[6a8f7797598978f6]::option::IntoIter<rustc_middle[266e034cdbd01ed2]::ty::Ty>>>, rustc_ty_utils[26bcf2e498234047]::abi::fn_abi_new_uncached::{closure#1}>, core[6a8f7797598978f6]::result::Result<core[6a8f7797598978f6]::convert::Infallible, &rustc_middle[266e034cdbd01ed2]::ty::layout::FnAbiError>> as core[6a8f7797598978f6]::iter::traits::iterator::Iterator>::try_fold<(), core[6a8f7797598978f6]::iter::traits::iterator::Iterator::try_for_each::call<rustc_target[c9726f3898307a5d]::abi::call::ArgAbi<rustc_middle[266e034cdbd01ed2]::ty::Ty>, core[6a8f7797598978f6]::ops::control_flow::ControlFlow<rustc_target[c9726f3898307a5d]::abi::call::ArgAbi<rustc_middle[266e034cdbd01ed2]::ty::Ty>>, core[6a8f7797598978f6]::ops::control_flow::ControlFlow<rustc_target[c9726f3898307a5d]::abi::call::ArgAbi<rustc_middle[266e034cdbd01ed2]::ty::Ty>>::Break>::{closure#0}, core[6a8f7797598978f6]::ops::control_flow::ControlFlow<rustc_target[c9726f3898307a5d]::abi::call::ArgAbi<rustc_middle[266e034cdbd01ed2]::ty::Ty>>>::{closure#0}>::{closure#0}>::{closure#0}
  35:     0x7df672a9b5d0 - rustc_ty_utils[26bcf2e498234047]::abi::fn_abi_new_uncached
  36:     0x7df672aaac95 - rustc_ty_utils[26bcf2e498234047]::abi::fn_abi_of_instance
  37:     0x7df672aa95fd - rustc_query_impl[e2764a8ebfbc76f3]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[e2764a8ebfbc76f3]::query_impl::fn_abi_of_instance::dynamic_query::{closure#2}::{closure#0}, rustc_middle[266e034cdbd01ed2]::query::erase::Erased<[u8; 16usize]>>
  38:     0x7df672aa8490 - rustc_query_system[1126c1c9dbd1817a]::query::plumbing::try_execute_query::<rustc_query_impl[e2764a8ebfbc76f3]::DynamicConfig<rustc_query_system[1126c1c9dbd1817a]::query::caches::DefaultCache<rustc_middle[266e034cdbd01ed2]::ty::ParamEnvAnd<(rustc_middle[266e034cdbd01ed2]::ty::instance::Instance, &rustc_middle[266e034cdbd01ed2]::ty::list::List<rustc_middle[266e034cdbd01ed2]::ty::Ty>)>, rustc_middle[266e034cdbd01ed2]::query::erase::Erased<[u8; 16usize]>>, false, false, false>, rustc_query_impl[e2764a8ebfbc76f3]::plumbing::QueryCtxt, false>
  39:     0x7df672aa80ed - rustc_query_impl[e2764a8ebfbc76f3]::query_impl::fn_abi_of_instance::get_query_non_incr::__rust_end_short_backtrace
  40:     0x7df671951aa9 - rustc_symbol_mangling[34f40022a480dc00]::typeid::typeid_itanium_cxx_abi::typeid_for_instance
  41:     0x7df67258980e - <rustc_codegen_llvm[2c192d66b5bcf778]::builder::Builder as rustc_codegen_ssa[ddc4da5775a31d80]::traits::builder::BuilderMethods>::call
  42:     0x7df67257ea7f - <rustc_codegen_ssa[ddc4da5775a31d80]::mir::block::TerminatorCodegenHelper>::do_call::<rustc_codegen_llvm[2c192d66b5bcf778]::builder::Builder>
  43:     0x7df673119534 - rustc_codegen_ssa[ddc4da5775a31d80]::mir::codegen_mir::<rustc_codegen_llvm[2c192d66b5bcf778]::builder::Builder>
  44:     0x7df6731055d8 - rustc_codegen_llvm[2c192d66b5bcf778]::base::compile_codegen_unit::module_codegen
  45:     0x7df673101856 - <rustc_codegen_llvm[2c192d66b5bcf778]::LlvmCodegenBackend as rustc_codegen_ssa[ddc4da5775a31d80]::traits::backend::ExtraBackendMethods>::compile_codegen_unit
  46:     0x7df67328148f - rustc_codegen_ssa[ddc4da5775a31d80]::base::codegen_crate::<rustc_codegen_llvm[2c192d66b5bcf778]::LlvmCodegenBackend>
  47:     0x7df673274229 - <rustc_codegen_llvm[2c192d66b5bcf778]::LlvmCodegenBackend as rustc_codegen_ssa[ddc4da5775a31d80]::traits::backend::CodegenBackend>::codegen_crate
  48:     0x7df673273b9f - rustc_interface[b2de69547a619c9c]::passes::start_codegen
  49:     0x7df673273333 - <rustc_interface[b2de69547a619c9c]::queries::Queries>::codegen_and_build_linker
  50:     0x7df67306842b - rustc_interface[b2de69547a619c9c]::interface::run_compiler::<core[6a8f7797598978f6]::result::Result<(), rustc_span[633ab68f95803574]::ErrorGuaranteed>, rustc_driver_impl[5ee00e344af6bdf5]::run_compiler::{closure#0}>::{closure#0}
  51:     0x7df67314e619 - std[eb5b6457c0684e39]::sys_common::backtrace::__rust_begin_short_backtrace::<rustc_interface[b2de69547a619c9c]::util::run_in_thread_with_globals<rustc_interface[b2de69547a619c9c]::util::run_in_thread_pool_with_globals<rustc_interface[b2de69547a619c9c]::interface::run_compiler<core[6a8f7797598978f6]::result::Result<(), rustc_span[633ab68f95803574]::ErrorGuaranteed>, rustc_driver_impl[5ee00e344af6bdf5]::run_compiler::{closure#0}>::{closure#0}, core[6a8f7797598978f6]::result::Result<(), rustc_span[633ab68f95803574]::ErrorGuaranteed>>::{closure#0}, core[6a8f7797598978f6]::result::Result<(), rustc_span[633ab68f95803574]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[6a8f7797598978f6]::result::Result<(), rustc_span[633ab68f95803574]::ErrorGuaranteed>>
  52:     0x7df67314e446 - <<std[eb5b6457c0684e39]::thread::Builder>::spawn_unchecked_<rustc_interface[b2de69547a619c9c]::util::run_in_thread_with_globals<rustc_interface[b2de69547a619c9c]::util::run_in_thread_pool_with_globals<rustc_interface[b2de69547a619c9c]::interface::run_compiler<core[6a8f7797598978f6]::result::Result<(), rustc_span[633ab68f95803574]::ErrorGuaranteed>, rustc_driver_impl[5ee00e344af6bdf5]::run_compiler::{closure#0}>::{closure#0}, core[6a8f7797598978f6]::result::Result<(), rustc_span[633ab68f95803574]::ErrorGuaranteed>>::{closure#0}, core[6a8f7797598978f6]::result::Result<(), rustc_span[633ab68f95803574]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[6a8f7797598978f6]::result::Result<(), rustc_span[633ab68f95803574]::ErrorGuaranteed>>::{closure#1} as core[6a8f7797598978f6]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
  53:     0x7df674676989 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h0d089857f8e00fa6
                               at /rustc/4a52e9cc2acf102da113d1b6c712afc5fcf4db13/library/alloc/src/boxed.rs:2015:9
  54:     0x7df674676989 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::ha02a095b935e61c5
                               at /rustc/4a52e9cc2acf102da113d1b6c712afc5fcf4db13/library/alloc/src/boxed.rs:2015:9
  55:     0x7df674676989 - std::sys::pal::unix::thread::Thread::new::thread_start::h1bc8f94bcc47d0ea
                               at /rustc/4a52e9cc2acf102da113d1b6c712afc5fcf4db13/library/std/src/sys/pal/unix/thread.rs:108:17
  56:     0x7df66dea955a - <unknown>
  57:     0x7df66df26a3c - <unknown>
  58:                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 attach the file at `/tmp/rustc-ice-2024-03-24T12_37_28-1002662.txt` to your bug report

note: compiler flags: -Z sanitizer=cfi -C codegen-units=1 -C lto

query stack during panic:
panicked at compiler/rustc_middle/src/ty/predicate.rs:293:9:
thread panicked while processing panic. aborting.
[1]    1002662 IOT instruction  ~/.rustup/toolchains/master/bin/rustc d.rs -Zsanitizer=cfi -Ccodegen-units=1
warning: the feature `dyn_star` is incomplete and may not be safe to use and/or cause compiler crashes
 --> d.rs:1:12
  |
1 | #![feature(dyn_star)]
  |            ^^^^^^^^
  |
  = note: see issue #102425 <https://github.com/rust-lang/rust/issues/102425> for more information
  = note: `#[warn(incomplete_features)]` on by default

thread 'rustc' panicked at compiler/rustc_middle/src/ty/predicate.rs:293:9:
index out of bounds: the len is 0 but the index is 0
stack backtrace:
   0:     0x7df674669fd5 - std::backtrace_rs::backtrace::libunwind::trace::h153b4aac21592a06
                               at /rustc/4a52e9cc2acf102da113d1b6c712afc5fcf4db13/library/std/src/../../backtrace/src/backtrace/libunwind.rs:105:5
   1:     0x7df674669fd5 - std::backtrace_rs::backtrace::trace_unsynchronized::h0ae657e5a2dcc78a
                               at /rustc/4a52e9cc2acf102da113d1b6c712afc5fcf4db13/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
   2:     0x7df674669fd5 - std::sys_common::backtrace::_print_fmt::h1303111526743bc3
                               at /rustc/4a52e9cc2acf102da113d1b6c712afc5fcf4db13/library/std/src/sys_common/backtrace.rs:68:5
   3:     0x7df674669fd5 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h453eca4253d7fd5f
                               at /rustc/4a52e9cc2acf102da113d1b6c712afc5fcf4db13/library/std/src/sys_common/backtrace.rs:44:22
   4:     0x7df6746bb07b - core::fmt::rt::Argument::fmt::h07591baf849655a5
                               at /rustc/4a52e9cc2acf102da113d1b6c712afc5fcf4db13/library/core/src/fmt/rt.rs:142:9
   5:     0x7df6746bb07b - core::fmt::write::h05a7b3362a8d0dac
                               at /rustc/4a52e9cc2acf102da113d1b6c712afc5fcf4db13/library/core/src/fmt/mod.rs:1153:17
   6:     0x7df67465ed6f - std::io::Write::write_fmt::hc6fae72088f57db5
                               at /rustc/4a52e9cc2acf102da113d1b6c712afc5fcf4db13/library/std/src/io/mod.rs:1843:15
   7:     0x7df674669dae - std::sys_common::backtrace::_print::hb985463f42f6b84b
                               at /rustc/4a52e9cc2acf102da113d1b6c712afc5fcf4db13/library/std/src/sys_common/backtrace.rs:47:5
   8:     0x7df674669dae - std::sys_common::backtrace::print::h82ed19f337ebfb11
                               at /rustc/4a52e9cc2acf102da113d1b6c712afc5fcf4db13/library/std/src/sys_common/backtrace.rs:34:9
   9:     0x7df67466ca29 - std::panicking::default_hook::{{closure}}::h50c4fe9f03c5fe02
  10:     0x7df67466c793 - std::panicking::default_hook::hb200d2b608a18141
                               at /rustc/4a52e9cc2acf102da113d1b6c712afc5fcf4db13/library/std/src/panicking.rs:292:9
  11:     0x7df670fced6f - std[eb5b6457c0684e39]::panicking::update_hook::<alloc[19d48c202b2dc064]::boxed::Box<rustc_driver_impl[5ee00e344af6bdf5]::install_ice_hook::{closure#0}>>::{closure#0}
  12:     0x7df67466d1c8 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::ha677c2c93628d09b
                               at /rustc/4a52e9cc2acf102da113d1b6c712afc5fcf4db13/library/alloc/src/boxed.rs:2029:9
  13:     0x7df67466d1c8 - std::panicking::rust_panic_with_hook::hd69130f818b76a37
                               at /rustc/4a52e9cc2acf102da113d1b6c712afc5fcf4db13/library/std/src/panicking.rs:789:13
  14:     0x7df67466ced6 - std::panicking::begin_panic_handler::{{closure}}::h8d1aa35cdccbda78
                               at /rustc/4a52e9cc2acf102da113d1b6c712afc5fcf4db13/library/std/src/panicking.rs:657:13
  15:     0x7df67466a499 - std::sys_common::backtrace::__rust_end_short_backtrace::h3e16932fd6c85700
                               at /rustc/4a52e9cc2acf102da113d1b6c712afc5fcf4db13/library/std/src/sys_common/backtrace.rs:171:18
  16:     0x7df67466cc07 - rust_begin_unwind
                               at /rustc/4a52e9cc2acf102da113d1b6c712afc5fcf4db13/library/std/src/panicking.rs:645:5
  17:     0x7df6746b7516 - core::panicking::panic_fmt::h646691884afbbcfb
                               at /rustc/4a52e9cc2acf102da113d1b6c712afc5fcf4db13/library/core/src/panicking.rs:72:14
  18:     0x7df6746b7737 - core::panicking::panic_bounds_check::h8bfafc895c7a764c
                               at /rustc/4a52e9cc2acf102da113d1b6c712afc5fcf4db13/library/core/src/panicking.rs:205:5
  19:     0x7df66f04a008 - <rustc_trait_selection[712b6dfa42d66d47]::traits::select::SelectionContext>::assemble_candidates_from_impls
  20:     0x7df66f0537bf - <rustc_trait_selection[712b6dfa42d66d47]::traits::select::SelectionContext>::candidate_from_obligation_no_cache
  21:     0x7df66f085339 - <rustc_trait_selection[712b6dfa42d66d47]::traits::select::SelectionContext>::candidate_from_obligation
  22:     0x7df672f56925 - <rustc_trait_selection[712b6dfa42d66d47]::traits::select::SelectionContext>::evaluate_trait_predicate_recursively
  23:     0x7df672be325a - <rustc_infer[6bc818f74f99b34a]::infer::InferCtxt>::probe::<core[6a8f7797598978f6]::result::Result<rustc_middle[266e034cdbd01ed2]::traits::select::EvaluationResult, rustc_middle[266e034cdbd01ed2]::traits::select::OverflowError>, <rustc_trait_selection[712b6dfa42d66d47]::traits::select::SelectionContext>::evaluation_probe<<rustc_trait_selection[712b6dfa42d66d47]::traits::select::SelectionContext>::evaluate_root_obligation::{closure#0}>::{closure#0}>
  24:     0x7df672be1415 - rustc_traits[7b31ae9bd5c92348]::evaluate_obligation::evaluate_obligation
  25:     0x7df672be0da0 - rustc_query_impl[e2764a8ebfbc76f3]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[e2764a8ebfbc76f3]::query_impl::evaluate_obligation::dynamic_query::{closure#2}::{closure#0}, rustc_middle[266e034cdbd01ed2]::query::erase::Erased<[u8; 2usize]>>
  26:     0x7df672be0349 - rustc_query_system[1126c1c9dbd1817a]::query::plumbing::try_execute_query::<rustc_query_impl[e2764a8ebfbc76f3]::DynamicConfig<rustc_query_system[1126c1c9dbd1817a]::query::caches::DefaultCache<rustc_type_ir[aa9db5640abff06d]::canonical::Canonical<rustc_middle[266e034cdbd01ed2]::ty::context::TyCtxt, rustc_middle[266e034cdbd01ed2]::ty::ParamEnvAnd<rustc_middle[266e034cdbd01ed2]::ty::predicate::Predicate>>, rustc_middle[266e034cdbd01ed2]::query::erase::Erased<[u8; 2usize]>>, false, false, false>, rustc_query_impl[e2764a8ebfbc76f3]::plumbing::QueryCtxt, false>
  27:     0x7df672bdffd1 - rustc_query_impl[e2764a8ebfbc76f3]::query_impl::evaluate_obligation::get_query_non_incr::__rust_end_short_backtrace
  28:     0x7df66f90a214 - rustc_trait_selection[712b6dfa42d66d47]::traits::type_known_to_meet_bound_modulo_regions
  29:     0x7df672615709 - rustc_ty_utils[26bcf2e498234047]::common_traits::is_item_raw
  30:     0x7df67261533d - rustc_query_impl[e2764a8ebfbc76f3]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[e2764a8ebfbc76f3]::query_impl::is_unpin_raw::dynamic_query::{closure#2}::{closure#0}, rustc_middle[266e034cdbd01ed2]::query::erase::Erased<[u8; 1usize]>>
  31:     0x7df6728bd7ac - rustc_query_system[1126c1c9dbd1817a]::query::plumbing::try_execute_query::<rustc_query_impl[e2764a8ebfbc76f3]::DynamicConfig<rustc_query_system[1126c1c9dbd1817a]::query::caches::DefaultCache<rustc_middle[266e034cdbd01ed2]::ty::ParamEnvAnd<rustc_middle[266e034cdbd01ed2]::ty::Ty>, rustc_middle[266e034cdbd01ed2]::query::erase::Erased<[u8; 1usize]>>, false, false, false>, rustc_query_impl[e2764a8ebfbc76f3]::plumbing::QueryCtxt, false>
  32:     0x7df6728bd24e - rustc_query_impl[e2764a8ebfbc76f3]::query_impl::is_unpin_raw::get_query_non_incr::__rust_end_short_backtrace
  33:     0x7df6728c8ee3 - rustc_middle[266e034cdbd01ed2]::query::plumbing::query_get_at::<rustc_query_system[1126c1c9dbd1817a]::query::caches::DefaultCache<rustc_middle[266e034cdbd01ed2]::ty::ParamEnvAnd<rustc_middle[266e034cdbd01ed2]::ty::Ty>, rustc_middle[266e034cdbd01ed2]::query::erase::Erased<[u8; 1usize]>>>
  34:     0x7df6728c3ffd - <core[6a8f7797598978f6]::iter::adapters::enumerate::Enumerate<_> as core[6a8f7797598978f6]::iter::traits::iterator::Iterator>::try_fold::enumerate::<rustc_middle[266e034cdbd01ed2]::ty::Ty, (), core[6a8f7797598978f6]::ops::control_flow::ControlFlow<core[6a8f7797598978f6]::ops::control_flow::ControlFlow<rustc_target[c9726f3898307a5d]::abi::call::ArgAbi<rustc_middle[266e034cdbd01ed2]::ty::Ty>>>, core[6a8f7797598978f6]::iter::adapters::map::map_try_fold<(usize, rustc_middle[266e034cdbd01ed2]::ty::Ty), core[6a8f7797598978f6]::result::Result<rustc_target[c9726f3898307a5d]::abi::call::ArgAbi<rustc_middle[266e034cdbd01ed2]::ty::Ty>, &rustc_middle[266e034cdbd01ed2]::ty::layout::FnAbiError>, (), core[6a8f7797598978f6]::ops::control_flow::ControlFlow<core[6a8f7797598978f6]::ops::control_flow::ControlFlow<rustc_target[c9726f3898307a5d]::abi::call::ArgAbi<rustc_middle[266e034cdbd01ed2]::ty::Ty>>>, rustc_ty_utils[26bcf2e498234047]::abi::fn_abi_new_uncached::{closure#1}, <core[6a8f7797598978f6]::iter::adapters::GenericShunt<core[6a8f7797598978f6]::iter::adapters::map::Map<core[6a8f7797598978f6]::iter::adapters::enumerate::Enumerate<core[6a8f7797598978f6]::iter::adapters::chain::Chain<core[6a8f7797598978f6]::iter::adapters::chain::Chain<core[6a8f7797598978f6]::iter::adapters::copied::Copied<core[6a8f7797598978f6]::slice::iter::Iter<rustc_middle[266e034cdbd01ed2]::ty::Ty>>, core[6a8f7797598978f6]::iter::adapters::copied::Copied<core[6a8f7797598978f6]::slice::iter::Iter<rustc_middle[266e034cdbd01ed2]::ty::Ty>>>, core[6a8f7797598978f6]::option::IntoIter<rustc_middle[266e034cdbd01ed2]::ty::Ty>>>, rustc_ty_utils[26bcf2e498234047]::abi::fn_abi_new_uncached::{closure#1}>, core[6a8f7797598978f6]::result::Result<core[6a8f7797598978f6]::convert::Infallible, &rustc_middle[266e034cdbd01ed2]::ty::layout::FnAbiError>> as core[6a8f7797598978f6]::iter::traits::iterator::Iterator>::try_fold<(), core[6a8f7797598978f6]::iter::traits::iterator::Iterator::try_for_each::call<rustc_target[c9726f3898307a5d]::abi::call::ArgAbi<rustc_middle[266e034cdbd01ed2]::ty::Ty>, core[6a8f7797598978f6]::ops::control_flow::ControlFlow<rustc_target[c9726f3898307a5d]::abi::call::ArgAbi<rustc_middle[266e034cdbd01ed2]::ty::Ty>>, core[6a8f7797598978f6]::ops::control_flow::ControlFlow<rustc_target[c9726f3898307a5d]::abi::call::ArgAbi<rustc_middle[266e034cdbd01ed2]::ty::Ty>>::Break>::{closure#0}, core[6a8f7797598978f6]::ops::control_flow::ControlFlow<rustc_target[c9726f3898307a5d]::abi::call::ArgAbi<rustc_middle[266e034cdbd01ed2]::ty::Ty>>>::{closure#0}>::{closure#0}>::{closure#0}
  35:     0x7df672a9b5d0 - rustc_ty_utils[26bcf2e498234047]::abi::fn_abi_new_uncached
  36:     0x7df672aaac95 - rustc_ty_utils[26bcf2e498234047]::abi::fn_abi_of_instance
  37:     0x7df672aa95fd - rustc_query_impl[e2764a8ebfbc76f3]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[e2764a8ebfbc76f3]::query_impl::fn_abi_of_instance::dynamic_query::{closure#2}::{closure#0}, rustc_middle[266e034cdbd01ed2]::query::erase::Erased<[u8; 16usize]>>
  38:     0x7df672aa8490 - rustc_query_system[1126c1c9dbd1817a]::query::plumbing::try_execute_query::<rustc_query_impl[e2764a8ebfbc76f3]::DynamicConfig<rustc_query_system[1126c1c9dbd1817a]::query::caches::DefaultCache<rustc_middle[266e034cdbd01ed2]::ty::ParamEnvAnd<(rustc_middle[266e034cdbd01ed2]::ty::instance::Instance, &rustc_middle[266e034cdbd01ed2]::ty::list::List<rustc_middle[266e034cdbd01ed2]::ty::Ty>)>, rustc_middle[266e034cdbd01ed2]::query::erase::Erased<[u8; 16usize]>>, false, false, false>, rustc_query_impl[e2764a8ebfbc76f3]::plumbing::QueryCtxt, false>
  39:     0x7df672aa80ed - rustc_query_impl[e2764a8ebfbc76f3]::query_impl::fn_abi_of_instance::get_query_non_incr::__rust_end_short_backtrace
  40:     0x7df671951aa9 - rustc_symbol_mangling[34f40022a480dc00]::typeid::typeid_itanium_cxx_abi::typeid_for_instance
  41:     0x7df67258980e - <rustc_codegen_llvm[2c192d66b5bcf778]::builder::Builder as rustc_codegen_ssa[ddc4da5775a31d80]::traits::builder::BuilderMethods>::call
  42:     0x7df67257ea7f - <rustc_codegen_ssa[ddc4da5775a31d80]::mir::block::TerminatorCodegenHelper>::do_call::<rustc_codegen_llvm[2c192d66b5bcf778]::builder::Builder>
  43:     0x7df673119534 - rustc_codegen_ssa[ddc4da5775a31d80]::mir::codegen_mir::<rustc_codegen_llvm[2c192d66b5bcf778]::builder::Builder>
  44:     0x7df6731055d8 - rustc_codegen_llvm[2c192d66b5bcf778]::base::compile_codegen_unit::module_codegen
  45:     0x7df673101856 - <rustc_codegen_llvm[2c192d66b5bcf778]::LlvmCodegenBackend as rustc_codegen_ssa[ddc4da5775a31d80]::traits::backend::ExtraBackendMethods>::compile_codegen_unit
  46:     0x7df67328148f - rustc_codegen_ssa[ddc4da5775a31d80]::base::codegen_crate::<rustc_codegen_llvm[2c192d66b5bcf778]::LlvmCodegenBackend>
  47:     0x7df673274229 - <rustc_codegen_llvm[2c192d66b5bcf778]::LlvmCodegenBackend as rustc_codegen_ssa[ddc4da5775a31d80]::traits::backend::CodegenBackend>::codegen_crate
  48:     0x7df673273b9f - rustc_interface[b2de69547a619c9c]::passes::start_codegen
  49:     0x7df673273333 - <rustc_interface[b2de69547a619c9c]::queries::Queries>::codegen_and_build_linker
  50:     0x7df67306842b - rustc_interface[b2de69547a619c9c]::interface::run_compiler::<core[6a8f7797598978f6]::result::Result<(), rustc_span[633ab68f95803574]::ErrorGuaranteed>, rustc_driver_impl[5ee00e344af6bdf5]::run_compiler::{closure#0}>::{closure#0}
  51:     0x7df67314e619 - std[eb5b6457c0684e39]::sys_common::backtrace::__rust_begin_short_backtrace::<rustc_interface[b2de69547a619c9c]::util::run_in_thread_with_globals<rustc_interface[b2de69547a619c9c]::util::run_in_thread_pool_with_globals<rustc_interface[b2de69547a619c9c]::interface::run_compiler<core[6a8f7797598978f6]::result::Result<(), rustc_span[633ab68f95803574]::ErrorGuaranteed>, rustc_driver_impl[5ee00e344af6bdf5]::run_compiler::{closure#0}>::{closure#0}, core[6a8f7797598978f6]::result::Result<(), rustc_span[633ab68f95803574]::ErrorGuaranteed>>::{closure#0}, core[6a8f7797598978f6]::result::Result<(), rustc_span[633ab68f95803574]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[6a8f7797598978f6]::result::Result<(), rustc_span[633ab68f95803574]::ErrorGuaranteed>>
  52:     0x7df67314e446 - <<std[eb5b6457c0684e39]::thread::Builder>::spawn_unchecked_<rustc_interface[b2de69547a619c9c]::util::run_in_thread_with_globals<rustc_interface[b2de69547a619c9c]::util::run_in_thread_pool_with_globals<rustc_interface[b2de69547a619c9c]::interface::run_compiler<core[6a8f7797598978f6]::result::Result<(), rustc_span[633ab68f95803574]::ErrorGuaranteed>, rustc_driver_impl[5ee00e344af6bdf5]::run_compiler::{closure#0}>::{closure#0}, core[6a8f7797598978f6]::result::Result<(), rustc_span[633ab68f95803574]::ErrorGuaranteed>>::{closure#0}, core[6a8f7797598978f6]::result::Result<(), rustc_span[633ab68f95803574]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[6a8f7797598978f6]::result::Result<(), rustc_span[633ab68f95803574]::ErrorGuaranteed>>::{closure#1} as core[6a8f7797598978f6]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
  53:     0x7df674676989 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h0d089857f8e00fa6
                               at /rustc/4a52e9cc2acf102da113d1b6c712afc5fcf4db13/library/alloc/src/boxed.rs:2015:9
  54:     0x7df674676989 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::ha02a095b935e61c5
                               at /rustc/4a52e9cc2acf102da113d1b6c712afc5fcf4db13/library/alloc/src/boxed.rs:2015:9
  55:     0x7df674676989 - std::sys::pal::unix::thread::Thread::new::thread_start::h1bc8f94bcc47d0ea
                               at /rustc/4a52e9cc2acf102da113d1b6c712afc5fcf4db13/library/std/src/sys/pal/unix/thread.rs:108:17
  56:     0x7df66dea955a - <unknown>
  57:     0x7df66df26a3c - <unknown>
  58:                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 attach the file at `/tmp/rustc-ice-2024-03-24T12_37_28-1002662.txt` to your bug report

note: compiler flags: -Z sanitizer=cfi -C codegen-units=1 -C lto

query stack during panic:
panicked at compiler/rustc_middle/src/ty/predicate.rs:293:9:
thread panicked while processing panic. aborting.
[1]    1002662 IOT instruction  ~/.rustup/toolchains/master/bin/rustc d.rs -Zsanitizer=cfi -Ccodegen-units=1

Metadata

Metadata

Assignees

Labels

C-bugCategory: This is a bug.F-dyn_star`#![feature(dyn_star)]`I-ICEIssue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️PG-exploit-mitigationsProject group: Exploit mitigationsT-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