Segfault in 1.47.0 and newer stable when building firecracker
on aarch64
#79789
Labels
A-LLVM
Area: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues.
C-bug
Category: This is a bug.
E-needs-mcve
Call for participation: This issue has a repro, but needs a Minimal Complete and Verifiable Example
I-crash
Issue: The compiler crashes (SIGSEGV, SIGABRT, etc). Use I-ICE instead when the compiler panics.
O-Arm
Target: 32-bit Arm processors (armv6, armv7, thumb...), including 64-bit Arm in AArch32 state
P-high
High priority
regression-from-stable-to-stable
Performance or correctness regression from one stable version to another.
T-compiler
Relevant to the compiler team, which will review and decide on the PR/issue.
Hi!
I'm seeing an
aarch64
compilation regression coming from1.46.0
to newer (1.47.0
,1.48.0
).When building the
mmds
crate of the firecracker project,rustc
fails withSIGSEGV
.Code
firecracker/src/mmds# cargo build --target aarch64-unknown-linux-gnu Compiling mmds v0.1.0 (/firecracker/src/mmds) error: could not compile `mmds` Caused by: process didn't exit successfully: `rustc --crate-name mmds --edition=2018 src/mmds/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi --crate-type lib --emit=dep-info,metadata,link -C panic=abort -C embed-bitcode=no -C debuginfo=2 -C metadata=a83966860f21f0c3 -C extra-filename=-a83966860f21f0c3 --out-dir /firecracker/build/cargo_target/aarch64-unknown-linux-gnu/debug/deps --target aarch64-unknown-linux-gnu -C incremental=/firecracker/build/cargo_target/aarch64-unknown-linux-gnu/debug/incremental -L dependency=/firecracker/build/cargo_target/aarch64-unknown-linux-gnu/debug/deps -L dependency=/firecracker/build/cargo_target/debug/deps --extern dumbo=/firecracker/build/cargo_target/aarch64-unknown-linux-gnu/debug/deps/libdumbo-ea66873127194d79.rmeta --extern lazy_static=/firecracker/build/cargo_target/aarch64-unknown-linux-gnu/debug/deps/liblazy_static-0925de59eeb12781.rmeta --extern logger=/firecracker/build/cargo_target/aarch64-unknown-linux-gnu/debug/deps/liblogger-bddc603ca5b94da7.rmeta --extern micro_http=/firecracker/build/cargo_target/aarch64-unknown-linux-gnu/debug/deps/libmicro_http-7d059f1cd22f8e20.rmeta --extern serde_json=/firecracker/build/cargo_target/aarch64-unknown-linux-gnu/debug/deps/libserde_json-ce294f118ad2c211.rmeta --extern snapshot=/firecracker/build/cargo_target/aarch64-unknown-linux-gnu/debug/deps/libsnapshot-74eb108aec90b439.rmeta --extern utils=/firecracker/build/cargo_target/aarch64-unknown-linux-gnu/debug/deps/libutils-745e285d9d355f39.rmeta --extern versionize=/firecracker/build/cargo_target/aarch64-unknown-linux-gnu/debug/deps/libversionize-ef8bd22d261d724f.rmeta --extern versionize_derive=/firecracker/build/cargo_target/debug/deps/libversionize_derive-997f2c850e518d2b.so -C link-arg=-lgcc -C link-arg=-lfdt` (signal: 11, SIGSEGV: invalid memory reference)
I will try to create an MVE for it when I get the chance.
Meta
Works fine:
Crashes:
Crashes
Works fine:
Same behavior with both
aarch64-unknown-linux-gnu
andaarch64-unknown-linux-musl
targets.Reproduces only on
debug
, building--release
works on all of the aboverustc
versions.Error output
GDB Backtrace
My system info:
The text was updated successfully, but these errors were encountered: