Skip to content

cargo doc fails on termux for android ARM64 #149871

@voidfemme

Description

@voidfemme

Code

This occurs when running cargo doc on any Rust project in Termux on Android ARM64. The issue reproduces with even the simplest dependencies. For minimal reproduction:

[package]
name = "rustdoc-crash-minimal"
version = "0.1.0"
edition = "2021"

[dependencies]
bitflags = "1.3.2"

Then run cargo doc
rustdoc will crash on the dependency.

Meta

This bug is specific to the Termux Rust build on aarch64-android.

rustc --version --verbose:

rustc 1.91.1 (ed61e7d7e 2025-11-07) (built from a source tarball)
binary: rustc
commit-hash: ed61e7d7e242494fb7057f2657300d9e77bb4fcb
commit-date: 2025-11-07
host: aarch64-linux-android
release: 1.91.1
LLVM version: 21.1.6

Error output

Running cargo doc causes rustdoc to panic with "Unable to verify registry association" followed by SIGSEGV across all parallel documentation jobs:

 Documenting libc v0.2.117

thread 'rustc' (6590) panicked at /home/runner/.termux-build/rust/src/compiler/rustc_data_structures/src/sync/worker_local.rs:28:51:
Unable to verify registry association

error: the compiler unexpectedly panicked. this is a bug.

This repeats across multiple dependencies when running parallel jobs, all ending with:

Caused by:
  process didn't exit successfully: `rustdoc [...]` (signal: 11, SIGSEGV: invalid memory reference)

Running cargo doc -j1 to force single-threaded operation also crashes with the same error, confirming the issue is not threading-related but affects the worker registry verification mechanism itself.

  • cargo build and cargo run work perfectly fine
  • Only rustdoc is affected
  • The crash occurs at rustc_data_structures/src/sync/worker_local.rs:28:51 in the RegistryId::verify method
  • This appears to be a platform-specific issue with thread-local storage or worker thread coordination on aarch64-android

Backtrace

thread 'rustc' (6590) panicked at /home/runner/.termux-build/rust/src/compiler/rustc_data_structures/src/sync/worker_local.rs:28:51:
Unable to verify registry association
stack backtrace:
   0:       0x714d430cac - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::h41616278653e8e48
   1:       0x714d48b270 - core::fmt::write::hf8750d1c9928b490
   2:       0x714d41b194 - <unknown>
   3:       0x714d42480c - <unknown>
   4:       0x714d426764 - <unknown>
   5:       0x714d4265c8 - std::panicking::default_hook::h22dd70d1a07fc809
   6:       0x714a34db10 - <unknown>
   7:       0x714d426f8c - std::panicking::panic_with_hook::hba12bc6cb2feca35
   8:       0x714d426c98 - <unknown>
   9:       0x714d424934 - <unknown>
  10:       0x714d4157e4 - __rustc[bd3b3f48d2381c32]::rust_begin_unwind
  11:       0x714d4909fc - core::panicking::panic_fmt::h41730d1c524d855b
  12:       0x714cd7af20 - rustc_data_structures[6bc48d3786c9f26f]::outline::<<rustc_data_structures[6bc48d3786c9f26f]::sync::worker_local::RegistryId>::verify::{closure#1}, usize>
  13:       0x5e7ade045c - <unknown>
  14:       0x5e7adab564 - <unknown>
  15:       0x5e7af137f8 - <unknown>
  16:       0x5e7ae6ea58 - <unknown>
  17:       0x5e7adb3d40 - <unknown>
  18:       0x5e7af183f8 - <unknown>
  19:       0x714d3ef910 - <unknown>
  20:       0x715dd48d00 - _ZL15__pthread_startPv.__uniq.67847048707805468364044055584648682506
  21:       0x715dd3b504 - __start_thread

Metadata

Metadata

Assignees

No one assigned

    Labels

    C-bugCategory: This is a bug.I-ICEIssue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️T-rustdocRelevant to the rustdoc 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