Skip to content

thread 'rustc' panicked at compiler/rustc_mir_transform/src/simplify.rs:677:27 #147485

@krasimirgg

Description

@krasimirgg

Code

We internally saw an ICE on nightly after #142771. Somewhat big reproducer right now is to take the netlink-proto crate repo and manually add some features to its log dependencies, like this:

Meta

rustc --version --verbose:

rustc 1.92.0-nightly (f6aa851db 2025-10-07)
binary: rustc
commit-hash: f6aa851dba4b4509ab7e4f3a407b0b1e72a89e4c
commit-date: 2025-10-07
host: x86_64-unknown-linux-gnu
release: 1.92.0-nightly
LLVM version: 21.1.2

Error output

(also included in rust-netlink/netlink-proto@main...krasimirgg:netlink-proto:ice)

called `Option::unwrap()` on a `None` value
stack backtrace:
   0:     0x7fe5dc59ba7b - std::backtrace::Backtrace::create::h3db49504b31d0635
   1:     0x7fe5dc59b9c5 - std::backtrace::Backtrace::force_capture::haa33e9b1a0a32967
   2:     0x7fe5db5b1252 - std[d963308e9ee7408f]::panicking::update_hook::<alloc[6753b02e230eb797]::boxed::Box<rustc_driver_impl[4d1cf3ab85a2687a]::install_ice_hook::{closure#1}>>::{closure#0}
   3:     0x7fe5dc59c9af - std::panicking::panic_with_hook::h5e8fffb19637e74d
   4:     0x7fe5dc59c736 - std::panicking::panic_handler::{{closure}}::h3c146180d2e8a808
   5:     0x7fe5dc596659 - std::sys::backtrace::__rust_end_short_backtrace::h8726ad0db30c4140
   6:     0x7fe5dc57718d - __rustc[10fe9f08a196ddda]::rust_begin_unwind
   7:     0x7fe5d95d9980 - core::panicking::panic_fmt::h7ef95bce1ac55cd2
   8:     0x7fe5d8f250dc - core::panicking::panic::h791a91688682a1fe
   9:     0x7fe5d99da669 - core::option::unwrap_failed::h4f0ea262fa132c25
  10:     0x7fe5de8e5e2f - <rustc_mir_transform[a5b70b314409f091]::simplify::LocalUpdater as rustc_middle[7b8708a1da8fb528]::mir::visit::MutVisitor>::visit_statement_debuginfo.cold
  11:     0x7fe5dd7f8ef9 - <rustc_mir_transform[a5b70b314409f091]::simplify::SimplifyLocals as rustc_mir_transform[a5b70b314409f091]::pass_manager::MirPass>::run_pass
  12:     0x7fe5dcc0b960 - rustc_mir_transform[a5b70b314409f091]::run_optimization_passes
  13:     0x7fe5dd7b26df - rustc_mir_transform[a5b70b314409f091]::optimized_mir
  14:     0x7fe5dd7b232b - rustc_query_impl[443a96312f4c95f9]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[443a96312f4c95f9]::query_impl::optimized_mir::dynamic_query::{closure#2}::{closure#0}, rustc_middle[7b8708a1da8fb528]::query::erase::Erased<[u8; 8usize]>>
  15:     0x7fe5dcc1b33a - rustc_query_system[f1043fcb01f15886]::query::plumbing::try_execute_query::<rustc_query_impl[443a96312f4c95f9]::DynamicConfig<rustc_query_system[f1043fcb01f15886]::query::caches::DefIdCache<rustc_middle[7b8708a1da8fb528]::query::erase::Erased<[u8; 8usize]>>, false, false, false>, rustc_query_impl[443a96312f4c95f9]::plumbing::QueryCtxt, false>
  16:     0x7fe5dcc1a7db - rustc_query_impl[443a96312f4c95f9]::query_impl::optimized_mir::get_query_non_incr::__rust_end_short_backtrace
  17:     0x7fe5d9de0b8d - <rustc_middle[7b8708a1da8fb528]::ty::context::TyCtxt>::instance_mir
  18:     0x7fe5dda25756 - rustc_mir_transform[a5b70b314409f091]::inline::process_blocks::<rustc_mir_transform[a5b70b314409f091]::inline::NormalInliner>
  19:     0x7fe5dda22184 - <rustc_mir_transform[a5b70b314409f091]::inline::Inline as rustc_mir_transform[a5b70b314409f091]::pass_manager::MirPass>::run_pass
  20:     0x7fe5dcc0b960 - rustc_mir_transform[a5b70b314409f091]::run_optimization_passes
  21:     0x7fe5dd7b26df - rustc_mir_transform[a5b70b314409f091]::optimized_mir
  22:     0x7fe5dd7b232b - rustc_query_impl[443a96312f4c95f9]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[443a96312f4c95f9]::query_impl::optimized_mir::dynamic_query::{closure#2}::{closure#0}, rustc_middle[7b8708a1da8fb528]::query::erase::Erased<[u8; 8usize]>>
  23:     0x7fe5dcc1b33a - rustc_query_system[f1043fcb01f15886]::query::plumbing::try_execute_query::<rustc_query_impl[443a96312f4c95f9]::DynamicConfig<rustc_query_system[f1043fcb01f15886]::query::caches::DefIdCache<rustc_middle[7b8708a1da8fb528]::query::erase::Erased<[u8; 8usize]>>, false, false, false>, rustc_query_impl[443a96312f4c95f9]::plumbing::QueryCtxt, false>
  24:     0x7fe5dcc1a7db - rustc_query_impl[443a96312f4c95f9]::query_impl::optimized_mir::get_query_non_incr::__rust_end_short_backtrace
  25:     0x7fe5dd75c284 - <rustc_metadata[ae109765ce2e4661]::rmeta::encoder::EncodeContext>::encode_crate_root
  26:     0x7fe5de052a8e - <rustc_metadata[ae109765ce2e4661]::rmeta::encoder::encode_metadata::{closure#3} as core[ac81624c7807bc81]::ops::function::FnOnce<(rustc_middle[7b8708a1da8fb528]::ty::context::TyCtxt, &std[d963308e9ee7408f]::path::Path)>>::call_once
  27:     0x7fe5de04f790 - rustc_metadata[ae109765ce2e4661]::rmeta::encoder::encode_metadata
  28:     0x7fe5ddae52c5 - rustc_metadata[ae109765ce2e4661]::fs::encode_and_write_metadata
  29:     0x7fe5dde3a5e9 - <rustc_interface[ad0a0e22650d52ee]::queries::Linker>::codegen_and_build_linker
  30:     0x7fe5dde38171 - rustc_interface[ad0a0e22650d52ee]::passes::create_and_enter_global_ctxt::<core[ac81624c7807bc81]::option::Option<rustc_interface[ad0a0e22650d52ee]::queries::Linker>, rustc_driver_impl[4d1cf3ab85a2687a]::run_compiler::{closure#0}::{closure#2}>::{closure#2}::{closure#0}
  31:     0x7fe5dde3fbc3 - <rustc_interface[ad0a0e22650d52ee]::passes::create_and_enter_global_ctxt<core[ac81624c7807bc81]::option::Option<rustc_interface[ad0a0e22650d52ee]::queries::Linker>, rustc_driver_impl[4d1cf3ab85a2687a]::run_compiler::{closure#0}::{closure#2}>::{closure#2} as core[ac81624c7807bc81]::ops::function::FnOnce<(&rustc_session[5b638a2ba99f9805]::session::Session, rustc_middle[7b8708a1da8fb528]::ty::context::CurrentGcx, alloc[6753b02e230eb797]::sync::Arc<rustc_data_structures[a675fbf55dbca0b0]::jobserver::Proxy>, &std[d963308e9ee7408f]::sync::once_lock::OnceLock<rustc_middle[7b8708a1da8fb528]::ty::context::GlobalCtxt>, &rustc_data_structures[a675fbf55dbca0b0]::sync::worker_local::WorkerLocal<rustc_middle[7b8708a1da8fb528]::arena::Arena>, &rustc_data_structures[a675fbf55dbca0b0]::sync::worker_local::WorkerLocal<rustc_hir[920d44779aaf0c]::Arena>, rustc_driver_impl[4d1cf3ab85a2687a]::run_compiler::{closure#0}::{closure#2})>>::call_once::{shim:vtable#0}
  32:     0x7fe5dddfd2be - rustc_interface[ad0a0e22650d52ee]::interface::run_compiler::<(), rustc_driver_impl[4d1cf3ab85a2687a]::run_compiler::{closure#0}>::{closure#1}
  33:     0x7fe5ddd33847 - std[d963308e9ee7408f]::sys::backtrace::__rust_begin_short_backtrace::<rustc_interface[ad0a0e22650d52ee]::util::run_in_thread_with_globals<rustc_interface[ad0a0e22650d52ee]::util::run_in_thread_pool_with_globals<rustc_interface[ad0a0e22650d52ee]::interface::run_compiler<(), rustc_driver_impl[4d1cf3ab85a2687a]::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()>
  34:     0x7fe5ddd33528 - <<std[d963308e9ee7408f]::thread::Builder>::spawn_unchecked_<rustc_interface[ad0a0e22650d52ee]::util::run_in_thread_with_globals<rustc_interface[ad0a0e22650d52ee]::util::run_in_thread_pool_with_globals<rustc_interface[ad0a0e22650d52ee]::interface::run_compiler<(), rustc_driver_impl[4d1cf3ab85a2687a]::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()>::{closure#1} as core[ac81624c7807bc81]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
  35:     0x7fe5ddd39c8d - std::sys::thread::unix::Thread::new::thread_start::h469a13f90bcc08d6
  36:     0x7fe5d789cb7b - start_thread
                               at ./nptl/pthread_create.c:448:8
  37:     0x7fe5d791a7b8 - __GI___clone3
                               at ./misc/../sysdeps/unix/sysv/linux/x86_64/clone3.S:78:0
  38:                0x0 - <unknown>


rustc version: 1.92.0-nightly (f6aa851db 2025-10-07)
platform: x86_64-unknown-linux-gnu

query stack during panic:
#0 [optimized_mir] optimizing MIR for `protocol::protocol::<impl at src/protocol/protocol.rs:63:1: 66:22>::handle_response`
#1 [optimized_mir] optimizing MIR for `protocol::protocol::<impl at src/protocol/protocol.rs:63:1: 66:22>::handle_message`
end of query stack
Backtrace

<backtrace>

Metadata

Metadata

Assignees

Labels

C-bugCategory: This is a bug.I-ICEIssue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️S-has-mcveStatus: A Minimal Complete and Verifiable Example has been found for this issueT-compilerRelevant to the compiler team, which will review and decide on the PR/issue.

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions