[ICE]: called `Option::unwrap()` on a `None` value
Nobody has claimed this yet.
- 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
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 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