ICE A dep graph node (`mir_drops_elaborated_and_const_checked`) does not have an unique index
Open
Nobody has claimed this yet.
A-incr-comp
C-bug
I-ICE
T-compiler
- Dominant language
- Rust
- Stars
- 119k
- Forks
- 16.1k
- PR merge metrics
- PR metrics pending
Description
Code
Occurs when running cargo tauri dev on my Tauri project. but I'm definitely not smart enough to create a MRE for this :P.
Meta
rustc --version --verbose:
rustc 1.92.0-nightly (dd7fda570 2025-09-20)
binary: rustc
commit-hash: dd7fda570040e8a736f7d8bc28ddd1b444aabc82
commit-date: 2025-09-20
host: x86_64-pc-windows-msvc
release: 1.92.0-nightly
LLVM version: 21.1.1
Error output
[rustc-ice-2025-09-21T17_59_19-21168.txt](https://github.com/user-attachments/files/22453559/rustc-ice-2025-09-21T17_59_19-21168.txt)
Caused by:
process didn't exit successfully: `C:\Users\user\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\bin\rustc.exe --crate-name app_lib --edition=2021 desktop\src-tauri\src\lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type staticlib --crate-type cdylib --crate-type rlib --emit=dep-info,link -C embed-bitcode=no -C debuginfo=2 --cfg "feature=\"tracing\"" --check-cfg cfg(docsrs,test) --check-cfg "cfg(feature, values(\"default\", \"tracing\"))" -C metadata=3ff663df4672d864 --out-dir C:\Users\user\Documents\app\target\debug\deps -C incremental=C:\Users\user\Documents\app\target\debug\incremental -L dependency=C:\Users\user\Documents\app\target\debug\deps --extern crossbeam=C:\Users\user\Documents\app\target\debug\deps\libcrossbeam-472d08d08eae6ec8.rlib --extern app_core=C:\Users\user\Documents\app\target\debug\deps\libapp_core-941ae2fc73480748.rlib --extern app_desktop_lib=C:\Users\user\Documents\app\target\debug\deps\libapp_desktop_lib-97d82f9851a46e85.rlib --extern notify=C:\Users\user\Documents\app\target\debug\deps\libnotify-71d43dfa4f36bc72.rlib --extern notify_debouncer_full=C:\Users\user\Documents\app\target\debug\deps\libnotify_debouncer_full-160fef63ccfdf88f.rlib --extern rayon=C:\Users\user\Documents\app\target\debug\deps\librayon-96e81d3025a0f205.rlib --extern serde=C:\Users\user\Documents\app\target\debug\deps\libserde-4d24963bae0a507a.rlib --extern serde_json=C:\Users\user\Documents\app\target\debug\deps\libserde_json-4803dddc1a4ebd88.rlib --extern tauri=C:\Users\user\Documents\app\target\debug\deps\libtauri-243e2592caef93eb.rlib --extern tauri_plugin_dialog=C:\Users\user\Documents\app\target\debug\deps\libtauri_plugin_dialog-bc584047317cf556.rlib --extern tauri_plugin_opener=C:\Users\user\Documents\app\target\debug\deps\libtauri_plugin_opener-ba48c8e372117e2e.rlib --extern tracing=C:\Users\user\Documents\app\target\debug\deps\libtracing-02ede9d9558c853c.rlib --extern tracing_appender=C:\Users\user\Documents\app\target\debug\deps\libtracing_appender-2006849fc084d9bc.rlib --extern tracing_subscriber=C:\Users\user\Documents\app\target\debug\deps\libtracing_subscriber-9b59634a268ddf0c.rlib --extern trash=C:\Users\user\Documents\app\target\debug\deps\libtrash-8c1e8c977c6d6556.rlib -Z threads=0 -L native=C:\Users\user\Documents\app\target\debug\build\webview2-com-sys-7cf0e4d3c7f6fcbf\out\x64 -L native=C:\Users\user\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\windows_x86_64_msvc-0.52.6\lib -L native=C:\Users\user\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\windows_x86_64_msvc-0.53.0\lib --cfg desktop --cfg dev --check-cfg cfg(desktop) --check-cfg cfg(mobile) --check-cfg cfg(dev)` (exit code: 101)
Backtrace
thread 'rustc' (26000) panicked at /rustc-dev/dd7fda570040e8a736f7d8bc28ddd1b444aabc82\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: 57 }(94c43776af2185bc-18975df9b7b095d1)
stack backtrace:
0: 0x7ffc60bb1782 - std::backtrace_rs::backtrace::win64::trace
at /rustc/dd7fda570040e8a736f7d8bc28ddd1b444aabc82/library\std\src\..\..\backtrace\src\backtrace\win64.rs:85
1: 0x7ffc60bb1782 - std::backtrace_rs::backtrace::trace_unsynchronized
at /rustc/dd7fda570040e8a736f7d8bc28ddd1b444aabc82/library\std\src\..\..\backtrace\src\backtrace\mod.rs:66
2: 0x7ffc60bb1782 - std::sys::backtrace::_print_fmt
at /rustc/dd7fda570040e8a736f7d8bc28ddd1b444aabc82/library\std\src\sys\backtrace.rs:66
3: 0x7ffc60bb1782 - std::sys::backtrace::impl$0::print::impl$0::fmt
at /rustc/dd7fda570040e8a736f7d8bc28ddd1b444aabc82/library\std\src\sys\backtrace.rs:39
4: 0x7ffc60bc6f5a - core::fmt::rt::Argument::fmt
at /rustc/dd7fda570040e8a736f7d8bc28ddd1b444aabc82/library\core\src\fmt\rt.rs:173
5: 0x7ffc60bc6f5a - core::fmt::write
at /rustc/dd7fda570040e8a736f7d8bc28ddd1b444aabc82/library\core\src\fmt\mod.rs:1468
6: 0x7ffc60b77e7e - std::io::default_write_fmt
at /rustc/dd7fda570040e8a736f7d8bc28ddd1b444aabc82/library\std\src\io\mod.rs:639
7: 0x7ffc60b77e7e - std::io::Write::write_fmt<std::sys::stdio::windows::Stderr>
at /rustc/dd7fda570040e8a736f7d8bc28ddd1b444aabc82/library\std\src\io\mod.rs:1954
8: 0x7ffc60b908d5 - std::sys::backtrace::BacktraceLock::print
at /rustc/dd7fda570040e8a736f7d8bc28ddd1b444aabc82/library\std\src\sys\backtrace.rs:42
9: 0x7ffc60b98259 - std::panicking::default_hook::closure$0
at /rustc/dd7fda570040e8a736f7d8bc28ddd1b444aabc82/library\std\src\panicking.rs:301
10: 0x7ffc60b98048 - std::panicking::default_hook
at /rustc/dd7fda570040e8a736f7d8bc28ddd1b444aabc82/library\std\src\panicking.rs:328
11: 0x7ffc622ad4b6 - core[f1d67d9af8f4110d]::slice::sort::unstable::heapsort::heapsort::<((rustc_lint_defs[c62279e99c842cc4]::Level, &str), usize), <((rustc_lint_defs[c62279e99c842cc4]::Level, &str), usize) as core[f1d67d9af8f4110d]::cmp::PartialOrd>::lt>
12: 0x7ffc60b98bda - std::panicking::panic_with_hook
at /rustc/dd7fda570040e8a736f7d8bc28ddd1b444aabc82/library\std\src\panicking.rs:842
13: 0x7ffc60b98969 - std::panicking::panic_handler::closure$0
at /rustc/dd7fda570040e8a736f7d8bc28ddd1b444aabc82/library\std\src\panicking.rs:707
14: 0x7ffc60b90acf - std::sys::backtrace::__rust_end_short_backtrace<std::panicking::panic_handler::closure_env$0,never$>
at /rustc/dd7fda570040e8a736f7d8bc28ddd1b444aabc82/library\std\src\sys\backtrace.rs:174
15: 0x7ffc60b72b5e - std::panicking::panic_handler
at /rustc/dd7fda570040e8a736f7d8bc28ddd1b444aabc82/library\std\src\panicking.rs:698
16: 0x7ffc64c5af71 - core::panicking::panic_fmt
at /rustc/dd7fda570040e8a736f7d8bc28ddd1b444aabc82/library\core\src\panicking.rs:75
17: 0x7ffc61df4973 - rustc_incremental[8d22936cfc9064df]::persist::load::setup_dep_graph
18: 0x7ffc5e116618 - std[472b153bd2d99bd]::sys::backtrace::__rust_begin_short_backtrace::<<std[472b153bd2d99bd]::thread::Builder>::spawn_unchecked_<ctrlc[c7de51b95195f645]::set_handler_inner<rustc_driver_impl[3c079db54f2a4f71]::install_ctrlc_handler::{closure#0}>::{closure#0}, ()>::{closure#1}::{closure#0}::{closure#0}, ()>
19: 0x7ffc622ca9c9 - <rustc_driver_impl[3c079db54f2a4f71]::pretty::HirTypedAnn as rustc_hir_pretty[ce7fe0c1900fb07f]::PpAnn>::nested
20: 0x7ffc64c2e791 - <rustc_thread_pool[cdc65bab354e8993]::registry::WorkerThread>::wait_or_steal_until_cold
21: 0x7ffc64c2cc6c - <rustc_thread_pool[cdc65bab354e8993]::registry::ThreadBuilder>::run
22: 0x7ffc622a3b8e - RINvNtNtCsnFXdQyNFhx_3std3sys9backtrace28___rust_begin_short_backtraceNCNCNCINvMs1_CshFkKitAEgPn_17rustc_thread_poolNtB1j_17ThreadPoolBuilder12build_scopedNCNCNCINvNtCs1Utmy68hRYE_15rustc_interface4util31run_in_thread_pool_with_globalsNCINvNtB2E_9interface
23: 0x7ffc622b1818 - core[f1d67d9af8f4110d]::slice::sort::unstable::heapsort::heapsort::<((rustc_lint_defs[c62279e99c842cc4]::Level, &str), usize), <((rustc_lint_defs[c62279e99c842cc4]::Level, &str), usize) as core[f1d67d9af8f4110d]::cmp::PartialOrd>::lt>
24: 0x7ffc60b88c9d - alloc::boxed::impl$29::call_once
at /rustc/dd7fda570040e8a736f7d8bc28ddd1b444aabc82/library\alloc\src\boxed.rs:1985
25: 0x7ffc60b88c9d - alloc::boxed::impl$29::call_once
at /rustc/dd7fda570040e8a736f7d8bc28ddd1b444aabc82/library\alloc\src\boxed.rs:1985
26: 0x7ffc60b88c9d - std::sys::thread::windows::impl$0::new::thread_start
at /rustc/dd7fda570040e8a736f7d8bc28ddd1b444aabc82/library\std\src\sys\thread\windows.rs:60
27: 0x7ffd2016e8d7 - BaseThreadInitThunk
28: 0x7ffd20dc8d9c - RtlUserThreadStart
error: the compiler unexpectedly panicked. this is a bug.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start at compiler/rustc_query_system/src/dep_graph/serialized.rs:284 and the rustc_incremental persist::load::setup_dep_graph frame shown in the backtrace. Try a clean nightly build with -Z incremental-verify-ich, as the report suggests, then reduce the cargo tauri dev case to a reproducible example. Done means identifying the cause of the non-unique dep-graph index and preventing this compiler ICE.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- compilers
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 28/100