Skip to content

Internal error when building code with nested static items #129

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

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions