[ICE]: rustc_metadata panic on android
Open
Nobody has claimed this yet.
C-bug
I-ICE
O-termux
T-compiler
- Dominant language
- Rust
- Stars
- 119k
- Forks
- 16.2k
- PR merge metrics
- PR metrics pending
Description
Hello, I encountered the error while trying to run "install cargo trunk" so none of the code is mine.
The error happened while compiling hickory-proto
The platform is unusual as it is termux on Android.
Meta
rustc --version --verbose:
~ $ rustc --version --verbose
rustc 1.93.0 (254b59607 2026-01-19) (built from a source tarball)
binary: rustc
commit-hash: 254b59607d4417e9dffbc307138ae5c86280fe4c
commit-date: 2026-01-19
host: aarch64-linux-android
release: 1.93.0
LLVM version: 21.1.8
Error output
thread 'rustc' (18223) panicked at compiler/rustc_metadata/src/rmeta/decoder.rs:993:31:
called `Option::unwrap()` on a `None` value
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) (built from a source tarball) running on aarch64-linux-android
note: compiler flags: --crate-type lib -C opt-level=3 -C panic=abort -C linker-plugin-lto -C codegen-units=1 -C strip=debuginfo
note: some of the compiler flags provided by cargo are hidden
query stack during panic:
#0 [resolver_for_lowering_raw] getting the resolver for lowering
end of query stack
error: could not compile `hickory-proto` (lib)
Caused by:
process didn't exit successfully: `rustc --crate-name hickory_proto --edition=2021 /data/data/com.termux/files/home/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hickory-proto-0.25.2/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --diagnostic-width=62 --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C panic=abort -C linker-plugin-lto -C codegen-units=1 --warn=unexpected_cfgs --check-cfg 'cfg(nightly)' --cfg 'feature="futures-io"' --cfg 'feature="std"' --cfg 'feature="tokio"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("__dnssec", "__h3", "__https", "__quic", "__tls", "backtrace", "default", "dnssec-aws-lc-rs", "dnssec-ring", "futures-io", "h3-aws-lc-rs", "h3-ring", "https-aws-lc-rs", "https-ring", "mdns", "no-std-rand", "quic-aws-lc-rs", "quic-ring", "rustls-platform-verifier", "serde", "socket2", "std", "testing", "text-parsing", "tls-aws-lc-rs", "tls-ring", "tokio", "wasm-bindgen", "webpki-roots"))' -C metadata=869f9e66c303d6d9 -C extra-filename=-b94fca3f9ccc723c --out-dir /data/data/com.termux/files/usr/tmp/cargo-installr9t39f/release/deps -C strip=debuginfo -L dependency=/data/data/com.termux/files/usr/tmp/cargo-installr9t39f/release/deps --extern async_trait=/data/data/com.termux/files/usr/tmp/cargo-installr9t39f/release/deps/libasync_trait-952f9bb5946dc07a.so --extern cfg_if=/data/data/com.termux/files/usr/tmp/cargo-installr9t39f/release/deps/libcfg_if-041fa3b3d3816aa6.rmeta --extern data_encoding=/data/data/com.termux/files/usr/tmp/cargo-installr9t39f/release/deps/libdata_encoding-3fe80021620fe3ec.rmeta --extern enum_as_inner=/data/data/com.termux/files/usr/tmp/cargo-installr9t39f/release/deps/libenum_as_inner-c16f0cf073549f95.so --extern futures_channel=/data/data/com.termux/files/usr/tmp/cargo-installr9t39f/release/deps/libfutures_channel-7ad959d85a2c3dde.rmeta --extern futures_io=/data/data/com.termux/files/usr/tmp/cargo-installr9t39f/release/deps/libfutures_io-2c75eff01628fa0f.rmeta --extern futures_util=/data/data/com.termux/files/usr/tmp/cargo-installr9t39f/release/deps/libfutures_util-219462ccaf31e9f4.rmeta --extern idna=/data/data/com.termux/files/usr/tmp/cargo-installr9t39f/release/deps/libidna-50f696bbe2195618.rmeta --extern ipnet=/data/data/com.termux/files/usr/tmp/cargo-installr9t39f/release/deps/libipnet-9613b3ae9741c573.rmeta --extern once_cell=/data/data/com.termux/files/usr/tmp/cargo-installr9t39f/release/deps/libonce_cell-e2cdb9621618cb02.rmeta --extern rand=/data/data/com.termux/files/usr/tmp/cargo-installr9t39f/release/deps/librand-fcf298be791504ef.rmeta --extern thiserror=/data/data/com.termux/files/usr/tmp/cargo-installr9t39f/release/deps/libthiserror-7536c1e234d8bc13.rmeta --extern tinyvec=/data/data/com.termux/files/usr/tmp/cargo-installr9t39f/release/deps/libtinyvec-f6567d46b7001098.rmeta --extern tokio=/data/data/com.termux/files/usr/tmp/cargo-installr9t39f/release/deps/libtokio-72130af7dd8c4e16.rmeta --extern tracing=/data/data/com.termux/files/usr/tmp/cargo-installr9t39f/release/deps/libtracing-e5fb26a4ad1bd9e0.rmeta --extern url=/data/data/com.termux/files/usr/tmp/cargo-installr9t39f/release/deps/liburl-580235922df475ce.rmeta --cap-lints allow` (exit status: 101)
Backtrace
stack backtrace:
0: 0x78600a4a9c - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::hfa00a66149f32d8f
1: 0x78600e7ec0 - core::fmt::write::h31b0977f5443fc0b
2: 0x78600a8504 - <unknown>
3: 0x7860083ae4 - <unknown>
4: 0x786008391c - std::panicking::default_hook::hcc5be7f31b94785f
5: 0x785cfcffa0 - <unknown>
6: 0x7860083dfc - std::panicking::panic_with_hook::h4fd0bcc1bae66b70
7: 0x786009a7a4 - <unknown>
8: 0x7860098994 - <unknown>
9: 0x7860074d44 - __rustc[881eff9798cad629]::rust_begin_unwind
10: 0x78600ecea0 - core::panicking::panic_fmt::h27113979cc7bf589
11: 0x78600ece78 - core::panicking::panic::he8c98dbc071e34c6
12: 0x7860106ca8 - core::option::unwrap_failed::h57341bcdc186bdea
13: 0x785f3e1914 - <rustc_metadata[69212babd6ff512]::creader::CStore>::load_macro_untracked
14: 0x785e5077c0 - <unknown>
15: 0x785e52fbb0 - <unknown>
16: 0x785e53ca50 - <rustc_resolve[d03e2eb8c82e81ee]::Resolver as rustc_expand[b86d1cc24c3ec3fa]::base::ResolverExpand>::resolve_macro_invocation
17: 0x785f61657c - <rustc_expand[b86d1cc24c3ec3fa]::expand::MacroExpander>::fully_expand_fragment
18: 0x785f61534c - <rustc_expand[b86d1cc24c3ec3fa]::expand::MacroExpander>::expand_crate
19: 0x785d1d8df8 - <unknown>
20: 0x785d170f00 - rustc_interface[8b6722a5913450ec]::passes::resolver_for_lowering_raw
21: 0x785ed30c14 - <unknown>
22: 0x785ecf837c - <unknown>
23: 0x785eab7b20 - rustc_query_system[f0c7338d455e6220]::query::plumbing::try_execute_query::<rustc_query_impl[a37a32c06226f705]::DynamicConfig<rustc_query_system[f0c7338d455e6220]::query::caches::SingleCache<rustc_middle[f7b2121bb64ab64e]::query::erase::Erased<[u8; 16usize]>>, false, false, false>, rustc_query_impl[a37a32c06226f705]::plumbing::QueryCtxt, false>
24: 0x785eb2ac6c - <unknown>
25: 0x7860029564 - <unknown>
26: 0x78600295c0 - rust_psm_on_stack
27: 0x7860029410 - stacker[a4e841f9cea078c0]::_grow
28: 0x785ebe10b0 - <unknown>
29: 0x785fa03150 - <rustc_middle[f7b2121bb64ab64e]::ty::context::TyCtxt>::resolver_for_lowering
30: 0x785cf5c418 - <unknown>
31: 0x785cf93bb4 - <unknown>
32: 0x785cf7db90 - <unknown>
33: 0x785cf5aedc - <unknown>
34: 0x785d001b0c - <unknown>
35: 0x785cf7fce8 - <unknown>
36: 0x78600b1bb8 - <unknown>
37: 0x784a162654 - _ZL15__pthread_startPv
38: 0x784a0fc000 - __start_thread
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
Reproduce the panic by running the reported cargo install trunk build for hickory-proto on Termux Android, then inspect compiler/rustc_metadata/src/rmeta/decoder.rs:993 and CStore::load_macro_untracked from the backtrace. Determine why the metadata lookup unwraps None on aarch64-linux-android; done means the reproduction no longer causes the rustc panic.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- compilers, operating-systems
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100