[ICE]: Compiling benches for ntex-mqtt based project: /compiler/rustc_const_eval/src/interpret/discriminant.rs:128:93: called `Option::unwrap()` on a `None` value
Open
Nobody has claimed this yet.
C-bug
I-ICE
S-needs-repro
T-compiler
- Dominant language
- Rust
- Stars
- 119k
- Forks
- 16.1k
- PR merge metrics
- PR metrics pending
Description
Code
Oh dear, this will be very hard to find the exact place of it :(
Meta
rustc --version --verbose:
rustc 1.96.0-nightly (1d8897a4e 2026-03-13) running on x86_64-unknown-linux-gnu
compiler flags: --crate-type lib -C opt-level=3 -C linker-plugin-lto -C codegen-units=1 -C strip=debuginfo
Error output
62.26 Compiling ntex-mqtt v7.6.0
63.91 Compiling ipnet v2.12.0
67.13
67.13 thread 'rustc' (3624) panicked at /rustc-dev/1d8897a4e88051480b36c501e66809425c6e08ad/compiler/rustc_const_eval/src/interpret/discriminant.rs:128:93:
67.13 called `Option::unwrap()` on a `None` value
67.13 stack backtrace:
67.15 0: 0x7fd2d853371b - <<std[1c12824126ab204a]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[86029f731b087684]::fmt::Display>::fmt
67.15 1: 0x7fd2d8c1ccc8 - core[86029f731b087684]::fmt::write
67.15 2: 0x7fd2d854a726 - <std[1c12824126ab204a]::sys::stdio::unix::Stderr as std[1c12824126ab204a]::io::Write>::write_fmt
67.16 3: 0x7fd2d8509808 - std[1c12824126ab204a]::panicking::default_hook::{closure#0}
67.16 4: 0x7fd2d8526b93 - std[1c12824126ab204a]::panicking::default_hook
67.16 5: 0x7fd2d7522d0c - std[1c12824126ab204a]::panicking::update_hook::<alloc[4f8a3791c62ca0ca]::boxed::Box<rustc_driver_impl[51f7c9edb5d05cb7]::install_ice_hook::{closure#1}>>::{cl
67.16 6: 0x7fd2d8526e72 - std[1c12824126ab204a]::panicking::panic_with_hook
67.16 7: 0x7fd2d85098fa - std[1c12824126ab204a]::panicking::panic_handler::{closure#0}
67.16 8: 0x7fd2d84fde19 - std[1c12824126ab204a]::sys::backtrace::__rust_end_short_backtrace::<std[1c12824126ab204a]::panicking::panic_handler::{closure#0}, !>
67.16 9: 0x7fd2d850b32d - __rustc[617f3f0615c04812]::rust_begin_unwind
67.16 10: 0x7fd2d50ec95c - core[86029f731b087684]::panicking::panic_fmt
67.16 11: 0x7fd2d4be9a42 - core[86029f731b087684]::panicking::panic
67.16 12: 0x7fd2d573daf9 - core[86029f731b087684]::option::unwrap_failed
67.16 13: 0x7fd2d9a04743 - <rustc_const_eval[63d8224cb32e09a6]::interpret::eval_context::InterpCx<rustc_const_eval[63d8224cb32e09a6]::const_eval::dummy_machine::DummyMachine>>::read_di
67.16 14: 0x7fd2d9a01bca - <rustc_mir_dataflow[80ddae8f47a563a2]::value_analysis::Map>::for_each_projection_value::<rustc_const_eval[63d8224cb32e09a6]::interpret::operand::OpTy, <rustc
67.16 15: 0x7fd2d9a01d81 - <rustc_mir_dataflow[80ddae8f47a563a2]::value_analysis::Map>::for_each_projection_value::<rustc_const_eval[63d8224cb32e09a6]::interpret::operand::OpTy, <rustc_mir_transform[5d4a77c8247ab2ba]::jump_threading::TOFinder>::process_constant::{closure#0}, <rustc_mir_transform[5d4a77c8247ab2ba]::jump_threading::TOFinder>::process_constant::{closure#1}>
67.16 16: 0x7fd2d9a01d81 - <rustc_mir_dataflow[80ddae8f47a563a2]::value_analysis::Map>::for_each_projection_value::<rustc_const_eval[63d8224cb32e09a6]::interpret::operand::OpTy, <rustc_mir_transform[5d4a77c8247ab2ba]::jump_threading::TOFinder>::process_constant::{closure#0}, <rustc_mir_transform[5d4a77c8247ab2ba]::jump_threading::TOFinder>::process_constant::{closure#1}>
67.16 17: 0x7fd2d9a01018 - <rustc_mir_transform[5d4a77c8247ab2ba]::jump_threading::TOFinder>::process_operand
67.16 18: 0x7fd2d5e89751 - <rustc_mir_transform[5d4a77c8247ab2ba]::jump_threading::JumpThreading as rustc_mir_transform[5d4a77c8247ab2ba]::pass_manager::MirPass>::run_pass
67.17 19: 0x7fd2d8c099f5 - rustc_mir_transform[5d4a77c8247ab2ba]::run_optimization_passes
67.17 20: 0x7fd2d968df53 - rustc_mir_transform[5d4a77c8247ab2ba]::optimized_mir
67.17 21: 0x7fd2d968dba1 - rustc_query_impl[59fb8fd7261b243f]::query_impl::optimized_mir::invoke_provider_fn::__rust_begin_short_backtrace
67.17 22: 0x7fd2d8c5c28a - rustc_query_impl[59fb8fd7261b243f]::execution::try_execute_query::<rustc_middle[bfabc05c2f0f5726]::query::caches::DefIdCache<rustc_middle[bfabc05c2f0f5726]::query::erase::ErasedData<[u8; 8usize]>>, false>
67.17 23: 0x7fd2d8c5b80e - rustc_query_impl[59fb8fd7261b243f]::query_impl::optimized_mir::execute_query_non_incr::__rust_end_short_backtrace
67.17 24: 0x7fd2d632312c - rustc_mir_transform[5d4a77c8247ab2ba]::deduce_param_attrs::deduced_param_attrs
67.17 25: 0x7fd2d8e58a96 - rustc_query_impl[59fb8fd7261b243f]::query_impl::deduced_param_attrs::invoke_provider_fn::__rust_begin_short_backtrace
67.17 26: 0x7fd2d8e56a62 - rustc_query_impl[59fb8fd7261b243f]::execution::try_execute_query::<rustc_middle[bfabc05c2f0f5726]::query::caches::DefIdCache<rustc_middle[bfabc05c2f0f5726]::query::erase::ErasedData<[u8; 16usize]>>, false>
67.17 27: 0x7fd2d8e5620d - rustc_query_impl[59fb8fd7261b243f]::query_impl::deduced_param_attrs::execute_query_non_incr::__rust_end_short_backtrace
67.17 28: 0x7fd2d9525310 - <rustc_metadata[5c6201ad229c5db5]::rmeta::encoder::EncodeContext>::encode_crate_root
67.17 29: 0x7fd2da12937a - <rustc_metadata[5c6201ad229c5db5]::rmeta::encoder::encode_metadata::{closure#3} as core[86029f731b087684]::ops::function::FnOnce<(rustc_middle[bfabc05c2f0f5726]::ty::context::TyCtxt, &std[1c12824126ab204a]::path::Path)>>::call_once
67.17 30: 0x7fd2da126ad4 - rustc_metadata[5c6201ad229c5db5]::rmeta::encoder::encode_metadata
67.17 31: 0x7fd2d9984f09 - rustc_metadata[5c6201ad229c5db5]::fs::encode_and_write_metadata
67.17 32: 0x7fd2d9e46c50 - <rustc_interface[a1db20cb550d7706]::queries::Linker>::codegen_and_build_linker
67.17 33: 0x7fd2d9e418c1 - rustc_interface[a1db20cb550d7706]::interface::run_compiler::<(), rustc_driver_impl[51f7c9edb5d05cb7]::run_compiler::{closure#0}>::{closure#1}
67.17 34: 0x7fd2d9e26a7e - std[1c12824126ab204a]::sys::backtrace::__rust_begin_short_backtrace::<rustc_interface[a1db20cb550d7706]::util::run_in_thread_with_globals<rustc_interface[a1db20cb550d7706]::util::run_in_thread_pool_with_globals<rustc_interface[a1db20cb550d7706]::interface::run_compiler<(), rustc_driver_impl[51f7c9edb5d05cb7]::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()>
67.17 35: 0x7fd2d9e27320 - <std[1c12824126ab204a]::thread::lifecycle::spawn_unchecked<rustc_interface[a1db20cb550d7706]::util::run_in_thread_with_globals<rustc_interface[a1db20cb550d7706]::util::run_in_thread_pool_with_globals<rustc_interface[a1db20cb550d7706]::interface::run_compiler<(), rustc_driver_impl[51f7c9edb5d05cb7]::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()>::{closure#1} as core[86029f731b087684]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
67.17 36: 0x7fd2d9e281ac - <std[1c12824126ab204a]::sys::thread::unix::Thread>::new::thread_start
67.17 37: 0x7fd2d389eb7b - <unknown>
67.17 38: 0x7fd2d391c630 - __clone
67.18 39: 0x0 - <unknown>
Backtrace
<backtrace>
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 with compiler/rustc_const_eval/src/interpret/discriminant.rs at the reported line, then trace the rustc_mir_transform jump_threading and value_analysis frames in the backtrace. Reproduce by compiling the ntex-mqtt project with the shown rustc flags and confirm that the compiler no longer panics during optimization and metadata generation.
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