Skip to content

Internal error when building code with nested static items #129

@podhrmic

Description

@podhrmic

Steps to reproduce:

  1. git clone git@github.com:chronotope/chrono.git
  2. cd chrono
  3. cargo build (that proceeds normally)
  4. cargo crux-test --lib
    The relevant error output:
thread 'rustc' panicked at compiler/rustc_middle/src/hir/map/mod.rs:952:32:
internal error: entered unreachable code
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
error: could not compile `chrono` (lib test)

Caused by:
  process didn't exit successfully: `/Users/mpodhradsky/Applications/mir-json-macos-14-ARM64/bin/mir-json-rustc-wrapper rustc --crate-name chrono --edition=2021 src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --diagnostic-width=240 --emit=dep-info,link -C embed-bitcode=no -C debuginfo=2 -C split-debuginfo=unpacked --test --cfg 'feature="alloc"' --cfg 'feature="android-tzdata"' --cfg 'feature="clock"' --cfg 'feature="default"' --cfg 'feature="iana-time-zone"' --cfg 'feature="js-sys"' --cfg 'feature="now"' --cfg 'feature="oldtime"' --cfg 'feature="std"' --cfg 'feature="wasm-bindgen"' --cfg 'feature="wasmbind"' --cfg 'feature="winapi"' --cfg 'feature="windows-link"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("__internal_bench", "alloc", "android-tzdata", "arbitrary", "clock", "default", "iana-time-zone", "js-sys", "libc", "now", "oldtime", "pure-rust-locales", "rkyv", "rkyv-16", "rkyv-32", "rkyv-64", "rkyv-validation", "serde", "std", "unstable-locales", "wasm-bindgen", "wasmbind", "winapi", "windows-link"))' -C metadata=eb2fbdf882aca9fa -C extra-filename=-99415242a23a6b83 --out-dir /private/tmp/chrono/target/aarch64-apple-darwin/debug/deps --target aarch64-apple-darwin -C incremental=/private/tmp/chrono/target/aarch64-apple-darwin/debug/incremental -L dependency=/private/tmp/chrono/target/aarch64-apple-darwin/debug/deps -L dependency=/private/tmp/chrono/target/debug/deps --extern bincode=/private/tmp/chrono/target/aarch64-apple-darwin/debug/deps/libbincode-91582fba06090d95.rlib --extern iana_time_zone=/private/tmp/chrono/target/aarch64-apple-darwin/debug/deps/libiana_time_zone-c04a6f76e0a7b408.rlib --extern num_traits=/private/tmp/chrono/target/aarch64-apple-darwin/debug/deps/libnum_traits-3121c6ccd68721f9.rlib --extern serde_derive=/private/tmp/chrono/target/debug/deps/libserde_derive-a1f7dd05e40f13ad.dylib --extern serde_json=/private/tmp/chrono/target/aarch64-apple-darwin/debug/deps/libserde_json-192e34f499792e9d.rlib --extern similar_asserts=/private/tmp/chrono/target/aarch64-apple-darwin/debug/deps/libsimilar_asserts-670972fa35ec9ddb.rlib` (exit status: 101)

And with RUST_BACKTRACE=1 cargo crux-test --lib:

thread 'rustc' panicked at compiler/rustc_middle/src/hir/map/mod.rs:952:32:
internal error: entered unreachable code
stack backtrace:
   0: _rust_begin_unwind
   1: core::panicking::panic_fmt
   2: core::panicking::panic
   3: <rustc_middle::hir::map::Map>::span_with_body
   4: rustc_hir_typeck::typeck_with_inspect::{closure#0}
   5: rustc_hir_typeck::typeck
      [... omitted 1 frame ...]
   6: rustc_middle::query::plumbing::query_get_at::<rustc_data_structures::vec_cache::VecCache<rustc_span::def_id::LocalDefId, rustc_middle::query::erase::Erased<[u8; 8]>, rustc_query_system::dep_graph::graph::DepNodeIndex>>
   7: rustc_mir_build::thir::pattern::check_match::check_match
      [... omitted 1 frame ...]
   8: rustc_middle::query::plumbing::query_get_at::<rustc_data_structures::vec_cache::VecCache<rustc_span::def_id::LocalDefId, rustc_middle::query::erase::Erased<[u8; 1]>, rustc_query_system::dep_graph::graph::DepNodeIndex>>
   9: rustc_mir_build::builder::build_mir
  10: rustc_mir_transform::mir_built
      [... omitted 1 frame ...]
  11: rustc_middle::query::plumbing::query_get_at::<rustc_data_structures::vec_cache::VecCache<rustc_span::def_id::LocalDefId, rustc_middle::query::erase::Erased<[u8; 8]>, rustc_query_system::dep_graph::graph::DepNodeIndex>>
  12: rustc_mir_transform::mir_const_qualif
      [... omitted 1 frame ...]
  13: rustc_middle::query::plumbing::query_get_at::<rustc_query_system::query::caches::DefIdCache<rustc_middle::query::erase::Erased<[u8; 4]>>>
  14: rustc_mir_transform::mir_promoted
      [... omitted 1 frame ...]
  15: rustc_middle::query::plumbing::query_get_at::<rustc_data_structures::vec_cache::VecCache<rustc_span::def_id::LocalDefId, rustc_middle::query::erase::Erased<[u8; 16]>, rustc_query_system::dep_graph::graph::DepNodeIndex>>
  16: rustc_borrowck::mir_borrowck
      [... omitted 1 frame ...]
  17: rustc_middle::query::plumbing::query_get_at::<rustc_data_structures::vec_cache::VecCache<rustc_span::def_id::LocalDefId, rustc_middle::query::erase::Erased<[u8; 8]>, rustc_query_system::dep_graph::graph::DepNodeIndex>>
  18: rustc_mir_transform::mir_drops_elaborated_and_const_checked
      [... omitted 1 frame ...]
  19: rustc_middle::query::plumbing::query_get_at::<rustc_data_structures::vec_cache::VecCache<rustc_span::def_id::LocalDefId, rustc_middle::query::erase::Erased<[u8; 8]>, rustc_query_system::dep_graph::graph::DepNodeIndex>>
  20: rustc_mir_transform::mir_for_ctfe
      [... omitted 1 frame ...]
  21: rustc_middle::query::plumbing::query_get_at
  22: mir_json::analyz::analyze_inner
  23: mir_json::analyz::analyze_streaming
  24: <mir_json_rustc_wrapper_real::MirJsonCallbacks as rustc_driver_impl::Callbacks>::after_analysis
  25: rustc_interface::passes::create_and_enter_global_ctxt::<core::option::Option<rustc_interface::queries::Linker>, rustc_driver_impl::run_compiler::{closure#0}::{closure#2}>
  26: 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: could not compile `chrono` (lib test)

I am using the latest crux-mir:

% crux-mir --version
[Crux] version: 0.7.2.0.99, crux-mir version: 0.10.0.0.99

And rustc 1.87

Metadata

Metadata

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions