#163426·Rust

[ICE]: rustdoc ICE with -Zmetrics-dir: crate_hash(LOCAL_CRATE) called before metadata encoding

Author: sypharCreated Sep 28, 2026Updated Sep 28, 2026
LabelsI-ICET-compilerC-bugneeds-triage

Code

rust
// any code, this is just `cargo init --lib`
pub fn add(left: u64, right: u64) -> u64 {
    left + right
}

Then

rustdoc +nightly-2026-09-27 lib.rs -Zmetrics-dir=metrics

Meta

rustdoc --version --verbose:

rustdoc 1.101.0-nightly (75a75c3e0 2026-09-26)
binary: rustdoc
commit-hash: 75a75c3e0a67d3fa3d03982775f5bb0356e7b510
commit-date: 2026-09-26
host: x86_64-unknown-linux-gnu
release: 1.101.0-nightly
LLVM version: 23.1.1

Error output

error: the compiler unexpectedly panicked. This is a bug

note: rustc 1.101.0-nightly (75a75c3e0 2026-09-26) running on x86_64-unknown-linux-gnu

note: compiler flags: -Z metrics-dir=metrics

query stack during panic:
#0 [crate_hash] looking up the hash of a crate
end of query stack
Backtrace

thread 'rustc' (2727191) panicked at /rustc-dev/75a75c3e0a67d3fa3d03982775f5bb0356e7b510/compiler/rustc_middle/src/hir/map.rs:1179:14:
crate_hash(LOCAL_CRATE) called before metadata encoding
stack backtrace:
   0:     0x7fc8b2420696 - <<std[12c952bc7757bb49]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[b920c24b47de0916]::fmt::Display>::fmt
   1:     0x7fc8b2a0935f - core[b920c24b47de0916]::fmt::write
   2:     0x7fc8b243558c - <std[12c952bc7757bb49]::sys::stdio::unix::Stderr as core[b920c24b47de0916]::io::write::Write>::write_fmt
   3:     0x7fc8b23f2faa - std[12c952bc7757bb49]::panicking::default_hook::{closure#0}
   4:     0x7fc8b2414aa3 - std[12c952bc7757bb49]::panicking::default_hook
   5:     0x7fc8b1170605 - std[12c952bc7757bb49]::panicking::update_hook::<alloc[342df2f1cf90b2b8]::boxed::Box<rustc_driver_impl[a9b66dab1553aafb]::install_ice_hook::{closure#1}
>>::{closure#0}
   6:     0x7fc8b2414f42 - std[12c952bc7757bb49]::panicking::panic_with_hook
   7:     0x7fc8b23f3062 - std[12c952bc7757bb49]::panicking::panic_handler::{closure#0}
   8:     0x7fc8b23e9e89 - std[12c952bc7757bb49]::sys::backtrace::__rust_end_short_backtrace::<std[12c952bc7757bb49]::panicking::panic_handler::{closure#0}, !>
   9:     0x7fc8b23f4c3d - __rustc[994c7b8c10d7b835]::rust_begin_unwind
  10:     0x7fc8aef436ac - core[b920c24b47de0916]::panicking::panic_fmt
  11:     0x7fc8afc1d434 - core[b920c24b47de0916]::option::expect_failed
  12:     0x7fc8b3dcecd2 - rustc_middle[9807d5cc0d141baf]::hir::map::crate_hash
  13:     0x7fc8b3ab6e68 - rustc_query_impl[8eba54715bc691ca]::query_vtables::crate_hash::invoke_provider_fn::__rust_begin_short_backtrace
  14:     0x7fc8b3ab616d - rustc_query_impl[8eba54715bc691ca]::execution::try_execute_query::<rustc_data_structures[eb7bb3d4793fdbd2]::vec_cache::VecCache<rustc_span[113d1cc009d
e0b6c]::def_id::CrateNum, rustc_middle[9807d5cc0d141baf]::query::erase::ErasedData<[u8; 16usize]>, rustc_middle[9807d5cc0d141baf]::dep_graph::graph::DepNodeIndex>, false>
  15:     0x7fc8b3ab5e6f - rustc_query_impl[8eba54715bc691ca]::query_vtables::crate_hash::execute_query_non_incr::__rust_end_short_backtrace
  16:     0x556afc4061c2 - rustdoc[d72263f5bc679a69]::main_args::{closure#2}::{closure#0}
  17:     0x556afc412d3d - rustc_interface[36bb1e91d849a3ba]::interface::run_compiler::<(), rustdoc[d72263f5bc679a69]::main_args::{closure#2}>::{closure#2}
  18:     0x556afc410b13 - std[12c952bc7757bb49]::sys::backtrace::__rust_begin_short_backtrace::<rustc_interface[36bb1e91d849a3ba]::util::run_in_thread_with_globals<rustc_interf
ace[36bb1e91d849a3ba]::util::run_in_thread_pool_with_globals<rustc_interface[36bb1e91d849a3ba]::interface::run_compiler<(), rustdoc[d72263f5bc679a69]::main_args::{closure#2}>::{
closure#2}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()>
  19:     0x556afc41087f - <std[12c952bc7757bb49]::thread::lifecycle::spawn_unchecked<rustc_interface[36bb1e91d849a3ba]::util::run_in_thread_with_globals<rustc_interface[36bb1e9
1d849a3ba]::util::run_in_thread_pool_with_globals<rustc_interface[36bb1e91d849a3ba]::interface::run_compiler<(), rustdoc[d72263f5bc679a69]::main_args::{closure#2}>::{closure#2},
 ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()>::{closure#1} as core[b920c24b47de0916]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
  20:     0x7fc8b3ced29b - <std[12c952bc7757bb49]::sys::thread::unix::Thread>::new::thread_start
  21:     0x7fc8ace4cc19 - start_thread
  22:     0x7fc8aced05cc - __clone3
  23:                0x0 - <unknown>