Skip to content

ICE on rust 1.65.0, thread 'rustc' panicked at 'assertion failed: key.param_env.is_const()', compiler/rustc_const_eval/src/const_eval/eval_queries.rs:270:5 #111498

Closed
@sorhawell

Description

@sorhawell

This is probably old news, but I was not entirely sure. For good measures I submit the issue, and it could be closed if so.

I see this error when compiling a crate called argminmax with rust 1.65.0 . Any other version or opt-level<2 does not give an error.
I apologize for not making error more containted, but I was not able to pick a part the crate and reproduce the error.

Code

// simple rust project with error https://github.com/sorhawell/use_argminmax/blob/master/Cargo.toml
fn main() {
    println!("Hello, world!");

    use argminmax::ArgMinMax; // import trait

    let arr: Vec<i32> = (0..200_000).collect(); // create a vector

    let (min, max) = arr.argminmax(); // apply extension

    println!("min: {}, max: {}", min, max);
    println!("arr[min]: {}, arr[max]: {}", arr[min], arr[max]);
}

Meta

Only present in rust 1.65.0 with opt-level=2 and above.
Found on linux and darwin

rustc --version --verbose:

rustc 1.65.0 (897e37553 2022-11-02) running on x86_64-apple-darwin

Error output

See also a full error log here here:

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.65.0 (897e37553 2022-11-02) running on x86_64-apple-darwin

note: compiler flags: --crate-type lib -C opt-level=3 -C embed-bitcode=no

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

query stack during panic:
#0 [eval_to_allocation_raw] const-evaluating + checking `simd::simd_i8::sse::<impl at /Users/sorenwelling/Documents/projs/argminmax/src/simd/generic.rs:776:9: 802:10>::{constant#0}`
#1 [eval_to_valtree] evaluating type-level constant  |  = note: this failure-note originates in the macro `impl_SIMDArgMinMax` (in Nightly builds, run with -Z macro-backtrace for more info)

#2 [optimized_mir] optimizing MIR for `simd::simd_i8::sse::<impl at /Users/sorenwelling/Documents/projs/argminmax/src/simd/generic.rs:776:9: 802:10>::argminmax`
#3 [collect_and_partition_mono_items] collect_and_partition_mono_items
end of query stack
thread 'rustc' panicked at 'assertion failed: key.param_env.is_const()', compiler/rustc_const_eval/src/const_eval/eval_queries.rs:270:5
stack backtrace:
   0:        0x1097bd662 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::hd2e8cbde22b780fc
   1:        0x109814d2a - core::fmt::write::hd6692086cdd356a7
   2:        0x1097af6cc - std::io::Write::write_fmt::h6043124a2486acbb
   3:        0x1097c054b - std::panicking::default_hook::{{closure}}::h87a12b8b06887dd7
   4:        0x1097c0257 - std::panicking::default_hook::h7f68dad17e0bfaa4
   5:        0x11ad873ca - rustc_driver[16e15c4795dce443]::DEFAULT_HOOK::{closure#0}::{closure#0}
   6:        0x1097c0c7e - std::panicking::rust_panic_with_hook::hd57427cbbfc3717a
   7:        0x1097c0ae2 - std::panicking::begin_panic_handler::{{closure}}::h33aab6d04e2bba70
   8:        0x1097bdaf8 - std::sys_common::backtrace::__rust_end_short_backtrace::h0e7a76f927db9964
   9:        0x1097c07ed - _rust_begin_unwind
  10:        0x10983f8d3 - core::panicking::panic_fmt::hcf6f3c517c6f3cb3
  11:        0x10983f7b7 - core::panicking::panic::h46977cf6deabee02
  12:        0x11e34a993 - rustc_const_eval[17aaad9da6681dfa]::const_eval::eval_queries::eval_to_allocation_raw_provider
  13:        0x11e50d495 - rustc_query_system[dd5f4cbbefd3ac00]::query::plumbing::try_execute_query::<rustc_query_impl[cb317dc1728e98be]::plumbing::QueryCtxt, rustc_query_system[dd5f4cbbefd3ac00]::query::caches::DefaultCache<rustc_middle[bb0c5e8c48bbcb6f]::ty::ParamEnvAnd<rustc_middle[bb0c5e8c48bbcb6f]::mir::interpret::GlobalId>, core[bb3d6b31f0e973c8]::result::Result<rustc_middle[bb0c5e8c48bbcb6f]::mir::interpret::value::ConstAlloc, rustc_middle[bb0c5e8c48bbcb6f]::mir::interpret::error::ErrorHandled>>>
  14:        0x11e62b1ba - rustc_query_system[dd5f4cbbefd3ac00]::query::plumbing::get_query::<rustc_query_impl[cb317dc1728e98be]::queries::eval_to_allocation_raw, rustc_query_impl[cb317dc1728e98be]::plumbing::QueryCtxt>
  15:        0x11e8bba91 - <rustc_query_impl[cb317dc1728e98be]::Queries as rustc_middle[bb0c5e8c48bbcb6f]::ty::query::QueryEngine>::eval_to_allocation_raw
  16:        0x11e357e1f - rustc_const_eval[17aaad9da6681dfa]::const_eval::eval_to_valtree
  17:        0x11e375093 - <rustc_const_eval[17aaad9da6681dfa]::provide::{closure#0} as core[bb3d6b31f0e973c8]::ops::function::FnOnce<(rustc_middle[bb0c5e8c48bbcb6f]::ty::context::TyCtxt, rustc_middle[bb0c5e8c48bbcb6f]::ty::ParamEnvAnd<rustc_middle[bb0c5e8c48bbcb6f]::mir::interpret::GlobalId>)>>::call_once
  18:        0x11e50be23 - rustc_query_system[dd5f4cbbefd3ac00]::query::plumbing::try_execute_query::<rustc_query_impl[cb317dc1728e98be]::plumbing::QueryCtxt, rustc_query_system[dd5f4cbbefd3ac00]::query::caches::DefaultCache<rustc_middle[bb0c5e8c48bbcb6f]::ty::ParamEnvAnd<rustc_middle[bb0c5e8c48bbcb6f]::mir::interpret::GlobalId>, core[bb3d6b31f0e973c8]::result::Result<core[bb3d6b31f0e973c8]::option::Option<rustc_middle[bb0c5e8c48bbcb6f]::ty::consts::valtree::ValTree>, rustc_middle[bb0c5e8c48bbcb6f]::mir::interpret::error::ErrorHandled>>>
  19:        0x11e62286d - rustc_query_system[dd5f4cbbefd3ac00]::query::plumbing::get_query::<rustc_query_impl[cb317dc1728e98be]::queries::eval_to_valtree, rustc_query_impl[cb317dc1728e98be]::plumbing::QueryCtxt>
  20:        0x11e8bbb91 - <rustc_query_impl[cb317dc1728e98be]::Queries as rustc_middle[bb0c5e8c48bbcb6f]::ty::query::QueryEngine>::eval_to_valtree
  21:        0x11d62fbfc - <rustc_const_eval[17aaad9da6681dfa]::interpret::eval_context::InterpCx<rustc_mir_transform[2605375681be2b59]::const_prop::ConstPropMachine>>::mir_const_to_op
  22:        0x11d62ec3b - <rustc_const_eval[17aaad9da6681dfa]::interpret::eval_context::InterpCx<rustc_mir_transform[2605375681be2b59]::const_prop::ConstPropMachine>>::eval_operand
  23:        0x11d622055 - <rustc_const_eval[17aaad9da6681dfa]::interpret::eval_context::InterpCx<rustc_mir_transform[2605375681be2b59]::const_prop::ConstPropMachine>>::eval_rvalue_into_place
  24:        0x11d6c1341 - <rustc_mir_transform[2605375681be2b59]::const_prop::ConstPropagator as rustc_middle[bb0c5e8c48bbcb6f]::mir::visit::MutVisitor>::visit_statement
  25:        0x11d6d25cb - <rustc_mir_transform[2605375681be2b59]::const_prop::ConstProp as rustc_middle[bb0c5e8c48bbcb6f]::mir::MirPass>::run_pass
  26:        0x11d7370a7 - rustc_mir_transform[2605375681be2b59]::pass_manager::run_passes_inner
  27:        0x11d6ffcaa - rustc_mir_transform[2605375681be2b59]::optimized_mir
  28:        0x11e578bd5 - rustc_query_system[dd5f4cbbefd3ac00]::query::plumbing::try_execute_query::<rustc_query_impl[cb317dc1728e98be]::plumbing::QueryCtxt, rustc_query_system[dd5f4cbbefd3ac00]::query::caches::DefaultCache<rustc_span[e569a852badd08b3]::def_id::DefId, &rustc_middle[bb0c5e8c48bbcb6f]::mir::Body>>
  29:        0x11e620645 - rustc_query_system[dd5f4cbbefd3ac00]::query::plumbing::get_query::<rustc_query_impl[cb317dc1728e98be]::queries::optimized_mir, rustc_query_impl[cb317dc1728e98be]::plumbing::QueryCtxt>
  30:        0x11f4de45f - <rustc_middle[bb0c5e8c48bbcb6f]::ty::context::TyCtxt>::instance_mir
  31:        0x11d5c4bc0 - rustc_monomorphize[fc10be4fb6fc1379]::collector::collect_neighbours
  32:        0x11d5c2b76 - rustc_monomorphize[fc10be4fb6fc1379]::collector::collect_items_rec
  33:        0x11d5ee76c - std[550525b9dd91a68e]::panicking::try::<(), core[bb3d6b31f0e973c8]::panic::unwind_safe::AssertUnwindSafe<rustc_data_structures[12a8d38a9c012388]::sync::par_for_each_in<alloc[bc7f897b574022f6]::vec::Vec<rustc_middle[bb0c5e8c48bbcb6f]::mir::mono::MonoItem>, rustc_monomorphize[fc10be4fb6fc1379]::collector::collect_crate_mono_items::{closure#1}::{closure#0}>::{closure#0}::{closure#0}>>
  34:        0x11d5d583b - <rustc_session[7981c40e681cffbf]::session::Session>::time::<(), rustc_monomorphize[fc10be4fb6fc1379]::collector::collect_crate_mono_items::{closure#1}>
  35:        0x11d5c011c - rustc_monomorphize[fc10be4fb6fc1379]::collector::collect_crate_mono_items
  36:        0x11d5d18cf - rustc_monomorphize[fc10be4fb6fc1379]::partitioning::collect_and_partition_mono_items
  37:        0x11e5c7b71 - rustc_query_system[dd5f4cbbefd3ac00]::query::plumbing::try_execute_query::<rustc_query_impl[cb317dc1728e98be]::plumbing::QueryCtxt, rustc_query_system[dd5f4cbbefd3ac00]::query::caches::DefaultCache<(), (&std[550525b9dd91a68e]::collections::hash::set::HashSet<rustc_span[e569a852badd08b3]::def_id::DefId, core[bb3d6b31f0e973c8]::hash::BuildHasherDefault<rustc_hash[adf28cd9458a09b0]::FxHasher>>, &[rustc_middle[bb0c5e8c48bbcb6f]::mir::mono::CodegenUnit])>>
  38:        0x11e630dd3 - rustc_query_system[dd5f4cbbefd3ac00]::query::plumbing::get_query::<rustc_query_impl[cb317dc1728e98be]::queries::collect_and_partition_mono_items, rustc_query_impl[cb317dc1728e98be]::plumbing::QueryCtxt>
  39:        0x11e8bd1be - <rustc_query_impl[cb317dc1728e98be]::Queries as rustc_middle[bb0c5e8c48bbcb6f]::ty::query::QueryEngine>::collect_and_partition_mono_items
  40:        0x11afc5b0c - rustc_codegen_ssa[1c3c03b57650ec71]::base::codegen_crate::<rustc_codegen_llvm[389602dbb09ae164]::LlvmCodegenBackend>
  41:        0x11af73732 - <rustc_codegen_llvm[389602dbb09ae164]::LlvmCodegenBackend as rustc_codegen_ssa[1c3c03b57650ec71]::traits::backend::CodegenBackend>::codegen_crate
  42:        0x11aec3512 - <rustc_session[7981c40e681cffbf]::session::Session>::time::<alloc[bc7f897b574022f6]::boxed::Box<dyn core[bb3d6b31f0e973c8]::any::Any>, rustc_interface[10c69fc32fc6154b]::passes::start_codegen::{closure#0}>
  43:        0x11aec1306 - <rustc_interface[10c69fc32fc6154b]::passes::QueryContext>::enter::<<rustc_interface[10c69fc32fc6154b]::queries::Queries>::ongoing_codegen::{closure#0}::{closure#0}, core[bb3d6b31f0e973c8]::result::Result<alloc[bc7f897b574022f6]::boxed::Box<dyn core[bb3d6b31f0e973c8]::any::Any>, rustc_errors[a43e87068ce59fd]::ErrorGuaranteed>>
  44:        0x11ae9dc2c - <rustc_interface[10c69fc32fc6154b]::queries::Queries>::ongoing_codegen
  45:        0x11ad8e21f - rustc_interface[10c69fc32fc6154b]::interface::create_compiler_and_run::<core[bb3d6b31f0e973c8]::result::Result<(), rustc_errors[a43e87068ce59fd]::ErrorGuaranteed>, rustc_driver[16e15c4795dce443]::run_compiler::{closure#1}>
  46:        0x11adff065 - <scoped_tls[7d2a033726ec5167]::ScopedKey<rustc_span[e569a852badd08b3]::SessionGlobals>>::set::<rustc_interface[10c69fc32fc6154b]::interface::run_compiler<core[bb3d6b31f0e973c8]::result::Result<(), rustc_errors[a43e87068ce59fd]::ErrorGuaranteed>, rustc_driver[16e15c4795dce443]::run_compiler::{closure#1}>::{closure#0}, core[bb3d6b31f0e973c8]::result::Result<(), rustc_errors[a43e87068ce59fd]::ErrorGuaranteed>>
  47:        0x11adc416a - std[550525b9dd91a68e]::sys_common::backtrace::__rust_begin_short_backtrace::<rustc_interface[10c69fc32fc6154b]::util::run_in_thread_pool_with_globals<rustc_interface[10c69fc32fc6154b]::interface::run_compiler<core[bb3d6b31f0e973c8]::result::Result<(), rustc_errors[a43e87068ce59fd]::ErrorGuaranteed>, rustc_driver[16e15c4795dce443]::run_compiler::{closure#1}>::{closure#0}, core[bb3d6b31f0e973c8]::result::Result<(), rustc_errors[a43e87068ce59fd]::ErrorGuaranteed>>::{closure#0}, core[bb3d6b31f0e973c8]::result::Result<(), rustc_errors[a43e87068ce59fd]::ErrorGuaranteed>>
  48:        0x11adc7898 - <<std[550525b9dd91a68e]::thread::Builder>::spawn_unchecked_<rustc_interface[10c69fc32fc6154b]::util::run_in_thread_pool_with_globals<rustc_interface[10c69fc32fc6154b]::interface::run_compiler<core[bb3d6b31f0e973c8]::result::Result<(), rustc_errors[a43e87068ce59fd]::ErrorGuaranteed>, rustc_driver[16e15c4795dce443]::run_compiler::{closure#1}>::{closure#0}, core[bb3d6b31f0e973c8]::result::Result<(), rustc_errors[a43e87068ce59fd]::ErrorGuaranteed>>::{closure#0}, core[bb3d6b31f0e973c8]::result::Result<(), rustc_errors[a43e87068ce59fd]::ErrorGuaranteed>>::{closure#1} as core[bb3d6b31f0e973c8]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
  49:        0x1097c9bb7 - std::sys::unix::thread::Thread::new::thread_start::haa45038b11bc331d
  50:     0x7ff81c13c4e1 - __pthread_start

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