We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
I tried this code (playground):
struct Bomb; impl Drop for Bomb { fn drop(&mut self) { let _bomb = Bomb; panic!() } } fn main() { drop(Bomb); }
I expected to see this happen: A double panic/panic in dtor causes the program to abort
Instead, this happened: The program never terminates and instead continues printing so many backtraces
rustc --version --verbose:
rustc --version --verbose
rustc 1.88.0-nightly (092a284ba 2025-04-13) binary: rustc commit-hash: 092a284ba0421695f2032c947765429fd7095796 commit-date: 2025-04-13 host: x86_64-unknown-linux-gnu release: 1.88.0-nightly LLVM version: 20.1.2
Some limited testing shows this seems to have regressed in 1.71. (Bisected to #110975)
Compiling playground v0.0.1 (/playground) warning: function cannot return without recursing --> src/main.rs:4:5 | 4 | fn drop(&mut self) { | ^^^^^^^^^^^^^^^^^^ cannot return without recursing ... 7 | } | - recursive call site | = help: a `loop` may express intention better if this is on purpose = note: `#[warn(unconditional_recursion)]` on by default warning: `playground` (bin "playground") generated 1 warning Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.61s Running `target/debug/playground` thread 'main' panicked at src/main.rs:6:9: explicit panic note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace thread 'main' panicked at src/main.rs:6:9: explicit panic stack backtrace: 0: 0x5baf80f05950 - std::backtrace_rs::backtrace::libunwind::trace::h2b8934d68a0c74cb at /rustc/05f9846f893b09a1be1fc8560e33fc3c815cfecb/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9 1: 0x5baf80f05950 - std::backtrace_rs::backtrace::trace_unsynchronized::h72d137991fa6eab8 at /rustc/05f9846f893b09a1be1fc8560e33fc3c815cfecb/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14 2: 0x5baf80f05950 - std::sys::backtrace::_print_fmt::h3e831e32e6da920b at /rustc/05f9846f893b09a1be1fc8560e33fc3c815cfecb/library/std/src/sys/backtrace.rs:66:9 3: 0x5baf80f05950 - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::h6d42cc84fc840290 at /rustc/05f9846f893b09a1be1fc8560e33fc3c815cfecb/library/std/src/sys/backtrace.rs:39:26 4: 0x5baf80f21dd3 - core::fmt::rt::Argument::fmt::h7239af9e2199f2a8 at /rustc/05f9846f893b09a1be1fc8560e33fc3c815cfecb/library/core/src/fmt/rt.rs:177:76 5: 0x5baf80f21dd3 - core::fmt::write::h5af61a909e3ec64d at /rustc/05f9846f893b09a1be1fc8560e33fc3c815cfecb/library/core/src/fmt/mod.rs:1449:21 6: 0x5baf80f03433 - std::io::Write::write_fmt::h5a7b54aa6e4a315d at /rustc/05f9846f893b09a1be1fc8560e33fc3c815cfecb/library/std/src/io/mod.rs:1890:15 7: 0x5baf80f057a2 - std::sys::backtrace::BacktraceLock::print::h555579e7396c26ac at /rustc/05f9846f893b09a1be1fc8560e33fc3c815cfecb/library/std/src/sys/backtrace.rs:42:9 8: 0x5baf80f066ef - std::panicking::default_hook::{{closure}}::h9128866118196224 at /rustc/05f9846f893b09a1be1fc8560e33fc3c815cfecb/library/std/src/panicking.rs:298:22 9: 0x5baf80f0655a - std::panicking::default_hook::h52e9e7314e0255f6 at /rustc/05f9846f893b09a1be1fc8560e33fc3c815cfecb/library/std/src/panicking.rs:325:9 10: 0x5baf80f06fa2 - std::panicking::rust_panic_with_hook::h541791bcc774ef34 at /rustc/05f9846f893b09a1be1fc8560e33fc3c815cfecb/library/std/src/panicking.rs:831:13 11: 0x5baf80f06e3a - std::panicking::begin_panic_handler::{{closure}}::h6479a2f0137c7d19 at /rustc/05f9846f893b09a1be1fc8560e33fc3c815cfecb/library/std/src/panicking.rs:704:13 12: 0x5baf80f05e59 - std::sys::backtrace::__rust_end_short_backtrace::ha04e7c0fc61ded91 at /rustc/05f9846f893b09a1be1fc8560e33fc3c815cfecb/library/std/src/sys/backtrace.rs:168:18 13: 0x5baf80f06acd - rust_begin_unwind at /rustc/05f9846f893b09a1be1fc8560e33fc3c815cfecb/library/std/src/panicking.rs:695:5 14: 0x5baf80ee5fa0 - core::panicking::panic_fmt::h5764ee7030b7a73d at /rustc/05f9846f893b09a1be1fc8560e33fc3c815cfecb/library/core/src/panicking.rs:75:14 15: 0x5baf80ee6126 - core::panicking::panic_display::hc49e4276c2b5fe2c at /rustc/05f9846f893b09a1be1fc8560e33fc3c815cfecb/library/core/src/panicking.rs:261:5 16: 0x5baf80ee6126 - core::panicking::panic_explicit::hb520e9b3eed45d82 at /rustc/05f9846f893b09a1be1fc8560e33fc3c815cfecb/library/core/src/panicking.rs:234:5 17: 0x5baf80ee67da - <playground::Bomb as core::ops::drop::Drop>::drop::panic_cold_explicit::hdf5900c20facc15e at /playground/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/panic.rs:88:13 18: 0x5baf80ee6785 - <playground::Bomb as core::ops::drop::Drop>::drop::h79235d0825dee57b at /playground/src/main.rs:6:9 19: 0x5baf80ee675a - core::ptr::drop_in_place<playground::Bomb>::hc17a236dddede99a at /playground/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ptr/mod.rs:523:1 20: 0x5baf80ee6791 - <playground::Bomb as core::ops::drop::Drop>::drop::h79235d0825dee57b at /playground/src/main.rs:7:5 21: 0x5baf80ee675a - core::ptr::drop_in_place<playground::Bomb>::hc17a236dddede99a at /playground/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ptr/mod.rs:523:1 22: 0x5baf80ee66db - core::mem::drop::h0191358adb24b9b7 at /playground/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/mem/mod.rs:940:24 23: 0x5baf80ee67c6 - playground::main::hd7205f2f49067222 at /playground/src/main.rs:11:5 24: 0x5baf80ee674b - core::ops::function::FnOnce::call_once::hcf0c3ba9ca2afb63 at /playground/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ops/function.rs:250:5 25: 0x5baf80ee66be - std::sys::backtrace::__rust_begin_short_backtrace::h59c34d6fdd3ba2e1 at /playground/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sys/backtrace.rs:152:18 26: 0x5baf80ee6691 - std::rt::lang_start::{{closure}}::hccdc22ff68b8305b at /playground/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/rt.rs:199:18 27: 0x5baf80f01500 - core::ops::function::impls::<impl core::ops::function::FnOnce<A> for &F>::call_once::h11180d46f4bd77b0 at /rustc/05f9846f893b09a1be1fc8560e33fc3c815cfecb/library/core/src/ops/function.rs:284:13 28: 0x5baf80f01500 - std::panicking::try::do_call::hd4e634b5516dff98 at /rustc/05f9846f893b09a1be1fc8560e33fc3c815cfecb/library/std/src/panicking.rs:587:40 29: 0x5baf80f01500 - std::panicking::try::hb26f372c4276d7b4 at /rustc/05f9846f893b09a1be1fc8560e33fc3c815cfecb/library/std/src/panicking.rs:550:19 30: 0x5baf80f01500 - std::panic::catch_unwind::hcff84ccd1cc2f0a5 at /rustc/05f9846f893b09a1be1fc8560e33fc3c815cfecb/library/std/src/panic.rs:358:14 31: 0x5baf80f01500 - std::rt::lang_start_internal::{{closure}}::h7f5cb21b2420f132 at /rustc/05f9846f893b09a1be1fc8560e33fc3c815cfecb/library/std/src/rt.rs:168:24 32: 0x5baf80f01500 - std::panicking::try::do_call::he996326bc7b05062 at /rustc/05f9846f893b09a1be1fc8560e33fc3c815cfecb/library/std/src/panicking.rs:587:40 33: 0x5baf80f01500 - std::panicking::try::h17585bee78ecbda5 at /rustc/05f9846f893b09a1be1fc8560e33fc3c815cfecb/library/std/src/panicking.rs:550:19 34: 0x5baf80f01500 - std::panic::catch_unwind::h366ac34033c6e5d6 at /rustc/05f9846f893b09a1be1fc8560e33fc3c815cfecb/library/std/src/panic.rs:358:14 35: 0x5baf80f01500 - std::rt::lang_start_internal::h15895544e2012228 at /rustc/05f9846f893b09a1be1fc8560e33fc3c815cfecb/library/std/src/rt.rs:164:5 36: 0x5baf80ee6677 - std::rt::lang_start::h7681cd446d5ddf5f at /playground/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/rt.rs:198:5 37: 0x5baf80ee67fe - main 38: 0x760a6c7c51ca - <unknown> 39: 0x760a6c7c528b - __libc_start_main 40: 0x5baf80ee6575 - _start 41: 0x0 - <unknown> thread 'main' panicked at src/main.rs:6:9: explicit panic stack backtrace: 0: 0x5baf80f05950 - std::backtrace_rs::backtrace::libunwind::trace::h2b8934d68a0c74cb at /rustc/05f9846f893b09a1be1fc8560e33fc3c815cfecb/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9 1: 0x5baf80f05950 - std::backtrace_rs::backtrace::trace_unsynchronized::h72d137991fa6eab8 at /rustc/05f9846f893b09a1be1fc8560e33fc3c815cfecb/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14 2: 0x5baf80f05950 - std::sys::backtrace::_print_fmt::h3e831e32e6da920b at /rustc/05f9846f893b09a1be1fc8560e33fc3c815cfecb/library/std/src/sys/backtrace.rs:66:9 3: 0x5baf80f05950 - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::h6d42cc84fc840290 at /rustc/05f9846f893b09a1be1fc8560e33fc3c815cfecb/library/std/src/sys/backtrace.rs:39:26 4: 0x5baf80f21dd3 - core::fmt::rt::Argument::fmt::h7239af9e2199f2a8 at /rustc/05f9846f893b09a1be1fc8560e33fc3c815cfecb/library/core/src/fmt/rt.rs:177:76 5: 0x5baf80f21dd3 - core::fmt::write::h5af61a909e3ec64d at /rustc/05f9846f893b09a1be1fc8560e33fc3c815cfecb/library/core/src/fmt/mod.rs:1449:21 6: 0x5baf80f03433 - std::io::Write::write_fmt::h5a7b54aa6e4a315d at /rustc/05f9846f893b09a1be1fc8560e33fc3c815cfecb/library/std/src/io/mod.rs:1890:15 7: 0x5baf80f057a2 - std::sys::backtrace::BacktraceLock::print::h555579e7396c26ac at /rustc/05f9846f893b09a1be1fc8560e33fc3c815cfecb/library/std/src/sys/backtrace.rs:42:9 8: 0x5baf80f066ef - std::panicking::default_hook::{{closure}}::h9128866118196224 at /rustc/05f9846f893b09a1be1fc8560e33fc3c815cfecb/library/std/src/panicking.rs:298:22 9: 0x5baf80f0655a - std::panicking::default_hook::h52e9e7314e0255f6 at /rustc/05f9846f893b09a1be1fc8560e33fc3c815cfecb/library/std/src/panicking.rs:325:9 10: 0x5baf80f06fa2 - std::panicking::rust_panic_with_hook::h541791bcc774ef34 at /rustc/05f9846f893b09a1be1fc8560e33fc3c815cfecb/library/std/src/panicking.rs:831:13 11: 0x5baf80f06e3a - std::panicking::begin_panic_handler::{{closure}}::h6479a2f0137c7d19 at /rustc/05f9846f893b09a1be1fc8560e33fc3c815cfecb/library/std/src/panicking.rs:704:13 12: 0x5baf80f05e59 - std::sys::backtrace::__rust_end_short_backtrace::ha04e7c0fc61ded91 at /rustc/05f9846f893b09a1be1fc8560e33fc3c815cfecb/library/std/src/sys/backtrace.rs:168:18 13: 0x5baf80f06acd - rust_begin_unwind at /rustc/05f9846f893b09a1be1fc8560e33fc3c815cfecb/library/std/src/panicking.rs:695:5 14: 0x5baf80ee5fa0 - core::panicking::panic_fmt::h5764ee7030b7a73d at /rustc/05f9846f893b09a1be1fc8560e33fc3c815cfecb/library/core/src/panicking.rs:75:14 15: 0x5baf80ee6126 - core::panicking::panic_display::hc49e4276c2b5fe2c at /rustc/05f9846f893b09a1be1fc8560e33fc3c815cfecb/library/core/src/panicking.rs:261:5 16: 0x5baf80ee6126 - core::panicking::panic_explicit::hb520e9b3eed45d82 at /rustc/05f9846f893b09a1be1fc8560e33fc3c815cfecb/library/core/src/panicking.rs:234:5 17: 0x5baf80ee67da - <playground::Bomb as core::ops::drop::Drop>::drop::panic_cold_explicit::hdf5900c20facc15e at /playground/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/panic.rs:88:13 18: 0x5baf80ee6785 - <playground::Bomb as core::ops::drop::Drop>::drop::h79235d0825dee57b at /playground/src/main.rs:6:9 19: 0x5baf80ee675a - core::ptr::drop_in_place<playground::Bomb>::hc17a236dddede99a at /playground/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ptr/mod.rs:523:1 20: 0x5baf80ee6791 - <playground::Bomb as core::ops::drop::Drop>::drop::h79235d0825dee57b at /playground/src/main.rs:7:5 21: 0x5baf80ee675a - core::ptr::drop_in_place<playground::Bomb>::hc17a236dddede99a at /playground/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ptr/mod.rs:523:1 22: 0x5baf80ee6791 - <playground::Bomb as core::ops::drop::Drop>::drop::h79235d0825dee57b at /playground/src/main.rs:7:5 23: 0x5baf80ee675a - core::ptr::drop_in_place<playground::Bomb>::hc17a236dddede99a at /playground/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ptr/mod.rs:523:1 24: 0x5baf80ee66db - core::mem::drop::h0191358adb24b9b7 at /playground/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/mem/mod.rs:940:24 25: 0x5baf80ee67c6 - playground::main::hd7205f2f49067222 at /playground/src/main.rs:11:5 26: 0x5baf80ee674b - core::ops::function::FnOnce::call_once::hcf0c3ba9ca2afb63 at /playground/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ops/function.rs:250:5 27: 0x5baf80ee66be - std::sys::backtrace::__rust_begin_short_backtrace::h59c34d6fdd3ba2e1 at /playground/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sys/backtrace.rs:152:18 28: 0x5baf80ee6691 - std::rt::lang_start::{{closure}}::hccdc22ff68b8305b at /playground/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/rt.rs:199:18 29: 0x5baf80f01500 - core::ops::function::impls::<impl core::ops::function::FnOnce<A> for &F>::call_once::h11180d46f4bd77b0 at /rustc/05f9846f893b09a1be1fc8560e33fc3c815cfecb/library/core/src/ops/function.rs:284:13 30: 0x5baf80f01500 - std::panicking::try::do_call::hd4e634b5516dff98 at /rustc/05f9846f893b09a1be1fc8560e33fc3c815cfecb/library/std/src/panicking.rs:587:40 31: 0x5baf80f01500 - std::panicking::try::hb26f372c4276d7b4 at /rustc/05f9846f893b09a1be1fc8560e33fc3c815cfecb/library/std/src/panicking.rs:550:19 32: 0x5baf80f01500 - std::panic::catch_unwind::hcff84ccd1cc2f0a5 at /rustc/05f9846f893b09a1be1fc8560e33fc3c815cfecb/library/std/src/panic.rs:358:14 33: 0x5baf80f01500 - std::rt::lang_start_internal::{{closure}}::h7f5cb21b2420f132 at /rustc/05f9846f893b09a1be1fc8560e33fc3c815cfecb/library/std/src/rt.rs:168:24 34: 0x5baf80f01500 - std::panicking::try::do_call::he996326bc7b05062 at /rustc/05f9846f893b09a1be1fc8560e33fc3c815cfecb/library/std/src/panicking.rs:587:40 35: 0x5baf80f01500 - std::panicking::try::h17585bee78ecbda5 at /rustc/05f9846f893b09a1be1fc8560e33fc3c815cfecb/library/std/src/panicking.rs:550:19 36: 0x5baf80f01500 - std::panic::catch_unwind::h366ac34033c6e5d6 at /rustc/05f9846f893b09a1be1fc8560e33fc3c815cfecb/library/std/src/panic.rs:358:14 37: 0x5baf80f01500 - std::rt::lang_start_internal::h15895544e2012228 at /rustc/05f9846f893b09a1be1fc8560e33fc3c815cfecb/library/std/src/rt.rs:164:5 38: 0x5baf80ee6677 - std::rt::lang_start::h7681cd446d5ddf5f at /playground/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/rt.rs:198:5 39: 0x5baf80ee67fe - main 40: 0x760a6c7c51ca - <unknown> 41: 0x760a6c7c528b - __libc_start_main 42: 0x5baf80ee6575 - _start 43: 0x0 - <unknown> thread 'main' panicked at src/main.rs:6:9: explicit panic stack backtrace: 0: 0x5baf80f05950 - std::backtrace_rs::backtrace::libunwind::trace::h2b8934d68a0c74cb at /rustc/05f9846f893b09a1be1fc8560e33fc3c815cfecb/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9 1: 0x5baf80f05950 - std::backtrace_rs::backtrace::trace_unsynchronized::h72d137991fa6eab8 at /rustc/05f9846f893b09a1be1fc8560e33fc3c815cfecb/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14 2: 0x5baf80f05950 - std::sys::backtrace::_print_fmt::h3e831e32e6da920b at /rustc/05f9846f893b09a1be1fc8560e33fc3c815cfecb/library/std/src/sys/backtrace.rs:66:9 3: 0x5baf80f05950 - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::h6d42cc84fc840290 at /rustc/05f9846f893b09a1be1fc8560e33fc3c815cfecb/library/std/src/sys/backtrace.rs:39:26 4: 0x5baf80f21dd3 - core::fmt::rt::Argument::fmt::h7239af9e2199f2a8 at /rustc/05f9846f893b09a1be1fc8560e33fc3c815cfecb/library/core/src/fmt/rt.rs:177:76 5: 0x5baf80f21dd3 - core::fmt::write::h5af61a909e3ec64d at /rustc/05f9846f893b09a1be1fc8560e33fc3c815cfecb/library/core/src/fmt/mod.rs:1449:21 6: 0x5baf80f03433 - std::io::Write::write_fmt::h5a7b54aa6e4a315d at /rustc/05f9846f893b09a1be1fc8560e33fc3c815cfecb/library/std/src/io/mod.rs:1890:15 7: 0x5baf80f057a2 - std::sys::backtrace::BacktraceLock::print::h555579e7396c26ac at /rustc/05f9846f893b09a1be1fc8560e33fc3c815cfecb/library/std/src/sys/backtrace.rs:42:9 8: 0x5baf80f066ef - std::panicking::default_hook::{{closure}}::h9128866118196224 at /rustc/05f9846f893b09a1be1fc8560e33fc3c815cfecb/library/std/src/panicking.rs:298:22 9: 0x5baf80f0655a - std::panicking::default_hook::h52e9e7314e0255f6 at /rustc/05f9846f893b09a1be1fc8560e33fc3c815cfecb/library/std/src/panicking.rs:325:9 10: 0x5baf80f06fa2 - std::panicking::rust_panic_with_hook::h541791bcc774ef34 at /rustc/05f9846f893b09a1be1fc8560e33fc3c815cfecb/library/std/src/panicking.rs:831:13 11: 0x5baf80f06e3a - std::panicking::begin_panic_handler::{{closure}}::h6479a2f0137c7d19 at /rustc/05f9846f893b09a1be1fc8560e33fc3c815cfecb/library/std/src/panicking.rs:704:13 12: 0x5baf80f05e59 - std::sys::backtrace::__rust_end_short_backtrace::ha04e7c0fc61ded91 at /rustc/05f9846f893b09a1be1fc8560e33fc3c815cfecb/library/std/src/sys/backtrace.rs:168:18 13: 0x5baf80f06acd - rust_begin_unwind at /rustc/05f9846f893b09a1be1fc8560e33fc3c815cfecb/library/std/src/panicking.rs:695:5 14: 0x5baf80ee5fa0 - core::panicking::panic_fmt::h5764ee7030b7a73d at /rustc/05f9846f893b09a1be1fc8560e33fc3c815cfecb/library/core/src/panicking.rs:75:14 15: 0x5baf80ee6126 - core::panicking::panic_display::hc49e4276c2b5fe2c at /rustc/05f9846f893b09a1be1fc8560e33fc3c815cfecb/library/core/src/panicking.rs:261:5 16: 0x5baf80ee6126 - core::panicking::panic_explicit::hb520e9b3eed45d82 at /rustc/05f9846f893b09a1be1fc8560e33fc3c815cfecb/library/core/src/panicking.rs:234:5 17: 0x5baf80ee67da - <playground::Bomb as core::ops::drop::Drop>::drop::panic_cold_explicit::hdf5900c20facc15e at /playground/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/panic.rs:88:13 18: 0x5baf80ee6785 - <playground::Bomb as core::ops::drop::Drop>::drop::h79235d0825dee57b at /playground/src/main.rs:6:9 19: 0x5baf80ee675a - core::ptr::drop_in_place<playground::Bomb>::hc17a236dddede99a at /playground/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ptr/mod.rs:523:1 20: 0x5baf80ee6791 - <playground::Bomb as core::ops::drop::Drop>::drop::h79235d0825dee57b at /playground/src/main.rs:7:5 21: 0x5baf80ee675a - core::ptr::drop_in_place<playground::Bomb>::hc17a236dddede99a at /playground/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ptr/mod.rs:523:1 22: 0x5baf80ee6791 - <playground::Bomb as core::ops::drop::Drop>::drop::h79235d0825dee57b at /playground/src/main.rs:7:5 23: 0x5baf80ee675a - core::ptr::drop_in_place<playground::Bomb>::hc17a236dddede99a at /playground/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ptr/mod.rs:523:1 24: 0x5baf80ee6791 - <playground::Bomb as core::ops::drop::Drop>::drop::h79235d0825dee57b at /playground/src/main.rs:7:5 25: 0x5baf80ee675a - core::ptr::drop_in_place<playground::Bomb>::hc17a236dddede99a at /playground/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ptr/mod.rs:523:1 26: 0x5baf80ee66db - core::mem::drop::h0191358adb24b9b7 at /playground/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/mem/mod.rs:940:24 27: 0x5baf80ee67c6 - playground::main::hd7205f2f49067222 at /playground/src/main.rs:11:5 28: 0x5baf80ee674b - core::ops::function::FnOnce::call_once::hcf0c3ba9ca2afb63 at /playground/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ops/function.rs:250:5 29: 0x5baf80ee66be - std::sys::backtrace::__rust_begin_short_backtrace::h59c34d6fdd3ba2e1 at /playground/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sys/backtrace.rs:152:18 30: 0x5baf80ee6691 - std::rt::lang_start::{{closure}}::hccdc22ff68b8305b at /playground/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/rt.rs:199:18 31: 0x5baf80f01500 - core::ops::function::impls::<impl core::ops::function::FnOnce<A> for &F>::call_once::h11180d46f4bd77b0 at /rustc/05f9846f893b09a1be1fc8560e33fc3c815cfecb/library/core/src/ops/function.rs:284:13 32: 0x5baf80f01500 - std::panicking::try::do_call::hd4e634b5516dff98 at /rustc/05f9846f893b09a1be1fc8560e33fc3c815cfecb/library/std/src/panicking.rs:587:40 33: 0x5baf80f01500 - std::panicking::try::hb26f372c4276d7b4 at /rustc/05f9846f893b09a1be1fc8560e33fc3c815cfecb/library/std/src/panicking.rs:550:19 34: 0x5baf80f01500 - std::panic::catch_unwind::hcff84ccd1cc2f0a5 at /rustc/05f9846f893b09a1be1fc8560e33fc3c815cfecb/library/std/src/panic.rs:358:14 35: 0x5baf80f01500 - std::rt::lang_start_internal::{{closure}}::h7f5cb21b2420f132 at /rustc/05f9846f893b09a1be1fc8560e33fc3c815cfecb/library/std/src/rt.rs:168:24 36: 0x5baf80f01500 - std::panicking::try::do_call::he996326bc7b05062 at /rustc/05f9846f893b09a1be1fc8560e33fc3c815cfecb/library/std/src/panicking.rs:587:40 37: 0x5baf80f01500 - std::panicking::try::h17585bee78ecbda5 at /rustc/05f9846f893b09a1be1fc8560e33fc3c815cfecb/library/std/src/panicking.rs:550:19 38: 0x5baf80f01500 - std::panic::catch_unwind::h366ac34033c6e5d6 at /rustc/05f9846f893b09a1be1fc8560e33fc3c815cfecb/library/std/src/panic.rs:358:14 39: 0x5baf80f01500 - std::rt::lang_start_internal::h15895544e2012228 at /rustc/05f9846f893b09a1be1fc8560e33fc3c815cfecb/library/std/src/rt.rs:164:5 40: 0x5baf80ee6677 - std::rt::lang_start::h7681cd446d5ddf5f at /playground/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/rt.rs:198:5 41: 0x5baf80ee67fe - main 42: 0x760a6c7c51ca - <unknown> 43: 0x760a6c7c528b - __libc_start_main 44: 0x5baf80ee6575 - _start 45: 0x0 - <unknown>
and on and on and on and on... also it keeps getting longer
The text was updated successfully, but these errors were encountered:
You are constructing a new Bomb inside Bomp::drop, infinite recursion, not a bug.
Bomb
Bomp::drop
Sorry, something went wrong.
No branches or pull requests
I tried this code (playground):
I expected to see this happen: A double panic/panic in dtor causes the program to abort
Instead, this happened: The program never terminates and instead continues printing so many backtraces
Meta
rustc --version --verbose
:Some limited testing shows this seems to have regressed in 1.71. (Bisected to #110975)
Backtrace
and on and on and on and on...
also it keeps getting longer
The text was updated successfully, but these errors were encountered: