ICE report as requested; no ICE on stable · Issue #130272 · rust-lang/rust (original) (raw)
ICE when a short-ish (5 lines) implementation is uncommented.
mcsherry@gallustrate columnar % cargo check
Checking columnar v0.1.0 (/Users/mcsherry/Projects/columnar)
error: internal compiler error: compiler/rustc_middle/src/query/plumbing.rs:654:5: `tcx.extern_crate(LocalCrate)` is not supported for this key;
hint: Queries can be either made to the local crate, or the external crate. This error means you tried to use it for one that's not supported.
If that's not the case, extern_crate was likely never assigned to a provider function.
thread 'rustc' panicked at compiler/rustc_middle/src/query/plumbing.rs:654:5:
Box<dyn Any>
stack backtrace:
0: 0x1103768d0 - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::hcdf1106207888f63
1: 0x10d7624d8 - core::fmt::write::h88c578ba3597c376
2: 0x11036a7ac - std::io::Write::write_fmt::h0d3cab7689d83b4b
3: 0x110376790 - std::sys::backtrace::BacktraceLock::print::h66abeb1b568c7ff5
4: 0x110378c7c - std::panicking::default_hook::{{closure}}::h1b45f3bddd52408e
5: 0x110378ae4 - std::panicking::default_hook::h794c296b823bf9db
...
In producing this report, I found that the ICE does not occur on stable, and instead it produces an error
error[E0277]: the trait bound json::Values: Len
is not satisfied
--> src/main.rs:479:30
|
479 | impl columnar::Index for Values {
| ^^^^^^ the trait Len
is not implemented for json::Values
|
When I add this implementation stable builds fine, but also nightly no longer has the ICE. I've linked the code in a commit that does not have the missing implementation, so that you can trigger the ICE, but I'll likely be moving forward with the non-ICEing implementation so do use that link rather than looking on master
.
Code
The following snippet, when uncommented, produces an ICE that I am asked to report. No attempt was made at minimization, as I haven't the foggiest what the error means:
Meta
rustc --version --verbose
:
rustc 1.83.0-nightly (8d6b88b16 2024-09-11)
binary: rustc
commit-hash: 8d6b88b168e45ee1624699c19443c49665322a91
commit-date: 2024-09-11
host: aarch64-apple-darwin
release: 1.83.0-nightly
LLVM version: 19.1.0
Error output
Backtrace
mcsherry@gallustrate columnar % rust_backtrace=1 cargo check
Checking columnar v0.1.0 (/Users/mcsherry/Projects/columnar)
error: internal compiler error: compiler/rustc_middle/src/query/plumbing.rs:654:5: `tcx.extern_crate(LocalCrate)` is not supported for this key;
hint: Queries can be either made to the local crate, or the external crate. This error means you tried to use it for one that's not supported.
If that's not the case, extern_crate was likely never assigned to a provider function.
thread 'rustc' panicked at compiler/rustc_middle/src/query/plumbing.rs:654:5:
Box<dyn Any>
stack backtrace:
0: 0x11218a8d0 - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::hcdf1106207888f63
1: 0x10f5764d8 - core::fmt::write::h88c578ba3597c376
2: 0x11217e7ac - std::io::Write::write_fmt::h0d3cab7689d83b4b
3: 0x11218a790 - std::sys::backtrace::BacktraceLock::print::h66abeb1b568c7ff5
4: 0x11218cc7c - std::panicking::default_hook::{{closure}}::h1b45f3bddd52408e
5: 0x11218cae4 - std::panicking::default_hook::h794c296b823bf9db
6: 0x110153250 - <alloc[c01488999d15f48e]::boxed::Box<rustc_driver_impl[153ac12c16de724d]::install_ice_hook::{closure#0}> as core[7e1b29dc511eddb7]::ops::function::Fn<(&dyn for<'a, 'b> core[7e1b29dc511eddb7]::ops::function::Fn<(&'a std[a705629b94c28459]::panic::PanicHookInfo<'b>,), Output = ()> + core[7e1b29dc511eddb7]:📑:Send + core[7e1b29dc511eddb7]:📑:Sync, &std[a705629b94c28459]::panic::PanicHookInfo)>>::call
7: 0x11218d4f4 - std::panicking::rust_panic_with_hook::he467074a57b36db5
8: 0x1101eed54 - std[a705629b94c28459]::panicking::begin_panic::<rustc_errors[c50f64eac8a76fa8]::ExplicitBug>::{closure#0}
9: 0x1101ede44 - std[a705629b94c28459]::sys::backtrace::__rust_end_short_backtrace::<std[a705629b94c28459]::panicking::begin_panic<rustc_errors[c50f64eac8a76fa8]::ExplicitBug>::{closure#0}, !>
10: 0x1148890f8 - std[a705629b94c28459]::panicking::begin_panic::<rustc_errors[c50f64eac8a76fa8]::ExplicitBug>
11: 0x1101eff70 - <rustc_errors[c50f64eac8a76fa8]::diagnostic::BugAbort as rustc_errors[c50f64eac8a76fa8]::diagnostic::EmissionGuarantee>::emit_producing_guarantee
12: 0x110dc3bd0 - rustc_middle[40631e60f33eea58]::util:🐛:opt_span_bug_fmt::<rustc_span[5dde48fc31969b1f]::span_encoding::Span>::{closure#0}
13: 0x110dbdbe0 - rustc_middle[40631e60f33eea58]::ty::context::tls::with_opt::<rustc_middle[40631e60f33eea58]::util:🐛:opt_span_bug_fmt<rustc_span[5dde48fc31969b1f]::span_encoding::Span>::{closure#0}, !>::{closure#0}
14: 0x110dbdbac - rustc_middle[40631e60f33eea58]::ty::context::tls::with_context_opt::<rustc_middle[40631e60f33eea58]::ty::context::tls::with_opt<rustc_middle[40631e60f33eea58]::util:🐛:opt_span_bug_fmt<rustc_span[5dde48fc31969b1f]::span_encoding::Span>::{closure#0}, !>::{closure#0}, !>
15: 0x1149235fc - rustc_middle[40631e60f33eea58]::util:🐛:bug_fmt
16: 0x114925038 - rustc_middle[40631e60f33eea58]::query::plumbing::default_query
17: 0x110e1d660 - <<rustc_middle[40631e60f33eea58]::query::Providers as core[7e1b29dc511eddb7]::default::Default>::default::{closure#189} as core[7e1b29dc511eddb7]::ops::function::FnOnce<(rustc_middle[40631e60f33eea58]::ty::context::TyCtxt, rustc_middle[40631e60f33eea58]::query::keys::LocalCrate)>>::call_once
18: 0x111719104 - rustc_query_impl[6a673aab23e1f582]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[6a673aab23e1f582]::query_impl::extern_crate::dynamic_query::{closure#2}::{closure#0}, rustc_middle[40631e60f33eea58]::query::erase::Erased<[u8; 8usize]>>
19: 0x111888ebc - <rustc_query_impl[6a673aab23e1f582]::query_impl::extern_crate::dynamic_query::{closure#2} as core[7e1b29dc511eddb7]::ops::function::FnOnce<(rustc_middle[40631e60f33eea58]::ty::context::TyCtxt, rustc_span[5dde48fc31969b1f]::def_id::CrateNum)>>::call_once
20: 0x1116cfee0 - rustc_query_system[696f83dd047c098f]::query::plumbing::try_execute_query::<rustc_query_impl[6a673aab23e1f582]::DynamicConfig<rustc_query_system[696f83dd047c098f]::query::caches::VecCache<rustc_span[5dde48fc31969b1f]::def_id::CrateNum, rustc_middle[40631e60f33eea58]::query::erase::Erased<[u8; 8usize]>>, false, false, false>, rustc_query_impl[6a673aab23e1f582]::plumbing::QueryCtxt, true>
21: 0x1118acac8 - rustc_query_impl[6a673aab23e1f582]::query_impl::extern_crate::get_query_incr::__rust_end_short_backtrace
22: 0x111f3a7c4 - <&mut <rustc_trait_selection[54a71ea60785e42b]::error_reporting::TypeErrCtxt>::report_similar_impl_candidates::{closure#1} as core[7e1b29dc511eddb7]::ops::function::FnMut<(rustc_span[5dde48fc31969b1f]::def_id::DefId,)>>::call_mut
23: 0x111ee288c - <alloc[c01488999d15f48e]::vec::Vec<(rustc_span[5dde48fc31969b1f]::span_encoding::Span, alloc[c01488999d15f48e]:🧵:String)> as alloc[c01488999d15f48e]::vec::spec_from_iter::SpecFromIter<(rustc_span[5dde48fc31969b1f]::span_encoding::Span, alloc[c01488999d15f48e]:🧵:String), core[7e1b29dc511eddb7]::iter::adapters::map::Map<core[7e1b29dc511eddb7]::iter::adapters::filter_map::FilterMap<core[7e1b29dc511eddb7]::array::iter::IntoIter<rustc_span[5dde48fc31969b1f]::def_id::DefId, 2usize>, <rustc_trait_selection[54a71ea60785e42b]::error_reporting::TypeErrCtxt>::report_similar_impl_candidates::{closure#1}>, <rustc_trait_selection[54a71ea60785e42b]::error_reporting::TypeErrCtxt>::report_similar_impl_candidates::{closure#2}>>>::from_iter
24: 0x111d1b2f0 - <rustc_trait_selection[54a71ea60785e42b]::error_reporting::TypeErrCtxt>::report_similar_impl_candidates
25: 0x111d21410 - <rustc_trait_selection[54a71ea60785e42b]::error_reporting::TypeErrCtxt>::try_to_add_help_message
26: 0x111d17204 - <rustc_trait_selection[54a71ea60785e42b]::error_reporting::TypeErrCtxt>::report_selection_error
27: 0x111d3e33c - <rustc_trait_selection[54a71ea60785e42b]::error_reporting::TypeErrCtxt>::report_fulfillment_errors
28: 0x111f46418 - <rustc_trait_selection[54a71ea60785e42b]::traits::engine::ObligationCtxt<rustc_trait_selection[54a71ea60785e42b]::traits::FulfillmentError>>::assumed_wf_types_and_report_errors
29: 0x110540ae8 - rustc_hir_analysis[9e5120abf2907e11]::check::wfcheck::check_well_formed
30: 0x11171b998 - rustc_query_impl[6a673aab23e1f582]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[6a673aab23e1f582]::query_impl::check_well_formed::dynamic_query::{closure#2}::{closure#0}, rustc_middle[40631e60f33eea58]::query::erase::Erased<[u8; 1usize]>>
31: 0x11183f574 - <rustc_query_impl[6a673aab23e1f582]::query_impl::check_well_formed::dynamic_query::{closure#2} as core[7e1b29dc511eddb7]::ops::function::FnOnce<(rustc_middle[40631e60f33eea58]::ty::context::TyCtxt, rustc_hir[507c7a731f66ace7]::hir_id::OwnerId)>>::call_once
32: 0x1116b4e50 - rustc_query_system[696f83dd047c098f]::query::plumbing::try_execute_query::<rustc_query_impl[6a673aab23e1f582]::DynamicConfig<rustc_query_system[696f83dd047c098f]::query::caches::VecCache<rustc_hir[507c7a731f66ace7]::hir_id::OwnerId, rustc_middle[40631e60f33eea58]::query::erase::Erased<[u8; 1usize]>>, false, false, false>, rustc_query_impl[6a673aab23e1f582]::plumbing::QueryCtxt, true>
33: 0x1118ada70 - rustc_query_impl[6a673aab23e1f582]::query_impl::check_well_formed::get_query_incr::__rust_end_short_backtrace
34: 0x1104e227c - rustc_middle[40631e60f33eea58]::query::plumbing::query_ensure_error_guaranteed::<rustc_query_system[696f83dd047c098f]::query::caches::VecCache<rustc_hir[507c7a731f66ace7]::hir_id::OwnerId, rustc_middle[40631e60f33eea58]::query::erase::Erased<[u8; 1usize]>>, ()>
35: 0x1104d8eec - <rustc_data_structures[cdd1f8a1eb5f876d]::sync::parallel::ParallelGuard>::run::<core[7e1b29dc511eddb7]::result::Result<(), rustc_span[5dde48fc31969b1f]::ErrorGuaranteed>, rustc_data_structures[cdd1f8a1eb5f876d]::sync::parallel::enabled::try_par_for_each_in<&[rustc_hir[507c7a731f66ace7]::hir::TraitItemId], rustc_span[5dde48fc31969b1f]::ErrorGuaranteed, <rustc_middle[40631e60f33eea58]::hir::ModuleItems>::par_trait_items<rustc_hir_analysis[9e5120abf2907e11]::check::wfcheck::check_mod_type_wf::{closure#2}>::{closure#0}>::{closure#0}::{closure#0}::{closure#0}>
36: 0x110552c58 - <rustc_middle[40631e60f33eea58]::hir::ModuleItems>::par_items::<rustc_hir_analysis[9e5120abf2907e11]::check::wfcheck::check_mod_type_wf::{closure#0}>
37: 0x1105465cc - rustc_hir_analysis[9e5120abf2907e11]::check::wfcheck::check_mod_type_wf
38: 0x11171b94c - rustc_query_impl[6a673aab23e1f582]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[6a673aab23e1f582]::query_impl::check_mod_type_wf::dynamic_query::{closure#2}::{closure#0}, rustc_middle[40631e60f33eea58]::query::erase::Erased<[u8; 1usize]>>
39: 0x11192b3ec - <rustc_query_impl[6a673aab23e1f582]::query_impl::check_mod_type_wf::dynamic_query::{closure#2} as core[7e1b29dc511eddb7]::ops::function::FnOnce<(rustc_middle[40631e60f33eea58]::ty::context::TyCtxt, rustc_span[5dde48fc31969b1f]::def_id::LocalModDefId)>>::call_once
40: 0x11167c440 - rustc_query_system[696f83dd047c098f]::query::plumbing::try_execute_query::<rustc_query_impl[6a673aab23e1f582]::DynamicConfig<rustc_query_system[696f83dd047c098f]::query::caches::DefaultCache<rustc_span[5dde48fc31969b1f]::def_id::LocalModDefId, rustc_middle[40631e60f33eea58]::query::erase::Erased<[u8; 1usize]>>, false, false, false>, rustc_query_impl[6a673aab23e1f582]::plumbing::QueryCtxt, true>
41: 0x11189ddac - rustc_query_impl[6a673aab23e1f582]::query_impl::check_mod_type_wf::get_query_incr::__rust_end_short_backtrace
42: 0x1104d90b8 - <rustc_data_structures[cdd1f8a1eb5f876d]::sync::parallel::ParallelGuard>::run::<(), rustc_data_structures[cdd1f8a1eb5f876d]::sync::parallel::enabled::par_for_each_in<&rustc_hir[507c7a731f66ace7]::hir_id::OwnerId, &[rustc_hir[507c7a731f66ace7]::hir_id::OwnerId], <rustc_middle[40631e60f33eea58]::hir::map::Map>::par_for_each_module<rustc_hir_analysis[9e5120abf2907e11]::check_crate::{closure#0}::{closure#0}>::{closure#0}>::{closure#0}::{closure#0}::{closure#0}>
43: 0x11057f854 - rustc_hir_analysis[9e5120abf2907e11]::check_crate
44: 0x110a671a4 - rustc_interface[37ae34e3d70a486b]::passes::analysis
45: 0x111720e04 - rustc_query_impl[6a673aab23e1f582]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[6a673aab23e1f582]::query_impl::analysis::dynamic_query::{closure#2}::{closure#0}, rustc_middle[40631e60f33eea58]::query::erase::Erased<[u8; 1usize]>>
46: 0x11192e90c - <rustc_query_impl[6a673aab23e1f582]::query_impl::analysis::dynamic_query::{closure#2} as core[7e1b29dc511eddb7]::ops::function::FnOnce<(rustc_middle[40631e60f33eea58]::ty::context::TyCtxt, ())>>::call_once
47: 0x11163c170 - rustc_query_system[696f83dd047c098f]::query::plumbing::try_execute_query::<rustc_query_impl[6a673aab23e1f582]::DynamicConfig<rustc_query_system[696f83dd047c098f]::query::caches::SingleCache<rustc_middle[40631e60f33eea58]::query::erase::Erased<[u8; 1usize]>>, false, false, false>, rustc_query_impl[6a673aab23e1f582]::plumbing::QueryCtxt, true>
48: 0x11188fedc - rustc_query_impl[6a673aab23e1f582]::query_impl::analysis::get_query_incr::__rust_end_short_backtrace
49: 0x1100d0e34 - <rustc_middle[40631e60f33eea58]::ty::context::GlobalCtxt>::enter::<rustc_driver_impl[153ac12c16de724d]::run_compiler::{closure#0}::{closure#1}::{closure#5}, core[7e1b29dc511eddb7]::result::Result<(), rustc_span[5dde48fc31969b1f]::ErrorGuaranteed>>
50: 0x110125fa0 - <rustc_interface[37ae34e3d70a486b]::interface::Compiler>::enter::<rustc_driver_impl[153ac12c16de724d]::run_compiler::{closure#0}::{closure#1}, core[7e1b29dc511eddb7]::result::Result<core[7e1b29dc511eddb7]::option::Option<rustc_interface[37ae34e3d70a486b]::queries::Linker>, rustc_span[5dde48fc31969b1f]::ErrorGuaranteed>>
51: 0x11010bd04 - rustc_span[5dde48fc31969b1f]::create_session_globals_then::<core[7e1b29dc511eddb7]::result::Result<(), rustc_span[5dde48fc31969b1f]::ErrorGuaranteed>, rustc_interface[37ae34e3d70a486b]::util::run_in_thread_with_globals<rustc_interface[37ae34e3d70a486b]::util::run_in_thread_pool_with_globals<rustc_interface[37ae34e3d70a486b]::interface::run_compiler<core[7e1b29dc511eddb7]::result::Result<(), rustc_span[5dde48fc31969b1f]::ErrorGuaranteed>, rustc_driver_impl[153ac12c16de724d]::run_compiler::{closure#0}>::{closure#1}, core[7e1b29dc511eddb7]::result::Result<(), rustc_span[5dde48fc31969b1f]::ErrorGuaranteed>>::{closure#0}, core[7e1b29dc511eddb7]::result::Result<(), rustc_span[5dde48fc31969b1f]::ErrorGuaranteed>>::{closure#0}::{closure#0}::{closure#0}>
52: 0x110170328 - std[a705629b94c28459]::sys::backtrace::__rust_begin_short_backtrace::<rustc_interface[37ae34e3d70a486b]::util::run_in_thread_with_globals<rustc_interface[37ae34e3d70a486b]::util::run_in_thread_pool_with_globals<rustc_interface[37ae34e3d70a486b]::interface::run_compiler<core[7e1b29dc511eddb7]::result::Result<(), rustc_span[5dde48fc31969b1f]::ErrorGuaranteed>, rustc_driver_impl[153ac12c16de724d]::run_compiler::{closure#0}>::{closure#1}, core[7e1b29dc511eddb7]::result::Result<(), rustc_span[5dde48fc31969b1f]::ErrorGuaranteed>>::{closure#0}, core[7e1b29dc511eddb7]::result::Result<(), rustc_span[5dde48fc31969b1f]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[7e1b29dc511eddb7]::result::Result<(), rustc_span[5dde48fc31969b1f]::ErrorGuaranteed>>
53: 0x110170ab0 - <<std[a705629b94c28459]::thread::Builder>::spawn_unchecked_<rustc_interface[37ae34e3d70a486b]::util::run_in_thread_with_globals<rustc_interface[37ae34e3d70a486b]::util::run_in_thread_pool_with_globals<rustc_interface[37ae34e3d70a486b]::interface::run_compiler<core[7e1b29dc511eddb7]::result::Result<(), rustc_span[5dde48fc31969b1f]::ErrorGuaranteed>, rustc_driver_impl[153ac12c16de724d]::run_compiler::{closure#0}>::{closure#1}, core[7e1b29dc511eddb7]::result::Result<(), rustc_span[5dde48fc31969b1f]::ErrorGuaranteed>>::{closure#0}, core[7e1b29dc511eddb7]::result::Result<(), rustc_span[5dde48fc31969b1f]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[7e1b29dc511eddb7]::result::Result<(), rustc_span[5dde48fc31969b1f]::ErrorGuaranteed>>::{closure#1} as core[7e1b29dc511eddb7]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
54: 0x112197b18 - std::sys::pal::unix::thread::Thread:🆕:thread_start::h9e782b2e7751f7b3
55: 0x182cd2034 - __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: please make sure that you have updated to the latest nightly
note: please attach the file at `/Users/mcsherry/Projects/columnar/rustc-ice-2024-09-12T12_18_37-9972.txt` to your bug report
note: compiler flags: --crate-type bin -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 [extern_crate] getting crate's ExternCrateData
#1 [check_well_formed] checking that `json::<impl at src/main.rs:479:5: 479:36>` is well-formed
end of query stack
error: could not compile `columnar` (bin "columnar")
Caused by:
process didn't exit successfully: `/Users/mcsherry/.rustup/toolchains/nightly-aarch64-apple-darwin/bin/rustc --crate-name columnar --edition=2021 src/main.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --diagnostic-width=89 --crate-type bin --emit=dep-info,metadata -C embed-bitcode=no -C debuginfo=2 -C split-debuginfo=unpacked --check-cfg 'cfg(docsrs)' --check-cfg 'cfg(feature, values())' -C metadata=c515cf71c4455edb -C extra-filename=-c515cf71c4455edb --out-dir /Users/mcsherry/Projects/columnar/target/debug/deps -C incremental=/Users/mcsherry/Projects/columnar/target/debug/incremental -L dependency=/Users/mcsherry/Projects/columnar/target/debug/deps --extern bincode=/Users/mcsherry/Projects/columnar/target/debug/deps/libbincode-d591253bb5391bab.rmeta --extern bytemuck=/Users/mcsherry/Projects/columnar/target/debug/deps/libbytemuck-ac1a238c7a933331.rmeta --extern columnar=/Users/mcsherry/Projects/columnar/target/debug/deps/libcolumnar-dc6717fddb8e5fea.rmeta --extern rmp_serde=/Users/mcsherry/Projects/columnar/target/debug/deps/librmp_serde-532ca22514f78a47.rmeta --extern serde=/Users/mcsherry/Projects/columnar/target/debug/deps/libserde-bb67cca9aa1779fe.rmeta --extern serde_json=/Users/mcsherry/Projects/columnar/target/debug/deps/libserde_json-8802652fb6a6b3e4.rmeta` (exit status: 101)
mcsherry@gallustrate columnar %
Produced output file.