Open
Description
Compiler encounters segfault when compiling the below code
Code
struct Wrapper<T>(T);
pub async fn f1() {
f2(Wrapper(())).await
}
pub async fn f2<T>(stream: T) {
Box::pin(f2(Wrapper(stream))).await
}
Meta
$ cargo version
cargo 1.86.0 (adf9b6ad1 2025-02-28)
$ cargo +nightly version
cargo 1.88.0-nightly (7918c7eb5 2025-04-27)
Error output
Stable
error: rustc interrupted by SIGSEGV, printing backtrace
/usr/local/rustup/toolchains/stable-aarch64-unknown-linux-gnu/lib/librustc_driver-d10e1ea80d090031.so(+0x2fa1b74)[0xffffaf891b74]
linux-vdso.so.1(__kernel_rt_sigreturn+0x0)[0xffffb09f17ac]
/usr/local/rustup/toolchains/stable-aarch64-unknown-linux-gnu/lib/librustc_driver-d10e1ea80d090031.so(_RNvNtNtCs1eHWH1cD26q_17rustc_codegen_ssa9debuginfo10type_names14push_item_name+0x26c)[0xffffade124c8]
/usr/local/rustup/toolchains/stable-aarch64-unknown-linux-gnu/lib/librustc_driver-d10e1ea80d090031.so(_RNvNtNtCs1eHWH1cD26q_17rustc_codegen_ssa9debuginfo10type_names14push_item_name+0x164)[0xffffade123c0]
/usr/local/rustup/toolchains/stable-aarch64-unknown-linux-gnu/lib/librustc_driver-d10e1ea80d090031.so(+0x151d7f8)[0xffffade0d7f8]
### cycle encountered after 5 frames with period 6
/usr/local/rustup/toolchains/stable-aarch64-unknown-linux-gnu/lib/librustc_driver-d10e1ea80d090031.so(+0x151cf78)[0xffffade0cf78]
/usr/local/rustup/toolchains/stable-aarch64-unknown-linux-gnu/lib/librustc_driver-d10e1ea80d090031.so(+0x151cf78)[0xffffade0cf78]
/usr/local/rustup/toolchains/stable-aarch64-unknown-linux-gnu/lib/librustc_driver-d10e1ea80d090031.so(+0x151cf78)[0xffffade0cf78]
/usr/local/rustup/toolchains/stable-aarch64-unknown-linux-gnu/lib/librustc_driver-d10e1ea80d090031.so(+0x151cf78)[0xffffade0cf78]
/usr/local/rustup/toolchains/stable-aarch64-unknown-linux-gnu/lib/librustc_driver-d10e1ea80d090031.so(+0x151cf78)[0xffffade0cf78]
/usr/local/rustup/toolchains/stable-aarch64-unknown-linux-gnu/lib/librustc_driver-d10e1ea80d090031.so(+0x151cf78)[0xffffade0cf78]
### recursed 41 times
/usr/local/rustup/toolchains/stable-aarch64-unknown-linux-gnu/lib/librustc_driver-d10e1ea80d090031.so(+0x151cf78)[0xffffade0cf78]
/usr/local/rustup/toolchains/stable-aarch64-unknown-linux-gnu/lib/librustc_driver-d10e1ea80d090031.so(+0x151cf78)[0xffffade0cf78]
/usr/local/rustup/toolchains/stable-aarch64-unknown-linux-gnu/lib/librustc_driver-d10e1ea80d090031.so(+0x151cf78)[0xffffade0cf78]
/usr/local/rustup/toolchains/stable-aarch64-unknown-linux-gnu/lib/librustc_driver-d10e1ea80d090031.so(+0x151cf78)[0xffffade0cf78]
/usr/local/rustup/toolchains/stable-aarch64-unknown-linux-gnu/lib/librustc_driver-d10e1ea80d090031.so(+0x151cf78)[0xffffade0cf78]
note: rustc unexpectedly overflowed its stack! this is a bug
note: maximum backtrace depth reached, frames may have been lost
note: we would appreciate a report at https://github.com/rust-lang/rust
help: you can increase rustc's stack size by setting RUST_MIN_STACK=16777216
note: backtrace dumped due to SIGSEGV! resuming signal
error: could not compile `segfault` (lib)
Caused by:
process didn't exit successfully: `/usr/local/rustup/toolchains/stable-aarch64-unknown-linux-gnu/bin/rustc --crate-name segfault --edition=2024 src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --diagnostic-width=310 --crate-type lib --emit=dep-info,metadata,link -C embed-bitcode=no -C debuginfo=2 --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values())' -C metadata=d1c27d02b862a57e -C extra-filename=-f2d1ad9e2f73cb97 --out-dir /workspaces/rust/segfault/target/debug/deps -C incremental=/workspaces/rust/segfault/target/debug/incremental -L dependency=/workspaces/rust/segfault/target/debug/deps` (signal: 11, SIGSEGV: invalid memory reference)
Nightly
error: rustc interrupted by SIGSEGV, printing backtrace
/usr/local/rustup/toolchains/nightly-aarch64-unknown-linux-gnu/lib/librustc_driver-121983e25d0fab07.so(+0x31b2310)[0xffffb5ef2310]
linux-vdso.so.1(__kernel_rt_sigreturn+0x0)[0xffffb714e7ac]
/usr/local/rustup/toolchains/nightly-aarch64-unknown-linux-gnu/lib/librustc_driver-121983e25d0fab07.so(_RNvNtNtCsiqNB9qq6D9S_17rustc_codegen_ssa9debuginfo10type_names14push_item_name+0x4)[0xffffb4543080]
/usr/local/rustup/toolchains/nightly-aarch64-unknown-linux-gnu/lib/librustc_driver-121983e25d0fab07.so(+0x17fe368)[0xffffb453e368]
### cycle encountered after 4 frames with period 5
/usr/local/rustup/toolchains/nightly-aarch64-unknown-linux-gnu/lib/librustc_driver-121983e25d0fab07.so(+0x17fd8f0)[0xffffb453d8f0]
/usr/local/rustup/toolchains/nightly-aarch64-unknown-linux-gnu/lib/librustc_driver-121983e25d0fab07.so(+0x17fd8f0)[0xffffb453d8f0]
/usr/local/rustup/toolchains/nightly-aarch64-unknown-linux-gnu/lib/librustc_driver-121983e25d0fab07.so(+0x17fd8f0)[0xffffb453d8f0]
/usr/local/rustup/toolchains/nightly-aarch64-unknown-linux-gnu/lib/librustc_driver-121983e25d0fab07.so(+0x17fd8f0)[0xffffb453d8f0]
/usr/local/rustup/toolchains/nightly-aarch64-unknown-linux-gnu/lib/librustc_driver-121983e25d0fab07.so(+0x17fd8f0)[0xffffb453d8f0]
### recursed 50 times
/usr/local/rustup/toolchains/nightly-aarch64-unknown-linux-gnu/lib/librustc_driver-121983e25d0fab07.so(+0x17fd8f0)[0xffffb453d8f0]
/usr/local/rustup/toolchains/nightly-aarch64-unknown-linux-gnu/lib/librustc_driver-121983e25d0fab07.so(+0x17fd8f0)[0xffffb453d8f0]
note: rustc unexpectedly overflowed its stack! this is a bug
note: maximum backtrace depth reached, frames may have been lost
note: we would appreciate a report at https://github.com/rust-lang/rust
help: you can increase rustc's stack size by setting RUST_MIN_STACK=16777216
error: could not compile `segfault` (lib)
Caused by:
process didn't exit successfully: `/usr/local/rustup/toolchains/nightly-aarch64-unknown-linux-gnu/bin/rustc --crate-name segfault --edition=2024 src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --diagnostic-width=310 --crate-type lib --emit=dep-info,metadata,link -C embed-bitcode=no -C debuginfo=2 --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values())' -C metadata=6efcc8920530f666 -C extra-filename=-ca85f3463d939f74 --out-dir /workspaces/rust/segfault/target/debug/deps -C incremental=/workspaces/rust/segfault/target/debug/incremental -L dependency=/workspaces/rust/segfault/target/debug/deps` (signal: 11, SIGSEGV: invalid memory reference)