rust-lang / rust-lang/rust

[ICE]: called `Option::unwrap()` on a `None` value

Open
#151,885 8 comments 0 reactions 0 assignees View on GitHub

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

I encountered this error while attempting to build RustDesk. The crash did not occur while compiling code that I wrote. I'm afraid I don't really have the Rust experience to create a minimal reproduction.

I believe the crash is occurring while building a crate called hbb_common. However, if I navigate to the hbb_common crate code directly and run cargo build, it completes without errors.

The build script is running the command cargo build --features flutter --lib at the top level, and when I run that, it reproduces the crash.

Meta

rustc --version --verbose:

rustc 1.93.0 (254b59607 2026-01-19)
Transcript (includes error output with backtrace and the full command-line)
logiclrd@hat:~/rustdesk$ RUST_BACKTRACE=1 cargo build --features flutter --lib
   Compiling hbb_common v0.1.0 (/home/logiclrd/rustdesk/libs/hbb_common)
   Compiling libgit2-sys v0.14.2+1.5.1
   Compiling ttf-parser v0.25.1
   Compiling nix v0.26.4
   Compiling async-fs v1.6.0
   Compiling tzdb v0.6.1


thread 'rustc' (67853) panicked at /rustc-dev/254b59607d4417e9dffbc307138ae5c86280fe4c/compiler/rustc_query_system/src/dep_graph/graph.rs:693:64:
called Option::unwrap() on a None value
stack backtrace:
   0: __rustc::rust_begin_unwind
   1: core::panicking::panic_fmt
   2: core::panicking::panic
   3: core::option::unwrap_failed
   4: <rustc_query_impl::query_callbacks::SideEffect::{closure#0} as core::ops::function::FnOnce<(rustc_middle::ty::context::TyCtxt, rustc_query_system::dep_graph::dep_node::DepNode, rustc_query_system::dep_graph::serialized::SerializedDepNodeIndex)>>::call_once
   5: <rustc_query_system::dep_graph::graph::DepGraphData<rustc_middle::dep_graph::DepsType>>::try_mark_previous_green::<rustc_query_impl::plumbing::QueryCtxt>
   6: <rustc_query_system::dep_graph::graph::DepGraphData<rustc_middle::dep_graph::DepsType>>::try_mark_green::<rustc_query_impl::plumbing::QueryCtxt>
   7: rustc_query_system::query::plumbing::ensure_must_run::<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::DefaultCache<rustc_span::def_id::LocalModDefId, rustc_middle::query::erase::Erased<[u8; 0]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt>
   8: rustc_interface::passes::analysis
      [... omitted 1 frame ...]
   9: <rustc_interface::passes::create_and_enter_global_ctxt<core::option::Option<rustc_interface::queries::Linker>, rustc_driver_impl::run_compiler::{closure#0}::{closure#2}>::{closure#2} as core::ops::function::FnOnce<(&rustc_session::session::Session, rustc_middle::ty::context::CurrentGcx, alloc::sync::Arc<rustc_data_structures::jobserver::Proxy>, &std::sync::once_lock::OnceLock<rustc_middle::ty::context::GlobalCtxt>, &rustc_data_structures::sync::worker_local::WorkerLocal<rustc_middle::arena::Arena>, &rustc_data_structures::sync::worker_local::WorkerLocal<rustc_hir::Arena>, rustc_driver_impl::run_compiler::{closure#0}::{closure#2})>>::call_once::{shim:vtable#0}
  10: rustc_interface::interface::run_compiler::<(), rustc_driver_impl::run_compiler::{closure#0}>::{closure#1}
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: rustc 1.93.0 (254b59607 2026-01-19) running on x86_64-unknown-linux-gnu


note: compiler flags: --crate-type lib -C embed-bitcode=no -C debuginfo=2 -C incremental=[REDACTED]


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


query stack during panic:
#0 [analysis] running analysis passes on crate hbb_common
end of query stack
   Compiling field-offset v0.3.6
there was a panic while trying to force a dep node
try_mark_green dep node stack:
#0 check_mod_unstable_api_usage(hbb_common[9409]::proxy)
end of try_mark_green dep node stack
error: could not compile hbb_common (lib)


Caused by:
  process didn't exit successfully: /home/logiclrd/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/rustc --crate-name hbb_common --edition=2018 libs/hbb_common/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --diagnostic-width=88 --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=5f08ebee8ddc42e9 -C extra-filename=-256a976dc9fbe154 --out-dir /home/logiclrd/rustdesk/target/debug/deps -C incremental=/home/logiclrd/rustdesk/target/debug/incremental -L dependency=/home/logiclrd/rustdesk/target/debug/deps --extern anyhow=/home/logiclrd/rustdesk/target/debug/deps/libanyhow-585c2266326159dc.rmeta --extern backtrace=/home/logiclrd/rustdesk/target/debug/deps/libbacktrace-25b35e297056c1ff.rmeta --extern base64=/home/logiclrd/rustdesk/target/debug/deps/libbase64-151e3c8fcb99db8c.rmeta --extern bytes=/home/logiclrd/rustdesk/target/debug/deps/libbytes-b869e686e8227b08.rmeta --extern chrono=/home/logiclrd/rustdesk/target/debug/deps/libchrono-ead55f749f4361c1.rmeta --extern confy=/home/logiclrd/rustdesk/target/debug/deps/libconfy-43178bbf748d67fd.rmeta --extern default_net=/home/logiclrd/rustdesk/target/debug/deps/libdefault_net-a1d806581a7b9939.rmeta --extern directories_next=/home/logiclrd/rustdesk/target/debug/deps/libdirectories_next-758216e41b1d3f23.rmeta --extern dirs_next=/home/logiclrd/rustdesk/target/debug/deps/libdirs_next-0f01ae0ee9a3fbe5.rmeta --extern dlopen=/home/logiclrd/rustdesk/target/debug/deps/libdlopen-cd017ae24b9ba378.rmeta --extern env_logger=/home/logiclrd/rustdesk/target/debug/deps/libenv_logger-8d147bec09b823ca.rmeta --extern filetime=/home/logiclrd/rustdesk/target/debug/deps/libfiletime-71b6141156a4588d.rmeta --extern flexi_logger=/home/logiclrd/rustdesk/target/debug/deps/libflexi_logger-451d90a435d8a20d.rmeta --extern futures=/home/logiclrd/rustdesk/target/debug/deps/libfutures-88a4eb234216bad3.rmeta --extern futures_util=/home/logiclrd/rustdesk/target/debug/deps/libfutures_util-ae2f8d601dbd4517.rmeta --extern httparse=/home/logiclrd/rustdesk/target/debug/deps/libhttparse-485f53e96613caee.rmeta --extern lazy_static=/home/logiclrd/rustdesk/target/debug/deps/liblazy_static-d022f54102e49715.rmeta --extern libc=/home/logiclrd/rustdesk/target/debug/deps/liblibc-c43832cdcc5ea060.rmeta --extern log=/home/logiclrd/rustdesk/target/debug/deps/liblog-a5bbfb3a7b43a811.rmeta --extern mac_address=/home/logiclrd/rustdesk/target/debug/deps/libmac_address-7cbd4320b7bcf90f.rmeta --extern machine_uid=/home/logiclrd/rustdesk/target/debug/deps/libmachine_uid-93aad75054b5565f.rmeta --extern protobuf=/home/logiclrd/rustdesk/target/debug/deps/libprotobuf-e323430fe205b2c7.rmeta --extern rand=/home/logiclrd/rustdesk/target/debug/deps/librand-135fa6e58543b8eb.rmeta --extern regex=/home/logiclrd/rustdesk/target/debug/deps/libregex-dc1ae622c4314f24.rmeta --extern rustls_pki_types=/home/logiclrd/rustdesk/target/debug/deps/librustls_pki_types-2f725dc63466b043.rmeta --extern rustls_platform_verifier=/home/logiclrd/rustdesk/target/debug/deps/librustls_platform_verifier-6e80627e4db682b6.rlib --extern serde=/home/logiclrd/rustdesk/target/debug/deps/libserde-33d6e36e489f56a6.rmeta --extern serde_derive=/home/logiclrd/rustdesk/target/debug/deps/libserde_derive-c54ff94f2529e822.so --extern serde_json=/home/logiclrd/rustdesk/target/debug/deps/libserde_json-3b4b7447e3685d86.rmeta --extern sha2=/home/logiclrd/rustdesk/target/debug/deps/libsha2-3f39a54c43f984c1.rmeta --extern socket2=/home/logiclrd/rustdesk/target/debug/deps/libsocket2-2cedff2dd218f750.rmeta --extern sodiumoxide=/home/logiclrd/rustdesk/target/debug/deps/libsodiumoxide-335a9441f2d04f26.rmeta --extern sysinfo=/home/logiclrd/rustdesk/target/debug/deps/libsysinfo-931ec93913a2eada.rmeta --extern thiserror=/home/logiclrd/rustdesk/target/debug/deps/libthiserror-9b75d8a29580ffe6.rmeta --extern tokio=/home/logiclrd/rustdesk/target/debug/deps/libtokio-6189bd08ba98d8a0.rmeta --extern tokio_rustls=/home/logiclrd/rustdesk/target/debug/deps/libtokio_rustls-34f0200aff5e3956.rmeta --extern tokio_socks=/home/logiclrd/rustdesk/target/debug/deps/libtokio_socks-dc1b719c42105b28.rmeta --extern tokio_tungstenite=/home/logiclrd/rustdesk/target/debug/deps/libtokio_tungstenite-668ccf05b92955e1.rmeta --extern tokio_util=/home/logiclrd/rustdesk/target/debug/deps/libtokio_util-9f23e7e2dbbbdb72.rmeta --extern toml=/home/logiclrd/rustdesk/target/debug/deps/libtoml-83922edbf8a0fea0.rmeta --extern tungstenite=/home/logiclrd/rustdesk/target/debug/deps/libtungstenite-16049ce52074c214.rmeta --extern url=/home/logiclrd/rustdesk/target/debug/deps/liburl-a2ff1c46bf051fab.rmeta --extern uuid=/home/logiclrd/rustdesk/target/debug/deps/libuuid-fa18c48014f48281.rmeta --extern whoami=/home/logiclrd/rustdesk/target/debug/deps/libwhoami-bb4edd51e6729363.rmeta --extern zstd=/home/logiclrd/rustdesk/target/debug/deps/libzstd-b73d39c9f176fda5.rmeta -L/home/logiclrd/rustdesk/vcpkg_installed/x64-linux/lib -L native=/home/logiclrd/rustdesk/target/debug/build/ring-2004f61c9cb2c1b2/out -L native=/home/logiclrd/rustdesk/target/debug/build/libsodium-sys-35cf7b11a4061103/out/installed/lib -L native=/home/logiclrd/rustdesk/target/debug/build/zstd-sys-fa7ccd563a54d0a7/out (exit status: 101)
warning: build failed, waiting for other jobs to finish...
logiclrd@hat:~/rustdesk$ 

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 by reproducing the top-level cargo build --features flutter --lib command in RustDesk, rather than building libs/hbb_common alone. Inspect the panic at compiler/rustc_query_system/src/dep_graph/graph.rs:693 and the check_mod_unstable_api_usage(hbb_common::proxy) query shown in the stack. Done requires determining a minimal reproduction or confirming the failure cannot be reduced from this report.

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.