rust-lang / rust-lang/rust

Error: A dep graph node (mir_drops_elaborated_and_const_checked) does not have an unique index.

Open
#143,342 6 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

A-incr-comp C-bug I-ICE S-needs-repro T-compiler
Dominant language
Rust
Stars
119k
Forks
16.1k
PR merge metrics
PR metrics pending

Description

I'm reporting this just in case these traces tell something useful, but:

  • I cannot reproduce this after rustup update toolchain nightly
  • I cannot reinstall the toolchain that produced it afaik since rustup install toolchain nightly-2025-06-40 installs nightly-2025-06-30-x86_64-unknown-linux-gnu - rustc 1.90.0-nightly (35f603652 2025-06-29) (note the different sha) and this version does not reproduce it.
  • I haven't ever built the rust compiler and cannot dive in right now, but the exact code I was running this on has been committed, and if required I should be able to run the same command on it with the exact compiler build within a few days.

Cheers!

rustup update output
nightly-x86_64-unknown-linux-gnu updated - rustc 1.90.0-nightly (71e4c005c 2025-07-01) (from rustc 1.90.0-nightly (f26e58023 2025-06-30))
Error output
--- dev/bed ‹main*➔ AM› » cargo r Cargo.toml --timeout 1
   Compiling bed v0.1.0 (/mnt/data/Projects/bed)

thread 'rustc' panicked at /rustc-dev/f26e58023071e71636a3c72ac3a2bf89b1f76706/compiler/rustc_query_system/src/dep_graph/serialized.rs:284:21:
Error: A dep graph node (mir_drops_elaborated_and_const_checked) does not have an unique index. Running a clean build on a nightly compiler with `-Z incremental-verify-ich` can help narrow down the issue for reporting. A clean build may also work around the issue.

                     DepNode: DepKind { variant: 56 }(d0da2204872fcb9e-c5673b7a7c4076d)
stack backtrace:
   0:     0x76e72432e243 - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::h5d4004938ff2c5de
   1:     0x76e724a0277f - core::fmt::write::he40d39caeedce22d
   2:     0x76e724323e83 - std::io::Write::write_fmt::h6b481595dd1fc53f
   3:     0x76e72432e0a2 - std::sys::backtrace::BacktraceLock::print::h6122e56851fd7e04
   4:     0x76e724331b9a - std::panicking::default_hook::{{closure}}::h5da9a6ee005a6c0c
   5:     0x76e72433171f - std::panicking::default_hook::he77158b4319b132a
   6:     0x76e7234095d3 - std[abb3b870cf4d8027]::panicking::update_hook::<alloc[3b9c56f51ca07bea]::boxed::Box<rustc_driver_impl[7eb6cf164257341f]::install_ice_hook::{closure#1}>>::{closure#0}
   7:     0x76e7243323eb - std::panicking::rust_panic_with_hook::hbc48a4f07e431d11
   8:     0x76e7243320ea - std::panicking::begin_panic_handler::{{closure}}::hc7687229f89659e1
   9:     0x76e72432e719 - std::sys::backtrace::__rust_end_short_backtrace::he778acc2814e945f
  10:     0x76e724331dcd - __rustc[23c8550fe4817b53]::rust_begin_unwind
  11:     0x76e720aa6430 - core::panicking::panic_fmt::h83f0c88dbe3c1f31
  12:     0x76e725df2a33 - rustc_incremental[d87d765a6239e68e]::persist::load::setup_dep_graph
  13:     0x76e725c66192 - rustc_interface[f681bac94ac292a9]::interface::run_compiler::<(), rustc_driver_impl[7eb6cf164257341f]::run_compiler::{closure#0}>::{closure#1}
  14:     0x76e72341be94 - <rustc_thread_pool[7c862dc4ae444296]::job::StackJob<rustc_thread_pool[7c862dc4ae444296]::latch::LatchRef<rustc_thread_pool[7c862dc4ae444296]::latch::LockLatch>, <rustc_thread_pool[7c862dc4ae444296]::registry::Registry>::in_worker_cold<<rustc_thread_pool[7c862dc4ae444296]::thread_pool::ThreadPool>::install<rustc_interface[f681bac94ac292a9]::util::run_in_thread_pool_with_globals<rustc_interface[f681bac94ac292a9]::interface::run_compiler<(), rustc_driver_impl[7eb6cf164257341f]::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#5}::{closure#0}::{closure#1}::{closure#0}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()> as rustc_thread_pool[7c862dc4ae444296]::job::Job>::execute
  15:     0x76e72405529e - <rustc_thread_pool[7c862dc4ae444296]::registry::WorkerThread>::wait_until_cold
  16:     0x76e724052cb1 - <rustc_thread_pool[7c862dc4ae444296]::registry::ThreadBuilder>::run
  17:     0x76e72340211d - std[abb3b870cf4d8027]::sys::backtrace::__rust_begin_short_backtrace::<<rustc_thread_pool[7c862dc4ae444296]::ThreadPoolBuilder>::build_scoped<rustc_interface[f681bac94ac292a9]::util::run_in_thread_pool_with_globals<rustc_interface[f681bac94ac292a9]::interface::run_compiler<(), rustc_driver_impl[7eb6cf164257341f]::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#5}::{closure#0}::{closure#0}, rustc_interface[f681bac94ac292a9]::util::run_in_thread_pool_with_globals<rustc_interface[f681bac94ac292a9]::interface::run_compiler<(), rustc_driver_impl[7eb6cf164257341f]::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#5}::{closure#0}::{closure#1}, ()>::{closure#0}::{closure#0}::{closure#0}, ()>
  18:     0x76e72340e7e2 - <<std[abb3b870cf4d8027]::thread::Builder>::spawn_unchecked_<<rustc_thread_pool[7c862dc4ae444296]::ThreadPoolBuilder>::build_scoped<rustc_interface[f681bac94ac292a9]::util::run_in_thread_pool_with_globals<rustc_interface[f681bac94ac292a9]::interface::run_compiler<(), rustc_driver_impl[7eb6cf164257341f]::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#5}::{closure#0}::{closure#0}, rustc_interface[f681bac94ac292a9]::util::run_in_thread_pool_with_globals<rustc_interface[f681bac94ac292a9]::interface::run_compiler<(), rustc_driver_impl[7eb6cf164257341f]::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#5}::{closure#0}::{closure#1}, ()>::{closure#0}::{closure#0}::{closure#0}, ()>::{closure#1} as core[7243450d3d38063e]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
  19:     0x76e725c0ddfd - std::sys::pal::unix::thread::Thread::new::thread_start::h277742a54d34f956
  20:     0x76e71f6a57eb - <unknown>
  21:     0x76e71f72918c - <unknown>
  22:                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 make sure that you have updated to the latest nightly

note: please attach the file at `/mnt/data/Projects/bed/rustc-ice-2025-07-02T20_01_36-697837.txt` to your bug report

note: compiler flags: --crate-type lib -C opt-level=1 -C embed-bitcode=no -C debuginfo=2 -C debug-assertions=on -C linker=clang -C incremental=[REDACTED] -C link-arg=-fuse-ld=/usr/bin/mold -Z share-generics=y -Z threads=0

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

query stack during panic:
end of query stack
error: could not compile `bed` (lib)
Backtrace

thread 'rustc' panicked at /rustc-dev/f26e58023071e71636a3c72ac3a2bf89b1f76706/compiler/rustc_query_system/src/dep_graph/serialized.rs:284:21: Error: A dep graph node (mir_drops_elaborated_and_const_checked) does not have an unique index. Running a clean build on a nightly compiler with `-Z incremental-verify-ich` can help narrow down the issue for reporting. A clean build may also work around the issue.

                     DepNode: DepKind { variant: 56 }(d0da2204872fcb9e-c5673b7a7c4076d)
stack backtrace:
   0:     0x76e7243183b5 - std::backtrace::Backtrace::create::h96aa47e8f3e9d114
   1:     0x76e724318305 - std::backtrace::Backtrace::force_capture::hd3a7d8938d13aa88
   2:     0x76e72340a60c - std[abb3b870cf4d8027]::panicking::update_hook::<alloc[3b9c56f51ca07bea]::boxed::Box<rustc_driver_impl[7eb6cf164257341f]::install_ice_hook::{closure#1}>>::{closure#0}
   3:     0x76e7243323eb - std::panicking::rust_panic_with_hook::hbc48a4f07e431d11
   4:     0x76e7243320ea - std::panicking::begin_panic_handler::{{closure}}::hc7687229f89659e1
   5:     0x76e72432e719 - std::sys::backtrace::__rust_end_short_backtrace::he778acc2814e945f
   6:     0x76e724331dcd - __rustc[23c8550fe4817b53]::rust_begin_unwind
   7:     0x76e720aa6430 - core::panicking::panic_fmt::h83f0c88dbe3c1f31
   8:     0x76e725df2a33 - rustc_incremental[d87d765a6239e68e]::persist::load::setup_dep_graph
   9:     0x76e725c66192 - rustc_interface[f681bac94ac292a9]::interface::run_compiler::<(), rustc_driver_impl[7eb6cf164257341f]::run_compiler::{closure#0}>::{closure#1}
  10:     0x76e72341be94 - <rustc_thread_pool[7c862dc4ae444296]::job::StackJob<rustc_thread_pool[7c862dc4ae444296]::latch::LatchRef<rustc_thread_pool[7c862dc4ae444296]::latch::LockLatch>, <rustc_thread_pool[7c862dc4ae444296]::registry::Registry>::in_worker_cold<<rustc_thread_pool[7c862dc4ae444296]::thread_pool::ThreadPool>::install<rustc_interface[f681bac94ac292a9]::util::run_in_thread_pool_with_globals<rustc_interface[f681bac94ac292a9]::interface::run_compiler<(), rustc_driver_impl[7eb6cf164257341f]::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#5}::{closure#0}::{closure#1}::{closure#0}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()> as rustc_thread_pool[7c862dc4ae444296]::job::Job>::execute
  11:     0x76e72405529e - <rustc_thread_pool[7c862dc4ae444296]::registry::WorkerThread>::wait_until_cold
  12:     0x76e724052cb1 - <rustc_thread_pool[7c862dc4ae444296]::registry::ThreadBuilder>::run
  13:     0x76e72340211d - std[abb3b870cf4d8027]::sys::backtrace::__rust_begin_short_backtrace::<<rustc_thread_pool[7c862dc4ae444296]::ThreadPoolBuilder>::build_scoped<rustc_interface[f681bac94ac292a9]::util::run_in_thread_pool_with_globals<rustc_interface[f681bac94ac292a9]::interface::run_compiler<(), rustc_driver_impl[7eb6cf164257341f]::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#5}::{closure#0}::{closure#0}, rustc_interface[f681bac94ac292a9]::util::run_in_thread_pool_with_globals<rustc_interface[f681bac94ac292a9]::interface::run_compiler<(), rustc_driver_impl[7eb6cf164257341f]::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#5}::{closure#0}::{closure#1}, ()>::{closure#0}::{closure#0}::{closure#0}, ()>
  14:     0x76e72340e7e2 - <<std[abb3b870cf4d8027]::thread::Builder>::spawn_unchecked_<<rustc_thread_pool[7c862dc4ae444296]::ThreadPoolBuilder>::build_scoped<rustc_interface[f681bac94ac292a9]::util::run_in_thread_pool_with_globals<rustc_interface[f681bac94ac292a9]::interface::run_compiler<(), rustc_driver_impl[7eb6cf164257341f]::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#5}::{closure#0}::{closure#0}, rustc_interface[f681bac94ac292a9]::util::run_in_thread_pool_with_globals<rustc_interface[f681bac94ac292a9]::interface::run_compiler<(), rustc_driver_impl[7eb6cf164257341f]::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#5}::{closure#0}::{closure#1}, ()>::{closure#0}::{closure#0}::{closure#0}, ()>::{closure#1} as core[7243450d3d38063e]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
  15:     0x76e725c0ddfd - std::sys::pal::unix::thread::Thread::new::thread_start::h277742a54d34f956
  16:     0x76e71f6a57eb - <unknown>
  17:     0x76e71f72918c - <unknown>
  18:                0x0 - <unknown>


rustc version: 1.90.0-nightly (f26e58023 2025-06-30)
platform: x86_64-unknown-linux-gnu

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the reported panic at compiler/rustc_query_system/src/dep_graph/serialized.rs:284, using the committed bed code and the exact nightly build if it can be recovered; try a clean build with -Z incremental-verify-ich as suggested. A useful outcome is a reproducible case or a confirmed explanation and fix for the duplicate dependency-graph index, with the attached rustc ICE log retained.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
compilers
Issue type
Bug
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.