Skip to content

Double panic causes infinite backtraces to be printed #139840

Not planned
@Sky9x

Description

@Sky9x
Contributor

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

Meta

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)

Backtrace

   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

Activity

added
needs-triageThis issue may need triage. Remove it if it has been sufficiently triaged.
on Apr 15, 2025
Sky9x

Sky9x commented on Apr 15, 2025

@Sky9x
Author
added
A-panicArea: Panicking machinery
regression-untriagedUntriaged performance or correctness regression.
I-prioritizeIssue: Indicates that prioritization has been requested for this issue.
on Apr 15, 2025
jieyouxu

jieyouxu commented on Apr 15, 2025

@jieyouxu
Member

You are constructing a new Bomb inside Bomp::drop, infinite recursion, not a bug.

removed
C-bugCategory: This is a bug.
I-prioritizeIssue: Indicates that prioritization has been requested for this issue.
regression-untriagedUntriaged performance or correctness regression.
needs-triageThis issue may need triage. Remove it if it has been sufficiently triaged.
A-panicArea: Panicking machinery
on Apr 15, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

      Development

      No branches or pull requests

        Participants

        @jieyouxu@rustbot@Sky9x

        Issue actions

          Double panic causes infinite backtraces to be printed · Issue #139840 · rust-lang/rust