rust-lang / rust-lang/rust

ICE in dep_graph/serialized.rs win64 backtrace - called `Option::unwrap()` on a `None` value

Open
#149,929 0 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

This was a one-off ICE I received while using vscode to run a test, running the test again is now succeeding.
Perhaps rust-analyzer was doing something at the time that caused it?

log
thread 'rustc' panicked at /rustc-dev/565a9ca63e9df4b223fed0da01f15e578acfb538\compiler\rustc_query_system\src\dep_graph\serialized.rs:497:53:
called `Option::unwrap()` on a `None` value
stack backtrace:
   0:     0x7ffeeec0bdee - std::backtrace_rs::backtrace::win64::trace
                               at /rustc/565a9ca63e9df4b223fed0da01f15e578acfb538/library\std\src\..\..\backtrace\src\backtrace\win64.rs:85
   1:     0x7ffeeec0bdee - std::backtrace_rs::backtrace::trace_unsynchronized
                               at /rustc/565a9ca63e9df4b223fed0da01f15e578acfb538/library\std\src\..\..\backtrace\src\backtrace\mod.rs:66
   2:     0x7ffeeec0bdee - std::backtrace::Backtrace::create
                               at /rustc/565a9ca63e9df4b223fed0da01f15e578acfb538/library\std\src\backtrace.rs:331
   3:     0x7ffeeec0bd2a - std::backtrace::Backtrace::force_capture
                               at /rustc/565a9ca63e9df4b223fed0da01f15e578acfb538/library\std\src\backtrace.rs:312
   4:     0x7ffef03f82eb - core[58bf7617a2552621]::slice::sort::unstable::heapsort::heapsort::<((rustc_lint_defs[2c2992d9259cdd94]::Level, &str), usize), <((rustc_lint_defs[2c2992d9259cdd94]::Level, &str), usize) as core[58bf7617a2552621]::cmp::PartialOrd>::lt>
   5:     0x7ffeeec0d0da - std::panicking::panic_with_hook
                               at /rustc/565a9ca63e9df4b223fed0da01f15e578acfb538/library\std\src\panicking.rs:842
   6:     0x7ffeeec0ce32 - std::panicking::panic_handler::closure$0
                               at /rustc/565a9ca63e9df4b223fed0da01f15e578acfb538/library\std\src\panicking.rs:700
   7:     0x7ffeeec04fef - std::sys::backtrace::__rust_end_short_backtrace<std::panicking::panic_handler::closure_env$0,never$>
                               at /rustc/565a9ca63e9df4b223fed0da01f15e578acfb538/library\std\src\sys\backtrace.rs:174
   8:     0x7ffeeebe6d6e - std::panicking::panic_handler
                               at /rustc/565a9ca63e9df4b223fed0da01f15e578acfb538/library\std\src\panicking.rs:698
   9:     0x7ffef2d4bd41 - core::panicking::panic_fmt
                               at /rustc/565a9ca63e9df4b223fed0da01f15e578acfb538/library\core\src\panicking.rs:75
  10:     0x7ffef2d4bd1d - core::panicking::panic
                               at /rustc/565a9ca63e9df4b223fed0da01f15e578acfb538/library\core\src\panicking.rs:145
  11:     0x7ffef2d4b39e - core::option::unwrap_failed
                               at /rustc/565a9ca63e9df4b223fed0da01f15e578acfb538/library\core\src\option.rs:2168
  12:     0x7ffeefa2aefe - RINvMs6_NtCsdvZ8OVsoqE9_9hashbrown3rawINtB6_8RawTableTTNtNtNtCs7matu71Np1Q_12rustc_middle2ty8instance8InstanceNtNtNtBX_3mir4mono14CollectionModeETINtNtNtBX_5query5erase6ErasedAhj20_ENtNtNtCsiWRpV3Sjp65_18rustc_query_system9dep_graph5graph12DepNodeIndexEEE1
  13:     0x7ffeefa2a216 - RINvMs6_NtCsdvZ8OVsoqE9_9hashbrown3rawINtB6_8RawTableTTNtNtNtCs7matu71Np1Q_12rustc_middle2ty8instance8InstanceNtNtNtBX_3mir4mono14CollectionModeETINtNtNtBX_5query5erase6ErasedAhj20_ENtNtNtCsiWRpV3Sjp65_18rustc_query_system9dep_graph5graph12DepNodeIndexEEE1
  14:     0x7ffeefa2a216 - RINvMs6_NtCsdvZ8OVsoqE9_9hashbrown3rawINtB6_8RawTableTTNtNtNtCs7matu71Np1Q_12rustc_middle2ty8instance8InstanceNtNtNtBX_3mir4mono14CollectionModeETINtNtNtBX_5query5erase6ErasedAhj20_ENtNtNtCsiWRpV3Sjp65_18rustc_query_system9dep_graph5graph12DepNodeIndexEEE1
  15:     0x7ffeefa34031 - RINvNtNtCsiWRpV3Sjp65_18rustc_query_system5query8plumbing15ensure_must_runINtCs6Hhj80IjB6l_16rustc_query_impl13DynamicConfigINtNtCs1l1aztUMKpt_21rustc_data_structures9vec_cache8VecCacheNtNtCs2kkdGJSCJip_10rustc_span6def_id10LocalDefIdINtNtNtCs7matu71Np1Q_1
  16:     0x7ffeee76f1b6 - rustc_query_impl[4e042f2376ca43c7]::profiling_support::alloc_self_profile_query_strings
  17:     0x7ffef058aa76 - core[58bf7617a2552621]::slice::sort::unstable::heapsort::heapsort::<(usize, usize, usize, &rustc_span[1b1d22406a5f72bb]::symbol::Symbol, rustc_span[1b1d22406a5f72bb]::hygiene::MacroKind), <(usize, usize, usize, &rustc_span[1b1d22406a5f72bb]::symbol::Symbol, rustc_span[1b1d22406a5f72bb]::hygiene::MacroKind) as core[58bf7617a2552621]::cmp::PartialOrd>::lt>
  18:     0x7ffef056e174 - core[58bf7617a2552621]::slice::sort::unstable::heapsort::heapsort::<(usize, usize, usize, &rustc_span[1b1d22406a5f72bb]::symbol::Symbol, rustc_span[1b1d22406a5f72bb]::hygiene::MacroKind), <(usize, usize, usize, &rustc_span[1b1d22406a5f72bb]::symbol::Symbol, rustc_span[1b1d22406a5f72bb]::hygiene::MacroKind) as core[58bf7617a2552621]::cmp::PartialOrd>::lt>
  19:     0x7ffef05caa6e - rustc_interface[37fb505122fd128e]::interface::try_print_query_stack
  20:     0x7ffef2d1f471 - <rustc_thread_pool[6646ea461f51aed3]::registry::WorkerThread>::wait_or_steal_until_cold
  21:     0x7ffef2d1d94c - <rustc_thread_pool[6646ea461f51aed3]::registry::ThreadBuilder>::run
  22:     0x7ffef03ee9ce - RINvNtNtCs9RxnEpc5PHd_3std3sys9backtrace28___rust_begin_short_backtraceNCNCNCINvMs1_Cs8MpVjz1BLX3_17rustc_thread_poolNtB1k_17ThreadPoolBuilder12build_scopedNCNCNCINvNtCs4NZkENQA9ic_15rustc_interface4util31run_in_thread_pool_with_globalsNCINvNtB2F_9interfac
  23:     0x7ffef03fbce8 - core[58bf7617a2552621]::slice::sort::unstable::heapsort::heapsort::<((rustc_lint_defs[2c2992d9259cdd94]::Level, &str), usize), <((rustc_lint_defs[2c2992d9259cdd94]::Level, &str), usize) as core[58bf7617a2552621]::cmp::PartialOrd>::lt>
  24:     0x7ffeeebfacdd - alloc::boxed::impl$29::call_once
                               at /rustc/565a9ca63e9df4b223fed0da01f15e578acfb538/library\alloc\src\boxed.rs:1985
  25:     0x7ffeeebfacdd - alloc::boxed::impl$29::call_once
                               at /rustc/565a9ca63e9df4b223fed0da01f15e578acfb538/library\alloc\src\boxed.rs:1985
  26:     0x7ffeeebfacdd - std::sys::pal::windows::thread::impl$0::new::thread_start
                               at /rustc/565a9ca63e9df4b223fed0da01f15e578acfb538/library\std\src\sys\pal\windows\thread.rs:60
  27:     0x7ff82c73259d - BaseThreadInitThunk
  28:     0x7ff82cacaf78 - RtlUserThreadStart


rustc version: 1.91.0-nightly (565a9ca63 2025-09-10)
platform: x86_64-pc-windows-msvc

query stack during panic:
#0 [analysis] running analysis passes on this crate
end of query stack

===

   Compiling cloud_terrastodon_azure_types v0.30.0 (C:\Users\teamy\source\repos\cloud-terrastodon\crates\azure_types)
   Compiling cloud_terrastodon_azure_devops_types v0.30.0 (C:\Users\teamy\source\repos\cloud-terrastodon\crates\azure_devops_types)
   Compiling cloud_terrastodon_credentials v0.30.0 (C:\Users\teamy\source\repos\cloud-terrastodon\crates\credentials)
   Compiling cloud_terrastodon_azure v0.30.0 (C:\Users\teamy\source\repos\cloud-terrastodon\crates\azure)

thread 'rustc' (65532) panicked at /rustc-dev/565a9ca63e9df4b223fed0da01f15e578acfb538\compiler\rustc_query_system\src\dep_graph\serialized.rs:497:53:
called `Option::unwrap()` on a `None` value
stack backtrace:
   0: std::panicking::panic_handler
             at /rustc/565a9ca63e9df4b223fed0da01f15e578acfb538/library\std\src\panicking.rs:698
   1: core::panicking::panic_fmt
             at /rustc/565a9ca63e9df4b223fed0da01f15e578acfb538/library\core\src\panicking.rs:75
   2: core::panicking::panic
             at /rustc/565a9ca63e9df4b223fed0da01f15e578acfb538/library\core\src\panicking.rs:145
   3: core::option::unwrap_failed
             at /rustc/565a9ca63e9df4b223fed0da01f15e578acfb538/library\core\src\option.rs:2168
   4: RINvMs6_NtCsdvZ8OVsoqE9_9hashbrown3rawINtB6_8RawTableTTNtNtNtCs7matu71Np1Q_12rustc_middle2ty8instance8InstanceNtNtNtBX_3mir4mono14CollectionModeETINtNtNtBX_5query5erase6ErasedAhj20_ENtNtNtCsiWRpV3Sjp65_18rustc_query_system9dep_graph5graph12DepNodeIndexEEE1
   5: RINvMs6_NtCsdvZ8OVsoqE9_9hashbrown3rawINtB6_8RawTableTTNtNtNtCs7matu71Np1Q_12rustc_middle2ty8instance8InstanceNtNtNtBX_3mir4mono14CollectionModeETINtNtNtBX_5query5erase6ErasedAhj20_ENtNtNtCsiWRpV3Sjp65_18rustc_query_system9dep_graph5graph12DepNodeIndexEEE1
   6: RINvMs6_NtCsdvZ8OVsoqE9_9hashbrown3rawINtB6_8RawTableTTNtNtNtCs7matu71Np1Q_12rustc_middle2ty8instance8InstanceNtNtNtBX_3mir4mono14CollectionModeETINtNtNtBX_5query5erase6ErasedAhj20_ENtNtNtCsiWRpV3Sjp65_18rustc_query_system9dep_graph5graph12DepNodeIndexEEE1
   7: RINvNtNtCsiWRpV3Sjp65_18rustc_query_system5query8plumbing15ensure_must_runINtCs6Hhj80IjB6l_16rustc_query_impl13DynamicConfigINtNtCs1l1aztUMKpt_21rustc_data_structures9vec_cache8VecCacheNtNtCs2kkdGJSCJip_10rustc_span6def_id10LocalDefIdINtNtNtCs7matu71Np1Q_1
   8: rustc_query_impl::profiling_support::alloc_self_profile_query_strings
   9: core::slice::sort::unstable::heapsort::heapsort::<(usize, usize, usize, &rustc_span::symbol::Symbol, rustc_span::hygiene::MacroKind), <(usize, usize, usize, &rustc_span::symbol::Symbol, rustc_span::hygiene::MacroKind) as core::cmp::PartialOrd>::lt>
  10: core::slice::sort::unstable::heapsort::heapsort::<(usize, usize, usize, &rustc_span::symbol::Symbol, rustc_span::hygiene::MacroKind), <(usize, usize, usize, &rustc_span::symbol::Symbol, rustc_span::hygiene::MacroKind) as core::cmp::PartialOrd>::lt>
  11: rustc_interface::interface::try_print_query_stack
  12: <rustc_thread_pool::registry::WorkerThread>::wait_or_steal_until_cold
  13: <rustc_thread_pool::registry::ThreadBuilder>::run
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.

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 `C:\Users\teamy\source\repos\cloud-terrastodon\rustc-ice-2025-12-12T20_08_02-49944.txt` to your bug report

note: compiler flags: --crate-type lib -C embed-bitcode=no -C debuginfo=2 -C linker=rust-lld.exe -C incremental=[REDACTED] -Z share-generics=n -Z threads=0

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

query stack during panic:
#0 [analysis] running analysis passes on this crate
end of query stack
error: could not compile `cloud_terrastodon_credentials` (lib)

Caused by:
  process didn't exit successfully: `C:\Users\teamy\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\bin\rustc.exe --crate-name cloud_terrastodon_credentials --edition=2024 crates\credentials\src\lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --diagnostic-width=225 --crate-type lib --emit=dep-info,metadata,link -C embed-bitcode=no -C debuginfo=2 --check-cfg cfg(docsrs,test) --check-cfg "cfg(feature, values())" -C metadata=50da6b04182202f5 -C extra-filename=-6e4fc29a83619c2f --out-dir C:\Users\teamy\source\repos\cloud-terrastodon\target\debug\deps -C linker=rust-lld.exe -C incremental=C:\Users\teamy\source\repos\cloud-terrastodon\target\debug\incremental -L dependency=C:\Users\teamy\source\repos\cloud-terrastodon\target\debug\deps --extern base64=C:\Users\teamy\source\repos\cloud-terrastodon\target\debug\deps\libbase64-d9e6923c4cfc9cc1.rmeta --extern chrono=C:\Users\teamy\source\repos\cloud-terrastodon\target\debug\deps\libchrono-8c91400bb3296a06.rmeta --extern cloud_terrastodon_azure_types=C:\Users\teamy\source\repos\cloud-terrastodon\target\debug\deps\libcloud_terrastodon_azure_types-fda31ea1156aeedd.rmeta --extern cloud_terrastodon_command=C:\Users\teamy\source\repos\cloud-terrastodon\target\debug\deps\libcloud_terrastodon_command-b22d2e0471a43bfd.rmeta --extern eyre=C:\Users\teamy\source\repos\cloud-terrastodon\target\debug\deps\libeyre-0adf65fb170e310e.rmeta --extern jsonwebtoken=C:\Users\teamy\source\repos\cloud-terrastodon\target\debug\deps\libjsonwebtoken-18eee1a6f3ca36e1.rmeta --extern reqwest=C:\Users\teamy\source\repos\cloud-terrastodon\target\debug\deps\libreqwest-c5d98858e2e60792.rmeta --extern serde=C:\Users\teamy\source\repos\cloud-terrastodon\target\debug\deps\libserde-04bbe6bca18afdb8.rmeta --extern serde_json=C:\Users\teamy\source\repos\cloud-terrastodon\target\debug\deps\libserde_json-3fd340d6f451f4c2.rmeta --extern tracing=C:\Users\teamy\source\repos\cloud-terrastodon\target\debug\deps\libtracing-7ea8ca0c8b1610fb.rmeta --extern windows=C:\Users\teamy\source\repos\cloud-terrastodon\target\debug\deps\libwindows-eafcec97c076df27.rmeta -Zshare-generics=n -Zthreads=0 -L native=C:\Users\teamy\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\windows_x86_64_msvc-0.53.0\lib -L native=C:\Users\teamy\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\windows_x86_64_msvc-0.52.6\lib` (exit code: 101)
warning: build failed, waiting for other jobs to finish...

 *  The terminal process "C:\Users\teamy\.cargo\bin\cargo.EXE 'test', '--package', 'cloud_terrastodon_hcl', '--lib', '--all-features', '--', 'reflow::reflow_principal_id_comments::test::it_works', '--exact', '--nocapture'" terminated with exit code: 101. 
 *  Terminal will be reused by tasks, press any key to close it. 
 * 

Was running this test

https://github.com/AAFC-Cloud/Cloud-Terrastodon/blob/eefee1c575498eb472082f25d95f538656b1eef9/crates/hcl/src/reflow/reflow_principal_id_comments.rs#L77

cloud-terrastodon\crates\hcl on  main [$] is 📦 v0.30.0 via 🦀 v1.91.0-nightly 
❯ rustc --version --verbose
rustc 1.91.0-nightly (565a9ca63 2025-09-10)
binary: rustc
commit-hash: 565a9ca63e9df4b223fed0da01f15e578acfb538
commit-date: 2025-09-10
host: x86_64-pc-windows-msvc
release: 1.91.0-nightly
LLVM version: 21.1.0

cloud-terrastodon\crates\hcl on  main [$] is 📦 v0.30.0 via 🦀 v1.91.0-nightly 

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 in compiler/rustc_query_system/src/dep_graph/serialized.rs around line 497 and review the reported dep-graph panic. Try the Windows nightly build with the cloud_terrastodon_credentials crate and the attached ICE details, noting that the failure occurred only once. Done means obtaining a reproducible failure or enough evidence to identify why the None value occurs.

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
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.