Skip to content

ICE: Failed to get crate data for crate21 (at compiler/rustc_metadata/src/creader.rs:195:32) #121010

Closed
@tiborschneider

Description

@tiborschneider

This occurred while compiling a proc-macro crate. The project compiled just fine with 1.77. Running cargo clean does not help.

Code

As it turns out, I can simply comment out all parts of the program. Compiling the empty crate works. However, as soon as I define a proc-macro, rustc crashes:

use proc_macro::TokenStream;

#[proc_macro]
pub fn foo(input: TokenStream) -> TokenStream {
    input
}

The Cargo.toml file necessary to reproduce the bug is:

[package]
name = "some-proc-macro"
version = "0.11.0"
edition = "2021"

[lib]
name = "some_proc_macro"
path = "src/lib.rs"
proc-macro = true

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

[dependencies]
proc-macro2 = "1.0.49"
ipnet = "2.7.0"

Commenting out ipnet causes the bug to disappear

Meta

rustc --version --verbose:

rustc 1.78.0-nightly (b381d3ab2 2024-02-12)
binary: rustc
commit-hash: b381d3ab27f788f990551100c4425bb782d26d76
commit-date: 2024-02-12
host: x86_64-unknown-linux-gnu
release: 1.78.0-nightly
LLVM version: 17.0.6

Error output

thread 'rustc' panicked at compiler/rustc_metadata/src/creader.rs:195:32:
Failed to get crate data for crate21
Backtrace

   0: rust_begin_unwind
             at /rustc/b381d3ab27f788f990551100c4425bb782d26d76/library/std/src/panicking.rs:647:5
   1: core::panicking::panic_fmt
             at /rustc/b381d3ab27f788f990551100c4425bb782d26d76/library/core/src/panicking.rs:72:14
   2: <rustc_metadata::creader::CStore as rustc_session::cstore::CrateStore>::stable_crate_id.cold.0
   3: <rustc_middle::query::on_disk_cache::OnDiskCache>::serialize::{closure#0}
   4: <rustc_middle::query::on_disk_cache::OnDiskCache>::serialize
   5: rustc_incremental::persist::save::save_dep_graph::{closure#0}::{closure#3}
   6: rustc_incremental::persist::save::save_dep_graph::{closure#0}
   7: rustc_interface::interface::run_compiler::<core::result::Result<(), rustc_span::ErrorGuaranteed>, rustc_driver_impl::run_compiler::{closure#0}>::{closure#0}

Full Backtrace

   0:     0x7fd7a30ca476 - std::backtrace_rs::backtrace::libunwind::trace::h3f288a3148e8bb15
                               at /rustc/b381d3ab27f788f990551100c4425bb782d26d76/library/std/src/../../backtrace/src/backtrace/libunwind.rs:104:5
   1:     0x7fd7a30ca476 - std::backtrace_rs::backtrace::trace_unsynchronized::h7277353061928bc0
                               at /rustc/b381d3ab27f788f990551100c4425bb782d26d76/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
   2:     0x7fd7a30ca476 - std::sys_common::backtrace::_print_fmt::hbf79f06a8c92ca0e
                               at /rustc/b381d3ab27f788f990551100c4425bb782d26d76/library/std/src/sys_common/backtrace.rs:68:5
   3:     0x7fd7a30ca476 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h0afd1ff8e38a8a84
                               at /rustc/b381d3ab27f788f990551100c4425bb782d26d76/library/std/src/sys_common/backtrace.rs:44:22
   4:     0x7fd7a311d030 - core::fmt::rt::Argument::fmt::h7f26a9b6a6522b09
                               at /rustc/b381d3ab27f788f990551100c4425bb782d26d76/library/core/src/fmt/rt.rs:142:9
   5:     0x7fd7a311d030 - core::fmt::write::he7de9de816f98016
                               at /rustc/b381d3ab27f788f990551100c4425bb782d26d76/library/core/src/fmt/mod.rs:1120:17
   6:     0x7fd7a30bdc6f - std::io::Write::write_fmt::h38e65bf4265dc66c
                               at /rustc/b381d3ab27f788f990551100c4425bb782d26d76/library/std/src/io/mod.rs:1854:15
   7:     0x7fd7a30ca254 - std::sys_common::backtrace::_print::hf1424a842a74edeb
                               at /rustc/b381d3ab27f788f990551100c4425bb782d26d76/library/std/src/sys_common/backtrace.rs:47:5
   8:     0x7fd7a30ca254 - std::sys_common::backtrace::print::hbb43acdb160822bd
                               at /rustc/b381d3ab27f788f990551100c4425bb782d26d76/library/std/src/sys_common/backtrace.rs:34:9
   9:     0x7fd7a30cd047 - std::panicking::default_hook::{{closure}}::h9c602a562527e529
  10:     0x7fd7a30ccda9 - std::panicking::default_hook::h9cb3bf5f6c73326f
                               at /rustc/b381d3ab27f788f990551100c4425bb782d26d76/library/std/src/panicking.rs:292:9
  11:     0x7fd79fd5cfdc - std[73253c920228642]::panicking::update_hook::<alloc[940273873142bb35]::boxed::Box<rustc_driver_impl[f037f419b039420a]::install_ice_hook::{closure#0}>>::{closure#0}
  12:     0x7fd7a30cd796 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h1e0fe9ec90d27cc3
                               at /rustc/b381d3ab27f788f990551100c4425bb782d26d76/library/alloc/src/boxed.rs:2030:9
  13:     0x7fd7a30cd796 - std::panicking::rust_panic_with_hook::hb5ad56797fd964c4
                               at /rustc/b381d3ab27f788f990551100c4425bb782d26d76/library/std/src/panicking.rs:785:13
  14:     0x7fd7a30cd4e2 - std::panicking::begin_panic_handler::{{closure}}::hd364aeee29433213
                               at /rustc/b381d3ab27f788f990551100c4425bb782d26d76/library/std/src/panicking.rs:659:13
  15:     0x7fd7a30ca976 - std::sys_common::backtrace::__rust_end_short_backtrace::ha10bb1568b9ec73d
                               at /rustc/b381d3ab27f788f990551100c4425bb782d26d76/library/std/src/sys_common/backtrace.rs:171:18
  16:     0x7fd7a30cd234 - rust_begin_unwind
                               at /rustc/b381d3ab27f788f990551100c4425bb782d26d76/library/std/src/panicking.rs:647:5
  17:     0x7fd7a3119785 - core::panicking::panic_fmt::h91fa7152f33c7717
                               at /rustc/b381d3ab27f788f990551100c4425bb782d26d76/library/core/src/panicking.rs:72:14
  18:     0x7fd7a268d15a - <rustc_metadata[40c793e2fb882e8]::creader::CStore as rustc_session[6d29e55a48e49200]::cstore::CrateStore>::stable_crate_id.cold.0
  19:     0x7fd7a1dff854 - <rustc_middle[dbb6cff8550fbced]::query::on_disk_cache::OnDiskCache>::serialize::{closure#0}
  20:     0x7fd7a1dff3d6 - <rustc_middle[dbb6cff8550fbced]::query::on_disk_cache::OnDiskCache>::serialize
  21:     0x7fd7a1ed19d6 - rustc_incremental[7b428dbf846480ed]::persist::save::save_dep_graph::{closure#0}::{closure#3}
  22:     0x7fd7a1d44550 - rustc_incremental[7b428dbf846480ed]::persist::save::save_dep_graph::{closure#0}
  23:     0x7fd7a1d40d0f - rustc_interface[ceb207a8fb5539d]::interface::run_compiler::<core[ed182bbac36ed604]::result::Result<(), rustc_span[a4806a91d128f927]::ErrorGuaranteed>, rustc_driver_impl[f037f419b039420a]::run_compiler::{closure#0}>::{closure#0}
  24:     0x7fd7a1f6ef12 - std[73253c920228642]::sys_common::backtrace::__rust_begin_short_backtrace::<rustc_interface[ceb207a8fb5539d]::util::run_in_thread_with_globals<rustc_interface[ceb207a8fb5539d]::util::run_in_thread_pool_with_globals<rustc_interface[ceb207a8fb5539d]::interface::run_compiler<core[ed182bbac36ed604]::result::Result<(), rustc_span[a4806a91d128f927]::ErrorGuaranteed>, rustc_driver_impl[f037f419b039420a]::run_compiler::{closure#0}>::{closure#0}, core[ed182bbac36ed604]::result::Result<(), rustc_span[a4806a91d128f927]::ErrorGuaranteed>>::{closure#0}, core[ed182bbac36ed604]::result::Result<(), rustc_span[a4806a91d128f927]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[ed182bbac36ed604]::result::Result<(), rustc_span[a4806a91d128f927]::ErrorGuaranteed>>
  25:     0x7fd7a1f6ed3e - <<std[73253c920228642]::thread::Builder>::spawn_unchecked_<rustc_interface[ceb207a8fb5539d]::util::run_in_thread_with_globals<rustc_interface[ceb207a8fb5539d]::util::run_in_thread_pool_with_globals<rustc_interface[ceb207a8fb5539d]::interface::run_compiler<core[ed182bbac36ed604]::result::Result<(), rustc_span[a4806a91d128f927]::ErrorGuaranteed>, rustc_driver_impl[f037f419b039420a]::run_compiler::{closure#0}>::{closure#0}, core[ed182bbac36ed604]::result::Result<(), rustc_span[a4806a91d128f927]::ErrorGuaranteed>>::{closure#0}, core[ed182bbac36ed604]::result::Result<(), rustc_span[a4806a91d128f927]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[ed182bbac36ed604]::result::Result<(), rustc_span[a4806a91d128f927]::ErrorGuaranteed>>::{closure#1} as core[ed182bbac36ed604]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
  26:     0x7fd7a30d6985 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h37d86e7af57ec8cf
                               at /rustc/b381d3ab27f788f990551100c4425bb782d26d76/library/alloc/src/boxed.rs:2016:9
  27:     0x7fd7a30d6985 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h99a2218ed45ac1ce
                               at /rustc/b381d3ab27f788f990551100c4425bb782d26d76/library/alloc/src/boxed.rs:2016:9
  28:     0x7fd7a30d6985 - std::sys::pal::unix::thread::Thread::new::thread_start::h6344e9d30547345d
                               at /rustc/b381d3ab27f788f990551100c4425bb782d26d76/library/std/src/sys/pal/unix/thread.rs:108:17
  29:     0x7fd79ceaa9eb - <unknown>
  30:     0x7fd79cf2e7cc - <unknown>
  31:                0x0 - <unknown>

Metadata

Metadata

Assignees

Labels

C-bugCategory: This is a bug.E-needs-bisectionCall for participation: This issue needs bisection: https://github.com/rust-lang/cargo-bisect-rustcI-ICEIssue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️T-compilerRelevant to the compiler 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