Closed
Description
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>