Skip to content

Instantly share code, notes, and snippets.

@koivunej
Created January 5, 2021 09:39
Show Gist options
  • Save koivunej/39d3912dcac1d74deb36ed5d6c5ea54d to your computer and use it in GitHub Desktop.
Save koivunej/39d3912dcac1d74deb36ed5d6c5ea54d to your computer and use it in GitHub Desktop.
tokio issue 2535 valgrind --leak-check=full --show-leak-kinds=all --num-callers=500
==108376== Memcheck, a memory error detector
==108376== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al.
==108376== Using Valgrind-3.17.0.GIT and LibVEX; rerun with -h for copyright info
==108376== Command: target/debug/tokio-issue-2535
==108376==
I'm alive!
==108376==
==108376== HEAP SUMMARY:
==108376== in use at exit: 6,284 bytes in 47 blocks
==108376== total heap usage: 129 allocs, 82 frees, 39,877 bytes allocated
==108376==
==108376== 32 bytes in 1 blocks are still reachable in loss record 1 of 15
==108376== at 0x484D93F: malloc (vg_replace_malloc.c:307)
==108376== by 0x1C21AB: alloc::alloc::alloc (alloc.rs:84)
==108376== by 0x1C2269: alloc::alloc::Global::alloc_impl (alloc.rs:164)
==108376== by 0x1C46E9: <alloc::alloc::Global as core::alloc::AllocRef>::alloc (alloc.rs:224)
==108376== by 0x1C210C: alloc::alloc::exchange_malloc (alloc.rs:314)
==108376== by 0x1F45F4: new<tokio::sync::mpsc::block::Block<()>> (boxed.rs:178)
==108376== by 0x1F45F4: tokio::sync::mpsc::list::channel (list.rs:35)
==108376== by 0x1F3DF4: tokio::sync::mpsc::chan::channel (chan.rs:105)
==108376== by 0x22E3FF: tokio::sync::mpsc::bounded::channel (bounded.rs:88)
==108376== by 0x20ACF0: tokio::signal::unix::signal_with_handle (unix.rs:365)
==108376== by 0x1D205B: tokio::process::imp::driver::Driver::new (driver.rs:59)
==108376== by 0x1F2BFA: tokio::runtime::driver::create_process_driver (driver.rs:84)
==108376== by 0x1F24BB: tokio::runtime::driver::create_io_stack (driver.rs:26)
==108376== by 0x1F1B8D: tokio::runtime::driver::Driver::new (driver.rs:169)
==108376== by 0x22DB3E: tokio::runtime::builder::Builder::build_threaded_runtime (builder.rs:501)
==108376== by 0x22D3B6: tokio::runtime::builder::Builder::build (builder.rs:376)
==108376== by 0x19D27F: tokio_issue_2535::main (main.rs:4)
==108376== by 0x1A039A: core::ops::function::FnOnce::call_once (function.rs:227)
==108376== by 0x19729D: std::sys_common::backtrace::__rust_begin_short_backtrace (backtrace.rs:125)
==108376== by 0x197B00: std::rt::lang_start::{{closure}} (rt.rs:66)
==108376== by 0x29DD36: call_once<(),Fn<()>> (function.rs:259)
==108376== by 0x29DD36: do_call<&Fn<()>,i32> (panicking.rs:381)
==108376== by 0x29DD36: try<i32,&Fn<()>> (panicking.rs:345)
==108376== by 0x29DD36: catch_unwind<&Fn<()>,i32> (panic.rs:396)
==108376== by 0x29DD36: std::rt::lang_start_internal (rt.rs:51)
==108376== by 0x197AD6: std::rt::lang_start (rt.rs:65)
==108376== by 0x19D3F9: main (in .../issue-repros/tokio-issue-2535/target/debug/tokio-issue-2535)
==108376==
==108376== 32 bytes in 1 blocks are still reachable in loss record 2 of 15
==108376== at 0x484D93F: malloc (vg_replace_malloc.c:307)
==108376== by 0x2683AB: alloc::alloc::alloc (alloc.rs:84)
==108376== by 0x268469: alloc::alloc::Global::alloc_impl (alloc.rs:164)
==108376== by 0x268AD9: <alloc::alloc::Global as core::alloc::AllocRef>::alloc (alloc.rs:224)
==108376== by 0x268D6F: alloc::raw_vec::finish_grow (raw_vec.rs:495)
==108376== by 0x1FB376: alloc::raw_vec::RawVec<T,A>::grow_amortized (raw_vec.rs:428)
==108376== by 0x1F83E3: alloc::raw_vec::RawVec<T,A>::try_reserve (raw_vec.rs:317)
==108376== by 0x1FDC72: alloc::raw_vec::RawVec<T,A>::reserve (raw_vec.rs:311)
==108376== by 0x1D91B8: alloc::vec::Vec<T>::reserve (vec.rs:505)
==108376== by 0x1D810A: alloc::vec::Vec<T>::push (vec.rs:1210)
==108376== by 0x1F36CA: tokio::signal::registry::Registry<S>::register_listener (registry.rs:71)
==108376== by 0x1F3B8D: tokio::signal::registry::Globals::register_listener (registry.rs:141)
==108376== by 0x20ADD9: tokio::signal::unix::signal_with_handle (unix.rs:366)
==108376== by 0x1D205B: tokio::process::imp::driver::Driver::new (driver.rs:59)
==108376== by 0x1F2BFA: tokio::runtime::driver::create_process_driver (driver.rs:84)
==108376== by 0x1F24BB: tokio::runtime::driver::create_io_stack (driver.rs:26)
==108376== by 0x1F1B8D: tokio::runtime::driver::Driver::new (driver.rs:169)
==108376== by 0x22DB3E: tokio::runtime::builder::Builder::build_threaded_runtime (builder.rs:501)
==108376== by 0x22D3B6: tokio::runtime::builder::Builder::build (builder.rs:376)
==108376== by 0x19D27F: tokio_issue_2535::main (main.rs:4)
==108376== by 0x1A039A: core::ops::function::FnOnce::call_once (function.rs:227)
==108376== by 0x19729D: std::sys_common::backtrace::__rust_begin_short_backtrace (backtrace.rs:125)
==108376== by 0x197B00: std::rt::lang_start::{{closure}} (rt.rs:66)
==108376== by 0x29DD36: call_once<(),Fn<()>> (function.rs:259)
==108376== by 0x29DD36: do_call<&Fn<()>,i32> (panicking.rs:381)
==108376== by 0x29DD36: try<i32,&Fn<()>> (panicking.rs:345)
==108376== by 0x29DD36: catch_unwind<&Fn<()>,i32> (panic.rs:396)
==108376== by 0x29DD36: std::rt::lang_start_internal (rt.rs:51)
==108376== by 0x197AD6: std::rt::lang_start (rt.rs:65)
==108376== by 0x19D3F9: main (in .../issue-repros/tokio-issue-2535/target/debug/tokio-issue-2535)
==108376==
==108376== 32 bytes in 1 blocks are still reachable in loss record 3 of 15
==108376== at 0x484D93F: malloc (vg_replace_malloc.c:307)
==108376== by 0x27FC3B: alloc::alloc::alloc (alloc.rs:84)
==108376== by 0x27FCF9: alloc::alloc::Global::alloc_impl (alloc.rs:164)
==108376== by 0x280869: <alloc::alloc::Global as core::alloc::AllocRef>::alloc (alloc.rs:224)
==108376== by 0x27FB9C: alloc::alloc::exchange_malloc (alloc.rs:314)
==108376== by 0x27BBF9: new<parking_lot_core::parking_lot::HashTable> (boxed.rs:178)
==108376== by 0x27BBF9: parking_lot_core::parking_lot::HashTable::new (parking_lot.rs:57)
==108376== by 0x27C081: parking_lot_core::parking_lot::create_hashtable (parking_lot.rs:213)
==108376== by 0x27C052: parking_lot_core::parking_lot::get_hashtable (parking_lot.rs:201)
==108376== by 0x27C153: parking_lot_core::parking_lot::grow_hashtable (parking_lot.rs:243)
==108376== by 0x27BF01: parking_lot_core::parking_lot::ThreadData::new (parking_lot.rs:156)
==108376== by 0x27C9AD: parking_lot_core::parking_lot::with_thread_data::THREAD_DATA::__init (parking_lot.rs:178)
==108376== by 0x285E5F: core::ops::function::FnOnce::call_once (function.rs:227)
==108376== by 0x284E29: std::thread::local::lazy::LazyKeyInner<T>::initialize (local.rs:304)
==108376== by 0x27F365: std::thread::local::fast::Key<T>::try_initialize (local.rs:473)
==108376== by 0x27F4AA: std::thread::local::fast::Key<T>::get (local.rs:456)
==108376== by 0x27C9DC: parking_lot_core::parking_lot::with_thread_data::THREAD_DATA::__getit (local.rs:183)
==108376== by 0x2779DA: std::thread::local::LocalKey<T>::try_with (local.rs:271)
==108376== by 0x276073: with_thread_data<parking_lot_core::parking_lot::ParkResult,closure-0> (parking_lot.rs:179)
==108376== by 0x276073: parking_lot_core::parking_lot::park (parking_lot.rs:576)
==108376== by 0x27A5A2: parking_lot::condvar::Condvar::wait_until_internal (condvar.rs:338)
==108376== by 0x1CFF9E: parking_lot::condvar::Condvar::wait (condvar.rs:260)
==108376== by 0x1DBF5B: tokio::loom::std::parking_lot::Condvar::wait (parking_lot.rs:90)
==108376== by 0x21499D: tokio::park::thread::Inner::park (thread.rs:112)
==108376== by 0x215A1B: <tokio::park::thread::CachedParkThread as tokio::park::Park>::park::{{closure}} (thread.rs:281)
==108376== by 0x215518: tokio::park::thread::CachedParkThread::with_current::{{closure}} (thread.rs:249)
==108376== by 0x2286E1: std::thread::local::LocalKey<T>::try_with (local.rs:272)
==108376== by 0x2153C8: tokio::park::thread::CachedParkThread::with_current (thread.rs:249)
==108376== by 0x21599D: <tokio::park::thread::CachedParkThread as tokio::park::Park>::park (thread.rs:281)
==108376== by 0x215811: tokio::park::thread::CachedParkThread::block_on (thread.rs:267)
==108376== by 0x1B57BF: tokio::runtime::enter::Enter::block_on (enter.rs:151)
==108376== by 0x1F1A18: tokio::runtime::blocking::shutdown::Receiver::wait (shutdown.rs:67)
==108376== by 0x22B2A8: tokio::runtime::blocking::pool::BlockingPool::shutdown (pool.rs:157)
==108376== by 0x22B8BB: <tokio::runtime::blocking::pool::BlockingPool as core::ops::drop::Drop>::drop (pool.rs:174)
==108376== by 0x211D05: core::ptr::drop_in_place (mod.rs:175)
==108376== by 0x210175: core::ptr::drop_in_place (mod.rs:175)
==108376== by 0x19D33B: tokio_issue_2535::main (main.rs:20)
==108376== by 0x1A039A: core::ops::function::FnOnce::call_once (function.rs:227)
==108376== by 0x19729D: std::sys_common::backtrace::__rust_begin_short_backtrace (backtrace.rs:125)
==108376== by 0x197B00: std::rt::lang_start::{{closure}} (rt.rs:66)
==108376== by 0x29DD36: call_once<(),Fn<()>> (function.rs:259)
==108376== by 0x29DD36: do_call<&Fn<()>,i32> (panicking.rs:381)
==108376== by 0x29DD36: try<i32,&Fn<()>> (panicking.rs:345)
==108376== by 0x29DD36: catch_unwind<&Fn<()>,i32> (panic.rs:396)
==108376== by 0x29DD36: std::rt::lang_start_internal (rt.rs:51)
==108376== by 0x197AD6: std::rt::lang_start (rt.rs:65)
==108376== by 0x19D3F9: main (in .../issue-repros/tokio-issue-2535/target/debug/tokio-issue-2535)
==108376==
==108376== 32 bytes in 1 blocks are possibly lost in loss record 4 of 15
==108376== at 0x484D93F: malloc (vg_replace_malloc.c:307)
==108376== by 0x1C21AB: alloc::alloc::alloc (alloc.rs:84)
==108376== by 0x1C2269: alloc::alloc::Global::alloc_impl (alloc.rs:164)
==108376== by 0x1C46E9: <alloc::alloc::Global as core::alloc::AllocRef>::alloc (alloc.rs:224)
==108376== by 0x1C210C: alloc::alloc::exchange_malloc (alloc.rs:314)
==108376== by 0x1AF9F7: alloc::sync::Arc<T>::new (sync.rs:330)
==108376== by 0x1B4E82: <alloc::sync::Arc<T> as core::convert::From<T>>::from (sync.rs:2178)
==108376== by 0x20C801: signal_hook_registry::register_unchecked_impl (lib.rs:572)
==108376== by 0x20C667: signal_hook_registry::register_sigaction_impl (lib.rs:527)
==108376== by 0x20D180: signal_hook_registry::register (lib.rs:498)
==108376== by 0x20AB58: tokio::signal::unix::signal_enable::{{closure}} (unix.rs:244)
==108376== by 0x1DCBFB: std::sync::once::Once::call_once::{{closure}} (once.rs:261)
==108376== by 0x29A6D1: std::sync::once::Once::call_inner (once.rs:419)
==108376== by 0x1DCB65: std::sync::once::Once::call_once (once.rs:261)
==108376== by 0x20A79F: tokio::signal::unix::signal_enable (unix.rs:242)
==108376== by 0x20AC6F: tokio::signal::unix::signal_with_handle (unix.rs:361)
==108376== by 0x1D205B: tokio::process::imp::driver::Driver::new (driver.rs:59)
==108376== by 0x1F2BFA: tokio::runtime::driver::create_process_driver (driver.rs:84)
==108376== by 0x1F24BB: tokio::runtime::driver::create_io_stack (driver.rs:26)
==108376== by 0x1F1B8D: tokio::runtime::driver::Driver::new (driver.rs:169)
==108376== by 0x22DB3E: tokio::runtime::builder::Builder::build_threaded_runtime (builder.rs:501)
==108376== by 0x22D3B6: tokio::runtime::builder::Builder::build (builder.rs:376)
==108376== by 0x19D27F: tokio_issue_2535::main (main.rs:4)
==108376== by 0x1A039A: core::ops::function::FnOnce::call_once (function.rs:227)
==108376== by 0x19729D: std::sys_common::backtrace::__rust_begin_short_backtrace (backtrace.rs:125)
==108376== by 0x197B00: std::rt::lang_start::{{closure}} (rt.rs:66)
==108376== by 0x29DD36: call_once<(),Fn<()>> (function.rs:259)
==108376== by 0x29DD36: do_call<&Fn<()>,i32> (panicking.rs:381)
==108376== by 0x29DD36: try<i32,&Fn<()>> (panicking.rs:345)
==108376== by 0x29DD36: catch_unwind<&Fn<()>,i32> (panic.rs:396)
==108376== by 0x29DD36: std::rt::lang_start_internal (rt.rs:51)
==108376== by 0x197AD6: std::rt::lang_start (rt.rs:65)
==108376== by 0x19D3F9: main (in .../issue-repros/tokio-issue-2535/target/debug/tokio-issue-2535)
==108376==
==108376== 40 bytes in 1 blocks are still reachable in loss record 5 of 15
==108376== at 0x484D93F: malloc (vg_replace_malloc.c:307)
==108376== by 0x29B35C: alloc (alloc.rs:84)
==108376== by 0x29B35C: alloc_impl (alloc.rs:164)
==108376== by 0x29B35C: alloc (alloc.rs:224)
==108376== by 0x29B35C: exchange_malloc (alloc.rs:314)
==108376== by 0x29B35C: new<std::sys::unix::mutex::Mutex> (boxed.rs:178)
==108376== by 0x29B35C: from<std::sys::unix::mutex::Mutex> (boxed.rs:997)
==108376== by 0x29B35C: std::sys_common::mutex::MovableMutex::new (mutex.rs:64)
==108376== by 0x2456C6: std::sync::mutex::Mutex<T>::new (mutex.rs:217)
==108376== by 0x2498A5: signal_hook_registry::half_lock::HalfLock<T>::new (half_lock.rs:121)
==108376== by 0x24B731: signal_hook_registry::GlobalData::ensure::{{closure}} (lib.rs:286)
==108376== by 0x24569B: std::sync::once::Once::call_once::{{closure}} (once.rs:261)
==108376== by 0x29A6D1: std::sync::once::Once::call_inner (once.rs:419)
==108376== by 0x24561C: std::sync::once::Once::call_once (once.rs:261)
==108376== by 0x24B6A3: signal_hook_registry::GlobalData::ensure (lib.rs:284)
==108376== by 0x20C7C7: signal_hook_registry::register_unchecked_impl (lib.rs:571)
==108376== by 0x20C667: signal_hook_registry::register_sigaction_impl (lib.rs:527)
==108376== by 0x20D180: signal_hook_registry::register (lib.rs:498)
==108376== by 0x20AB58: tokio::signal::unix::signal_enable::{{closure}} (unix.rs:244)
==108376== by 0x1DCBFB: std::sync::once::Once::call_once::{{closure}} (once.rs:261)
==108376== by 0x29A6D1: std::sync::once::Once::call_inner (once.rs:419)
==108376== by 0x1DCB65: std::sync::once::Once::call_once (once.rs:261)
==108376== by 0x20A79F: tokio::signal::unix::signal_enable (unix.rs:242)
==108376== by 0x20AC6F: tokio::signal::unix::signal_with_handle (unix.rs:361)
==108376== by 0x1D205B: tokio::process::imp::driver::Driver::new (driver.rs:59)
==108376== by 0x1F2BFA: tokio::runtime::driver::create_process_driver (driver.rs:84)
==108376== by 0x1F24BB: tokio::runtime::driver::create_io_stack (driver.rs:26)
==108376== by 0x1F1B8D: tokio::runtime::driver::Driver::new (driver.rs:169)
==108376== by 0x22DB3E: tokio::runtime::builder::Builder::build_threaded_runtime (builder.rs:501)
==108376== by 0x22D3B6: tokio::runtime::builder::Builder::build (builder.rs:376)
==108376== by 0x19D27F: tokio_issue_2535::main (main.rs:4)
==108376== by 0x1A039A: core::ops::function::FnOnce::call_once (function.rs:227)
==108376== by 0x19729D: std::sys_common::backtrace::__rust_begin_short_backtrace (backtrace.rs:125)
==108376== by 0x197B00: std::rt::lang_start::{{closure}} (rt.rs:66)
==108376== by 0x29DD36: call_once<(),Fn<()>> (function.rs:259)
==108376== by 0x29DD36: do_call<&Fn<()>,i32> (panicking.rs:381)
==108376== by 0x29DD36: try<i32,&Fn<()>> (panicking.rs:345)
==108376== by 0x29DD36: catch_unwind<&Fn<()>,i32> (panic.rs:396)
==108376== by 0x29DD36: std::rt::lang_start_internal (rt.rs:51)
==108376== by 0x197AD6: std::rt::lang_start (rt.rs:65)
==108376== by 0x19D3F9: main (in .../issue-repros/tokio-issue-2535/target/debug/tokio-issue-2535)
==108376==
==108376== 40 bytes in 1 blocks are still reachable in loss record 6 of 15
==108376== at 0x484D93F: malloc (vg_replace_malloc.c:307)
==108376== by 0x29B35C: alloc (alloc.rs:84)
==108376== by 0x29B35C: alloc_impl (alloc.rs:164)
==108376== by 0x29B35C: alloc (alloc.rs:224)
==108376== by 0x29B35C: exchange_malloc (alloc.rs:314)
==108376== by 0x29B35C: new<std::sys::unix::mutex::Mutex> (boxed.rs:178)
==108376== by 0x29B35C: from<std::sys::unix::mutex::Mutex> (boxed.rs:997)
==108376== by 0x29B35C: std::sys_common::mutex::MovableMutex::new (mutex.rs:64)
==108376== by 0x2456C6: std::sync::mutex::Mutex<T>::new (mutex.rs:217)
==108376== by 0x249A50: signal_hook_registry::half_lock::HalfLock<T>::new (half_lock.rs:121)
==108376== by 0x24B752: signal_hook_registry::GlobalData::ensure::{{closure}} (lib.rs:290)
==108376== by 0x24569B: std::sync::once::Once::call_once::{{closure}} (once.rs:261)
==108376== by 0x29A6D1: std::sync::once::Once::call_inner (once.rs:419)
==108376== by 0x24561C: std::sync::once::Once::call_once (once.rs:261)
==108376== by 0x24B6A3: signal_hook_registry::GlobalData::ensure (lib.rs:284)
==108376== by 0x20C7C7: signal_hook_registry::register_unchecked_impl (lib.rs:571)
==108376== by 0x20C667: signal_hook_registry::register_sigaction_impl (lib.rs:527)
==108376== by 0x20D180: signal_hook_registry::register (lib.rs:498)
==108376== by 0x20AB58: tokio::signal::unix::signal_enable::{{closure}} (unix.rs:244)
==108376== by 0x1DCBFB: std::sync::once::Once::call_once::{{closure}} (once.rs:261)
==108376== by 0x29A6D1: std::sync::once::Once::call_inner (once.rs:419)
==108376== by 0x1DCB65: std::sync::once::Once::call_once (once.rs:261)
==108376== by 0x20A79F: tokio::signal::unix::signal_enable (unix.rs:242)
==108376== by 0x20AC6F: tokio::signal::unix::signal_with_handle (unix.rs:361)
==108376== by 0x1D205B: tokio::process::imp::driver::Driver::new (driver.rs:59)
==108376== by 0x1F2BFA: tokio::runtime::driver::create_process_driver (driver.rs:84)
==108376== by 0x1F24BB: tokio::runtime::driver::create_io_stack (driver.rs:26)
==108376== by 0x1F1B8D: tokio::runtime::driver::Driver::new (driver.rs:169)
==108376== by 0x22DB3E: tokio::runtime::builder::Builder::build_threaded_runtime (builder.rs:501)
==108376== by 0x22D3B6: tokio::runtime::builder::Builder::build (builder.rs:376)
==108376== by 0x19D27F: tokio_issue_2535::main (main.rs:4)
==108376== by 0x1A039A: core::ops::function::FnOnce::call_once (function.rs:227)
==108376== by 0x19729D: std::sys_common::backtrace::__rust_begin_short_backtrace (backtrace.rs:125)
==108376== by 0x197B00: std::rt::lang_start::{{closure}} (rt.rs:66)
==108376== by 0x29DD36: call_once<(),Fn<()>> (function.rs:259)
==108376== by 0x29DD36: do_call<&Fn<()>,i32> (panicking.rs:381)
==108376== by 0x29DD36: try<i32,&Fn<()>> (panicking.rs:345)
==108376== by 0x29DD36: catch_unwind<&Fn<()>,i32> (panic.rs:396)
==108376== by 0x29DD36: std::rt::lang_start_internal (rt.rs:51)
==108376== by 0x197AD6: std::rt::lang_start (rt.rs:65)
==108376== by 0x19D3F9: main (in .../issue-repros/tokio-issue-2535/target/debug/tokio-issue-2535)
==108376==
==108376== 56 bytes in 1 blocks are still reachable in loss record 7 of 15
==108376== at 0x484D93F: malloc (vg_replace_malloc.c:307)
==108376== by 0x1C21AB: alloc::alloc::alloc (alloc.rs:84)
==108376== by 0x1C2269: alloc::alloc::Global::alloc_impl (alloc.rs:164)
==108376== by 0x1C46E9: <alloc::alloc::Global as core::alloc::AllocRef>::alloc (alloc.rs:224)
==108376== by 0x1C210C: alloc::alloc::exchange_malloc (alloc.rs:314)
==108376== by 0x1F3CF8: pin<tokio::signal::registry::Globals> (boxed.rs:234)
==108376== by 0x1F3CF8: tokio::signal::registry::globals::GLOBALS::{{closure}} (registry.rs:169)
==108376== by 0x20D55D: core::ops::function::FnOnce::call_once (function.rs:227)
==108376== by 0x20D3BA: core::ops::function::FnOnce::call_once (function.rs:227)
==108376== by 0x206C48: once_cell::sync::Lazy<T,F>::force::{{closure}} (lib.rs:1001)
==108376== by 0x206D3E: once_cell::sync::OnceCell<T>::get_or_init::{{closure}} (lib.rs:834)
==108376== by 0x1E4608: once_cell::imp::OnceCell<T>::initialize::{{closure}} (imp_std.rs:93)
==108376== by 0x266724: once_cell::imp::initialize_inner (imp_std.rs:167)
==108376== by 0x1E4591: once_cell::imp::OnceCell<T>::initialize (imp_std.rs:91)
==108376== by 0x206F7F: once_cell::sync::OnceCell<T>::get_or_try_init (lib.rs:874)
==108376== by 0x206CBD: once_cell::sync::OnceCell<T>::get_or_init (lib.rs:834)
==108376== by 0x206AF5: once_cell::sync::Lazy<T,F>::force (lib.rs:1000)
==108376== by 0x205CDE: <once_cell::sync::Lazy<T,F> as core::ops::deref::Deref>::deref (lib.rs:1010)
==108376== by 0x1F3C23: tokio::signal::registry::globals (registry.rs:175)
==108376== by 0x21AE4E: tokio::signal::unix::driver::Driver::new (driver.rs:71)
==108376== by 0x1F29C8: tokio::runtime::driver::create_signal_driver (driver.rs:60)
==108376== by 0x1F236A: tokio::runtime::driver::create_io_stack (driver.rs:25)
==108376== by 0x1F1B8D: tokio::runtime::driver::Driver::new (driver.rs:169)
==108376== by 0x22DB3E: tokio::runtime::builder::Builder::build_threaded_runtime (builder.rs:501)
==108376== by 0x22D3B6: tokio::runtime::builder::Builder::build (builder.rs:376)
==108376== by 0x19D27F: tokio_issue_2535::main (main.rs:4)
==108376== by 0x1A039A: core::ops::function::FnOnce::call_once (function.rs:227)
==108376== by 0x19729D: std::sys_common::backtrace::__rust_begin_short_backtrace (backtrace.rs:125)
==108376== by 0x197B00: std::rt::lang_start::{{closure}} (rt.rs:66)
==108376== by 0x29DD36: call_once<(),Fn<()>> (function.rs:259)
==108376== by 0x29DD36: do_call<&Fn<()>,i32> (panicking.rs:381)
==108376== by 0x29DD36: try<i32,&Fn<()>> (panicking.rs:345)
==108376== by 0x29DD36: catch_unwind<&Fn<()>,i32> (panic.rs:396)
==108376== by 0x29DD36: std::rt::lang_start_internal (rt.rs:51)
==108376== by 0x197AD6: std::rt::lang_start (rt.rs:65)
==108376== by 0x19D3F9: main (in .../issue-repros/tokio-issue-2535/target/debug/tokio-issue-2535)
==108376==
==108376== 64 bytes in 1 blocks are still reachable in loss record 8 of 15
==108376== at 0x484D93F: malloc (vg_replace_malloc.c:307)
==108376== by 0x242C0B: alloc::alloc::alloc (alloc.rs:84)
==108376== by 0x242CC9: alloc::alloc::Global::alloc_impl (alloc.rs:164)
==108376== by 0x2432A9: <alloc::alloc::Global as core::alloc::AllocRef>::alloc (alloc.rs:224)
==108376== by 0x242B6C: alloc::alloc::exchange_malloc (alloc.rs:314)
==108376== by 0x2496DC: new<signal_hook_registry::SignalData> (boxed.rs:178)
==108376== by 0x2496DC: signal_hook_registry::half_lock::WriteGuard<T>::store (half_lock.rs:75)
==108376== by 0x20CEF8: signal_hook_registry::register_unchecked_impl (lib.rs:610)
==108376== by 0x20C667: signal_hook_registry::register_sigaction_impl (lib.rs:527)
==108376== by 0x20D180: signal_hook_registry::register (lib.rs:498)
==108376== by 0x20AB58: tokio::signal::unix::signal_enable::{{closure}} (unix.rs:244)
==108376== by 0x1DCBFB: std::sync::once::Once::call_once::{{closure}} (once.rs:261)
==108376== by 0x29A6D1: std::sync::once::Once::call_inner (once.rs:419)
==108376== by 0x1DCB65: std::sync::once::Once::call_once (once.rs:261)
==108376== by 0x20A79F: tokio::signal::unix::signal_enable (unix.rs:242)
==108376== by 0x20AC6F: tokio::signal::unix::signal_with_handle (unix.rs:361)
==108376== by 0x1D205B: tokio::process::imp::driver::Driver::new (driver.rs:59)
==108376== by 0x1F2BFA: tokio::runtime::driver::create_process_driver (driver.rs:84)
==108376== by 0x1F24BB: tokio::runtime::driver::create_io_stack (driver.rs:26)
==108376== by 0x1F1B8D: tokio::runtime::driver::Driver::new (driver.rs:169)
==108376== by 0x22DB3E: tokio::runtime::builder::Builder::build_threaded_runtime (builder.rs:501)
==108376== by 0x22D3B6: tokio::runtime::builder::Builder::build (builder.rs:376)
==108376== by 0x19D27F: tokio_issue_2535::main (main.rs:4)
==108376== by 0x1A039A: core::ops::function::FnOnce::call_once (function.rs:227)
==108376== by 0x19729D: std::sys_common::backtrace::__rust_begin_short_backtrace (backtrace.rs:125)
==108376== by 0x197B00: std::rt::lang_start::{{closure}} (rt.rs:66)
==108376== by 0x29DD36: call_once<(),Fn<()>> (function.rs:259)
==108376== by 0x29DD36: do_call<&Fn<()>,i32> (panicking.rs:381)
==108376== by 0x29DD36: try<i32,&Fn<()>> (panicking.rs:345)
==108376== by 0x29DD36: catch_unwind<&Fn<()>,i32> (panic.rs:396)
==108376== by 0x29DD36: std::rt::lang_start_internal (rt.rs:51)
==108376== by 0x197AD6: std::rt::lang_start (rt.rs:65)
==108376== by 0x19D3F9: main (in .../issue-repros/tokio-issue-2535/target/debug/tokio-issue-2535)
==108376==
==108376== 168 bytes in 1 blocks are still reachable in loss record 9 of 15
==108376== at 0x484D93F: malloc (vg_replace_malloc.c:307)
==108376== by 0x1C21AB: alloc::alloc::alloc (alloc.rs:84)
==108376== by 0x1C2269: alloc::alloc::Global::alloc_impl (alloc.rs:164)
==108376== by 0x1C46E9: <alloc::alloc::Global as core::alloc::AllocRef>::alloc (alloc.rs:224)
==108376== by 0x1C210C: alloc::alloc::exchange_malloc (alloc.rs:314)
==108376== by 0x1A9FCC: new<core::option::Option<signal_hook_registry::Prev>> (boxed.rs:178)
==108376== by 0x1A9FCC: signal_hook_registry::half_lock::WriteGuard<T>::store (half_lock.rs:75)
==108376== by 0x20CBBF: signal_hook_registry::register_unchecked_impl (lib.rs:599)
==108376== by 0x20C667: signal_hook_registry::register_sigaction_impl (lib.rs:527)
==108376== by 0x20D180: signal_hook_registry::register (lib.rs:498)
==108376== by 0x20AB58: tokio::signal::unix::signal_enable::{{closure}} (unix.rs:244)
==108376== by 0x1DCBFB: std::sync::once::Once::call_once::{{closure}} (once.rs:261)
==108376== by 0x29A6D1: std::sync::once::Once::call_inner (once.rs:419)
==108376== by 0x1DCB65: std::sync::once::Once::call_once (once.rs:261)
==108376== by 0x20A79F: tokio::signal::unix::signal_enable (unix.rs:242)
==108376== by 0x20AC6F: tokio::signal::unix::signal_with_handle (unix.rs:361)
==108376== by 0x1D205B: tokio::process::imp::driver::Driver::new (driver.rs:59)
==108376== by 0x1F2BFA: tokio::runtime::driver::create_process_driver (driver.rs:84)
==108376== by 0x1F24BB: tokio::runtime::driver::create_io_stack (driver.rs:26)
==108376== by 0x1F1B8D: tokio::runtime::driver::Driver::new (driver.rs:169)
==108376== by 0x22DB3E: tokio::runtime::builder::Builder::build_threaded_runtime (builder.rs:501)
==108376== by 0x22D3B6: tokio::runtime::builder::Builder::build (builder.rs:376)
==108376== by 0x19D27F: tokio_issue_2535::main (main.rs:4)
==108376== by 0x1A039A: core::ops::function::FnOnce::call_once (function.rs:227)
==108376== by 0x19729D: std::sys_common::backtrace::__rust_begin_short_backtrace (backtrace.rs:125)
==108376== by 0x197B00: std::rt::lang_start::{{closure}} (rt.rs:66)
==108376== by 0x29DD36: call_once<(),Fn<()>> (function.rs:259)
==108376== by 0x29DD36: do_call<&Fn<()>,i32> (panicking.rs:381)
==108376== by 0x29DD36: try<i32,&Fn<()>> (panicking.rs:345)
==108376== by 0x29DD36: catch_unwind<&Fn<()>,i32> (panic.rs:396)
==108376== by 0x29DD36: std::rt::lang_start_internal (rt.rs:51)
==108376== by 0x197AD6: std::rt::lang_start (rt.rs:65)
==108376== by 0x19D3F9: main (in .../issue-repros/tokio-issue-2535/target/debug/tokio-issue-2535)
==108376==
==108376== 176 bytes in 1 blocks are still reachable in loss record 10 of 15
==108376== at 0x484D93F: malloc (vg_replace_malloc.c:307)
==108376== by 0x1C21AB: alloc::alloc::alloc (alloc.rs:84)
==108376== by 0x1C2269: alloc::alloc::Global::alloc_impl (alloc.rs:164)
==108376== by 0x1C46E9: <alloc::alloc::Global as core::alloc::AllocRef>::alloc (alloc.rs:224)
==108376== by 0x1C210C: alloc::alloc::exchange_malloc (alloc.rs:314)
==108376== by 0x1AFFAD: alloc::sync::Arc<T>::new (sync.rs:330)
==108376== by 0x1F3FCD: tokio::sync::mpsc::chan::channel (chan.rs:107)
==108376== by 0x22E3FF: tokio::sync::mpsc::bounded::channel (bounded.rs:88)
==108376== by 0x20ACF0: tokio::signal::unix::signal_with_handle (unix.rs:365)
==108376== by 0x1D205B: tokio::process::imp::driver::Driver::new (driver.rs:59)
==108376== by 0x1F2BFA: tokio::runtime::driver::create_process_driver (driver.rs:84)
==108376== by 0x1F24BB: tokio::runtime::driver::create_io_stack (driver.rs:26)
==108376== by 0x1F1B8D: tokio::runtime::driver::Driver::new (driver.rs:169)
==108376== by 0x22DB3E: tokio::runtime::builder::Builder::build_threaded_runtime (builder.rs:501)
==108376== by 0x22D3B6: tokio::runtime::builder::Builder::build (builder.rs:376)
==108376== by 0x19D27F: tokio_issue_2535::main (main.rs:4)
==108376== by 0x1A039A: core::ops::function::FnOnce::call_once (function.rs:227)
==108376== by 0x19729D: std::sys_common::backtrace::__rust_begin_short_backtrace (backtrace.rs:125)
==108376== by 0x197B00: std::rt::lang_start::{{closure}} (rt.rs:66)
==108376== by 0x29DD36: call_once<(),Fn<()>> (function.rs:259)
==108376== by 0x29DD36: do_call<&Fn<()>,i32> (panicking.rs:381)
==108376== by 0x29DD36: try<i32,&Fn<()>> (panicking.rs:345)
==108376== by 0x29DD36: catch_unwind<&Fn<()>,i32> (panic.rs:396)
==108376== by 0x29DD36: std::rt::lang_start_internal (rt.rs:51)
==108376== by 0x197AD6: std::rt::lang_start (rt.rs:65)
==108376== by 0x19D3F9: main (in .../issue-repros/tokio-issue-2535/target/debug/tokio-issue-2535)
==108376==
==108376== 368 bytes in 1 blocks are possibly lost in loss record 11 of 15
==108376== at 0x484D93F: malloc (vg_replace_malloc.c:307)
==108376== by 0x242C0B: alloc::alloc::alloc (alloc.rs:84)
==108376== by 0x242CC9: alloc::alloc::Global::alloc_impl (alloc.rs:164)
==108376== by 0x2432A9: <alloc::alloc::Global as core::alloc::AllocRef>::alloc (alloc.rs:224)
==108376== by 0x242B6C: alloc::alloc::exchange_malloc (alloc.rs:314)
==108376== by 0x23B690: new<alloc::collections::btree::node::LeafNode<signal_hook_registry::ActionId, alloc::sync::Arc<Fn<(&libc::unix::linux_like::linux::gnu::b64::x86_64::siginfo_t)>>>> (boxed.rs:178)
==108376== by 0x23B690: alloc::collections::btree::node::Root<K,V>::new_leaf (node.rs:154)
==108376== by 0x24D529: core::ops::function::FnOnce::call_once (function.rs:227)
==108376== by 0x24474E: core::option::Option<T>::get_or_insert_with (option.rs:869)
==108376== by 0x24EDCE: alloc::collections::btree::map::BTreeMap<K,V>::ensure_is_owned (map.rs:2140)
==108376== by 0x1A27FD: alloc::collections::btree::map::BTreeMap<K,V>::entry (map.rs:1026)
==108376== by 0x1A2ABD: alloc::collections::btree::map::BTreeMap<K,V>::insert (map.rs:796)
==108376== by 0x20CD57: signal_hook_registry::register_unchecked_impl (lib.rs:605)
==108376== by 0x20C667: signal_hook_registry::register_sigaction_impl (lib.rs:527)
==108376== by 0x20D180: signal_hook_registry::register (lib.rs:498)
==108376== by 0x20AB58: tokio::signal::unix::signal_enable::{{closure}} (unix.rs:244)
==108376== by 0x1DCBFB: std::sync::once::Once::call_once::{{closure}} (once.rs:261)
==108376== by 0x29A6D1: std::sync::once::Once::call_inner (once.rs:419)
==108376== by 0x1DCB65: std::sync::once::Once::call_once (once.rs:261)
==108376== by 0x20A79F: tokio::signal::unix::signal_enable (unix.rs:242)
==108376== by 0x20AC6F: tokio::signal::unix::signal_with_handle (unix.rs:361)
==108376== by 0x1D205B: tokio::process::imp::driver::Driver::new (driver.rs:59)
==108376== by 0x1F2BFA: tokio::runtime::driver::create_process_driver (driver.rs:84)
==108376== by 0x1F24BB: tokio::runtime::driver::create_io_stack (driver.rs:26)
==108376== by 0x1F1B8D: tokio::runtime::driver::Driver::new (driver.rs:169)
==108376== by 0x22DB3E: tokio::runtime::builder::Builder::build_threaded_runtime (builder.rs:501)
==108376== by 0x22D3B6: tokio::runtime::builder::Builder::build (builder.rs:376)
==108376== by 0x19D27F: tokio_issue_2535::main (main.rs:4)
==108376== by 0x1A039A: core::ops::function::FnOnce::call_once (function.rs:227)
==108376== by 0x19729D: std::sys_common::backtrace::__rust_begin_short_backtrace (backtrace.rs:125)
==108376== by 0x197B00: std::rt::lang_start::{{closure}} (rt.rs:66)
==108376== by 0x29DD36: call_once<(),Fn<()>> (function.rs:259)
==108376== by 0x29DD36: do_call<&Fn<()>,i32> (panicking.rs:381)
==108376== by 0x29DD36: try<i32,&Fn<()>> (panicking.rs:345)
==108376== by 0x29DD36: catch_unwind<&Fn<()>,i32> (panic.rs:396)
==108376== by 0x29DD36: std::rt::lang_start_internal (rt.rs:51)
==108376== by 0x197AD6: std::rt::lang_start (rt.rs:65)
==108376== by 0x19D3F9: main (in .../issue-repros/tokio-issue-2535/target/debug/tokio-issue-2535)
==108376==
==108376== 788 bytes in 1 blocks are possibly lost in loss record 12 of 15
==108376== at 0x484D93F: malloc (vg_replace_malloc.c:307)
==108376== by 0x242C0B: alloc::alloc::alloc (alloc.rs:84)
==108376== by 0x23F106: hashbrown::raw::RawTable<T>::new_uninitialized (mod.rs:411)
==108376== by 0x1E24F6: hashbrown::raw::RawTable<T>::fallible_with_capacity (mod.rs:440)
==108376== by 0x1E3692: hashbrown::raw::RawTable<T>::resize (mod.rs:873)
==108376== by 0x1DFFB3: hashbrown::raw::RawTable<T>::reserve_rehash (mod.rs:754)
==108376== by 0x1E3D21: hashbrown::raw::RawTable<T>::reserve (mod.rs:707)
==108376== by 0x206971: hashbrown::map::HashMap<K,V,S>::reserve (map.rs:670)
==108376== by 0x206238: hashbrown::rustc_entry::<impl hashbrown::map::HashMap<K,V,S>>::rustc_entry (rustc_entry.rs:45)
==108376== by 0x1D0537: std::collections::hash::map::HashMap<K,V,S>::entry (map.rs:705)
==108376== by 0x20C924: signal_hook_registry::register_unchecked_impl (lib.rs:580)
==108376== by 0x20C667: signal_hook_registry::register_sigaction_impl (lib.rs:527)
==108376== by 0x20D180: signal_hook_registry::register (lib.rs:498)
==108376== by 0x20AB58: tokio::signal::unix::signal_enable::{{closure}} (unix.rs:244)
==108376== by 0x1DCBFB: std::sync::once::Once::call_once::{{closure}} (once.rs:261)
==108376== by 0x29A6D1: std::sync::once::Once::call_inner (once.rs:419)
==108376== by 0x1DCB65: std::sync::once::Once::call_once (once.rs:261)
==108376== by 0x20A79F: tokio::signal::unix::signal_enable (unix.rs:242)
==108376== by 0x20AC6F: tokio::signal::unix::signal_with_handle (unix.rs:361)
==108376== by 0x1D205B: tokio::process::imp::driver::Driver::new (driver.rs:59)
==108376== by 0x1F2BFA: tokio::runtime::driver::create_process_driver (driver.rs:84)
==108376== by 0x1F24BB: tokio::runtime::driver::create_io_stack (driver.rs:26)
==108376== by 0x1F1B8D: tokio::runtime::driver::Driver::new (driver.rs:169)
==108376== by 0x22DB3E: tokio::runtime::builder::Builder::build_threaded_runtime (builder.rs:501)
==108376== by 0x22D3B6: tokio::runtime::builder::Builder::build (builder.rs:376)
==108376== by 0x19D27F: tokio_issue_2535::main (main.rs:4)
==108376== by 0x1A039A: core::ops::function::FnOnce::call_once (function.rs:227)
==108376== by 0x19729D: std::sys_common::backtrace::__rust_begin_short_backtrace (backtrace.rs:125)
==108376== by 0x197B00: std::rt::lang_start::{{closure}} (rt.rs:66)
==108376== by 0x29DD36: call_once<(),Fn<()>> (function.rs:259)
==108376== by 0x29DD36: do_call<&Fn<()>,i32> (panicking.rs:381)
==108376== by 0x29DD36: try<i32,&Fn<()>> (panicking.rs:345)
==108376== by 0x29DD36: catch_unwind<&Fn<()>,i32> (panic.rs:396)
==108376== by 0x29DD36: std::rt::lang_start_internal (rt.rs:51)
==108376== by 0x197AD6: std::rt::lang_start (rt.rs:65)
==108376== by 0x19D3F9: main (in .../issue-repros/tokio-issue-2535/target/debug/tokio-issue-2535)
==108376==
==108376== 1,024 bytes in 1 blocks are still reachable in loss record 13 of 15
==108376== at 0x48507BE: memalign (vg_replace_malloc.c:906)
==108376== by 0x48508E2: posix_memalign (vg_replace_malloc.c:1070)
==108376== by 0x29C969: aligned_malloc (alloc.rs:95)
==108376== by 0x29C969: alloc (alloc.rs:22)
==108376== by 0x29C969: __rdl_alloc (alloc.rs:356)
==108376== by 0x27FC3B: alloc::alloc::alloc (alloc.rs:84)
==108376== by 0x27FCF9: alloc::alloc::Global::alloc_impl (alloc.rs:164)
==108376== by 0x280869: <alloc::alloc::Global as core::alloc::AllocRef>::alloc (alloc.rs:224)
==108376== by 0x2818DE: alloc::raw_vec::RawVec<T,A>::allocate_in (raw_vec.rs:189)
==108376== by 0x2820AC: alloc::raw_vec::RawVec<T,A>::with_capacity_in (raw_vec.rs:130)
==108376== by 0x2816EE: alloc::raw_vec::RawVec<T>::with_capacity (raw_vec.rs:93)
==108376== by 0x28682E: alloc::vec::Vec<T>::with_capacity (vec.rs:363)
==108376== by 0x27BA52: parking_lot_core::parking_lot::HashTable::new (parking_lot.rs:51)
==108376== by 0x27C081: parking_lot_core::parking_lot::create_hashtable (parking_lot.rs:213)
==108376== by 0x27C052: parking_lot_core::parking_lot::get_hashtable (parking_lot.rs:201)
==108376== by 0x27C153: parking_lot_core::parking_lot::grow_hashtable (parking_lot.rs:243)
==108376== by 0x27BF01: parking_lot_core::parking_lot::ThreadData::new (parking_lot.rs:156)
==108376== by 0x27C9AD: parking_lot_core::parking_lot::with_thread_data::THREAD_DATA::__init (parking_lot.rs:178)
==108376== by 0x285E5F: core::ops::function::FnOnce::call_once (function.rs:227)
==108376== by 0x284E29: std::thread::local::lazy::LazyKeyInner<T>::initialize (local.rs:304)
==108376== by 0x27F365: std::thread::local::fast::Key<T>::try_initialize (local.rs:473)
==108376== by 0x27F4AA: std::thread::local::fast::Key<T>::get (local.rs:456)
==108376== by 0x27C9DC: parking_lot_core::parking_lot::with_thread_data::THREAD_DATA::__getit (local.rs:183)
==108376== by 0x2779DA: std::thread::local::LocalKey<T>::try_with (local.rs:271)
==108376== by 0x276073: with_thread_data<parking_lot_core::parking_lot::ParkResult,closure-0> (parking_lot.rs:179)
==108376== by 0x276073: parking_lot_core::parking_lot::park (parking_lot.rs:576)
==108376== by 0x27A5A2: parking_lot::condvar::Condvar::wait_until_internal (condvar.rs:338)
==108376== by 0x1CFF9E: parking_lot::condvar::Condvar::wait (condvar.rs:260)
==108376== by 0x1DBF5B: tokio::loom::std::parking_lot::Condvar::wait (parking_lot.rs:90)
==108376== by 0x21499D: tokio::park::thread::Inner::park (thread.rs:112)
==108376== by 0x215A1B: <tokio::park::thread::CachedParkThread as tokio::park::Park>::park::{{closure}} (thread.rs:281)
==108376== by 0x215518: tokio::park::thread::CachedParkThread::with_current::{{closure}} (thread.rs:249)
==108376== by 0x2286E1: std::thread::local::LocalKey<T>::try_with (local.rs:272)
==108376== by 0x2153C8: tokio::park::thread::CachedParkThread::with_current (thread.rs:249)
==108376== by 0x21599D: <tokio::park::thread::CachedParkThread as tokio::park::Park>::park (thread.rs:281)
==108376== by 0x215811: tokio::park::thread::CachedParkThread::block_on (thread.rs:267)
==108376== by 0x1B57BF: tokio::runtime::enter::Enter::block_on (enter.rs:151)
==108376== by 0x1F1A18: tokio::runtime::blocking::shutdown::Receiver::wait (shutdown.rs:67)
==108376== by 0x22B2A8: tokio::runtime::blocking::pool::BlockingPool::shutdown (pool.rs:157)
==108376== by 0x22B8BB: <tokio::runtime::blocking::pool::BlockingPool as core::ops::drop::Drop>::drop (pool.rs:174)
==108376== by 0x211D05: core::ptr::drop_in_place (mod.rs:175)
==108376== by 0x210175: core::ptr::drop_in_place (mod.rs:175)
==108376== by 0x19D33B: tokio_issue_2535::main (main.rs:20)
==108376== by 0x1A039A: core::ops::function::FnOnce::call_once (function.rs:227)
==108376== by 0x19729D: std::sys_common::backtrace::__rust_begin_short_backtrace (backtrace.rs:125)
==108376== by 0x197B00: std::rt::lang_start::{{closure}} (rt.rs:66)
==108376== by 0x29DD36: call_once<(),Fn<()>> (function.rs:259)
==108376== by 0x29DD36: do_call<&Fn<()>,i32> (panicking.rs:381)
==108376== by 0x29DD36: try<i32,&Fn<()>> (panicking.rs:345)
==108376== by 0x29DD36: catch_unwind<&Fn<()>,i32> (panic.rs:396)
==108376== by 0x29DD36: std::rt::lang_start_internal (rt.rs:51)
==108376== by 0x197AD6: std::rt::lang_start (rt.rs:65)
==108376== by 0x19D3F9: main (in .../issue-repros/tokio-issue-2535/target/debug/tokio-issue-2535)
==108376==
==108376== 1,320 bytes in 33 blocks are still reachable in loss record 14 of 15
==108376== at 0x484D93F: malloc (vg_replace_malloc.c:307)
==108376== by 0x29B35C: alloc (alloc.rs:84)
==108376== by 0x29B35C: alloc_impl (alloc.rs:164)
==108376== by 0x29B35C: alloc (alloc.rs:224)
==108376== by 0x29B35C: exchange_malloc (alloc.rs:314)
==108376== by 0x29B35C: new<std::sys::unix::mutex::Mutex> (boxed.rs:178)
==108376== by 0x29B35C: from<std::sys::unix::mutex::Mutex> (boxed.rs:997)
==108376== by 0x29B35C: std::sys_common::mutex::MovableMutex::new (mutex.rs:64)
==108376== by 0x1DCE6B: std::sync::mutex::Mutex<T>::new (mutex.rs:217)
==108376== by 0x1DE59D: <std::sync::mutex::Mutex<T> as core::default::Default>::default (mutex.rs:417)
==108376== by 0x1F3D8B: <tokio::signal::registry::EventInfo as core::default::Default>::default (registry.rs:20)
==108376== by 0x20A180: <tokio::signal::unix::SignalInfo as core::default::Default>::default (unix.rs:196)
==108376== by 0x209FEA: tokio::signal::unix::<impl tokio::signal::registry::Init for alloc::vec::Vec<tokio::signal::unix::SignalInfo>>::init::{{closure}} (unix.rs:31)
==108376== by 0x229714: core::iter::adapters::map_fold::{{closure}} (mod.rs:905)
==108376== by 0x202F2B: core::iter::traits::iterator::Iterator::fold (iterator.rs:2023)
==108376== by 0x229EF9: <core::iter::adapters::Map<I,F> as core::iter::traits::iterator::Iterator>::fold (mod.rs:945)
==108376== by 0x229298: core::iter::traits::iterator::Iterator::for_each (iterator.rs:678)
==108376== by 0x1DA818: <alloc::vec::Vec<T> as alloc::vec::SpecExtend<T,I>>::spec_extend (vec.rs:2335)
==108376== by 0x1DB2F5: <alloc::vec::Vec<T> as alloc::vec::SpecFromIterNested<T,I>>::from_iter (vec.rs:2109)
==108376== by 0x1DABCA: <alloc::vec::Vec<T> as alloc::vec::SpecFromIter<T,I>>::from_iter (vec.rs:2119)
==108376== by 0x1DB7E5: <alloc::vec::Vec<T> as core::iter::traits::collect::FromIterator<T>>::from_iter (vec.rs:1959)
==108376== by 0x22903A: core::iter::traits::iterator::Iterator::collect (iterator.rs:1670)
==108376== by 0x1DC222: tokio::signal::unix::<impl tokio::signal::registry::Init for alloc::vec::Vec<tokio::signal::unix::SignalInfo>>::init (unix.rs:31)
==108376== by 0x1F3C8A: tokio::signal::registry::globals::GLOBALS::{{closure}} (registry.rs:171)
==108376== by 0x20D55D: core::ops::function::FnOnce::call_once (function.rs:227)
==108376== by 0x20D3BA: core::ops::function::FnOnce::call_once (function.rs:227)
==108376== by 0x206C48: once_cell::sync::Lazy<T,F>::force::{{closure}} (lib.rs:1001)
==108376== by 0x206D3E: once_cell::sync::OnceCell<T>::get_or_init::{{closure}} (lib.rs:834)
==108376== by 0x1E4608: once_cell::imp::OnceCell<T>::initialize::{{closure}} (imp_std.rs:93)
==108376== by 0x266724: once_cell::imp::initialize_inner (imp_std.rs:167)
==108376== by 0x1E4591: once_cell::imp::OnceCell<T>::initialize (imp_std.rs:91)
==108376== by 0x206F7F: once_cell::sync::OnceCell<T>::get_or_try_init (lib.rs:874)
==108376== by 0x206CBD: once_cell::sync::OnceCell<T>::get_or_init (lib.rs:834)
==108376== by 0x206AF5: once_cell::sync::Lazy<T,F>::force (lib.rs:1000)
==108376== by 0x205CDE: <once_cell::sync::Lazy<T,F> as core::ops::deref::Deref>::deref (lib.rs:1010)
==108376== by 0x1F3C23: tokio::signal::registry::globals (registry.rs:175)
==108376== by 0x21AE4E: tokio::signal::unix::driver::Driver::new (driver.rs:71)
==108376== by 0x1F29C8: tokio::runtime::driver::create_signal_driver (driver.rs:60)
==108376== by 0x1F236A: tokio::runtime::driver::create_io_stack (driver.rs:25)
==108376== by 0x1F1B8D: tokio::runtime::driver::Driver::new (driver.rs:169)
==108376== by 0x22DB3E: tokio::runtime::builder::Builder::build_threaded_runtime (builder.rs:501)
==108376== by 0x22D3B6: tokio::runtime::builder::Builder::build (builder.rs:376)
==108376== by 0x19D27F: tokio_issue_2535::main (main.rs:4)
==108376== by 0x1A039A: core::ops::function::FnOnce::call_once (function.rs:227)
==108376== by 0x19729D: std::sys_common::backtrace::__rust_begin_short_backtrace (backtrace.rs:125)
==108376== by 0x197B00: std::rt::lang_start::{{closure}} (rt.rs:66)
==108376== by 0x29DD36: call_once<(),Fn<()>> (function.rs:259)
==108376== by 0x29DD36: do_call<&Fn<()>,i32> (panicking.rs:381)
==108376== by 0x29DD36: try<i32,&Fn<()>> (panicking.rs:345)
==108376== by 0x29DD36: catch_unwind<&Fn<()>,i32> (panic.rs:396)
==108376== by 0x29DD36: std::rt::lang_start_internal (rt.rs:51)
==108376== by 0x197AD6: std::rt::lang_start (rt.rs:65)
==108376== by 0x19D3F9: main (in .../issue-repros/tokio-issue-2535/target/debug/tokio-issue-2535)
==108376==
==108376== 2,112 bytes in 1 blocks are still reachable in loss record 15 of 15
==108376== at 0x484D93F: malloc (vg_replace_malloc.c:307)
==108376== by 0x2683AB: alloc::alloc::alloc (alloc.rs:84)
==108376== by 0x268469: alloc::alloc::Global::alloc_impl (alloc.rs:164)
==108376== by 0x268AD9: <alloc::alloc::Global as core::alloc::AllocRef>::alloc (alloc.rs:224)
==108376== by 0x268D6F: alloc::raw_vec::finish_grow (raw_vec.rs:495)
==108376== by 0x1FA5F6: alloc::raw_vec::RawVec<T,A>::grow_amortized (raw_vec.rs:428)
==108376== by 0x1F8263: alloc::raw_vec::RawVec<T,A>::try_reserve (raw_vec.rs:317)
==108376== by 0x1FDDF2: alloc::raw_vec::RawVec<T,A>::reserve (raw_vec.rs:311)
==108376== by 0x1D9248: alloc::vec::Vec<T>::reserve (vec.rs:505)
==108376== by 0x1DA758: <alloc::vec::Vec<T> as alloc::vec::SpecExtend<T,I>>::spec_extend (vec.rs:2331)
==108376== by 0x1DB2F5: <alloc::vec::Vec<T> as alloc::vec::SpecFromIterNested<T,I>>::from_iter (vec.rs:2109)
==108376== by 0x1DABCA: <alloc::vec::Vec<T> as alloc::vec::SpecFromIter<T,I>>::from_iter (vec.rs:2119)
==108376== by 0x1DB7E5: <alloc::vec::Vec<T> as core::iter::traits::collect::FromIterator<T>>::from_iter (vec.rs:1959)
==108376== by 0x22903A: core::iter::traits::iterator::Iterator::collect (iterator.rs:1670)
==108376== by 0x1DC222: tokio::signal::unix::<impl tokio::signal::registry::Init for alloc::vec::Vec<tokio::signal::unix::SignalInfo>>::init (unix.rs:31)
==108376== by 0x1F3C8A: tokio::signal::registry::globals::GLOBALS::{{closure}} (registry.rs:171)
==108376== by 0x20D55D: core::ops::function::FnOnce::call_once (function.rs:227)
==108376== by 0x20D3BA: core::ops::function::FnOnce::call_once (function.rs:227)
==108376== by 0x206C48: once_cell::sync::Lazy<T,F>::force::{{closure}} (lib.rs:1001)
==108376== by 0x206D3E: once_cell::sync::OnceCell<T>::get_or_init::{{closure}} (lib.rs:834)
==108376== by 0x1E4608: once_cell::imp::OnceCell<T>::initialize::{{closure}} (imp_std.rs:93)
==108376== by 0x266724: once_cell::imp::initialize_inner (imp_std.rs:167)
==108376== by 0x1E4591: once_cell::imp::OnceCell<T>::initialize (imp_std.rs:91)
==108376== by 0x206F7F: once_cell::sync::OnceCell<T>::get_or_try_init (lib.rs:874)
==108376== by 0x206CBD: once_cell::sync::OnceCell<T>::get_or_init (lib.rs:834)
==108376== by 0x206AF5: once_cell::sync::Lazy<T,F>::force (lib.rs:1000)
==108376== by 0x205CDE: <once_cell::sync::Lazy<T,F> as core::ops::deref::Deref>::deref (lib.rs:1010)
==108376== by 0x1F3C23: tokio::signal::registry::globals (registry.rs:175)
==108376== by 0x21AE4E: tokio::signal::unix::driver::Driver::new (driver.rs:71)
==108376== by 0x1F29C8: tokio::runtime::driver::create_signal_driver (driver.rs:60)
==108376== by 0x1F236A: tokio::runtime::driver::create_io_stack (driver.rs:25)
==108376== by 0x1F1B8D: tokio::runtime::driver::Driver::new (driver.rs:169)
==108376== by 0x22DB3E: tokio::runtime::builder::Builder::build_threaded_runtime (builder.rs:501)
==108376== by 0x22D3B6: tokio::runtime::builder::Builder::build (builder.rs:376)
==108376== by 0x19D27F: tokio_issue_2535::main (main.rs:4)
==108376== by 0x1A039A: core::ops::function::FnOnce::call_once (function.rs:227)
==108376== by 0x19729D: std::sys_common::backtrace::__rust_begin_short_backtrace (backtrace.rs:125)
==108376== by 0x197B00: std::rt::lang_start::{{closure}} (rt.rs:66)
==108376== by 0x29DD36: call_once<(),Fn<()>> (function.rs:259)
==108376== by 0x29DD36: do_call<&Fn<()>,i32> (panicking.rs:381)
==108376== by 0x29DD36: try<i32,&Fn<()>> (panicking.rs:345)
==108376== by 0x29DD36: catch_unwind<&Fn<()>,i32> (panic.rs:396)
==108376== by 0x29DD36: std::rt::lang_start_internal (rt.rs:51)
==108376== by 0x197AD6: std::rt::lang_start (rt.rs:65)
==108376== by 0x19D3F9: main (in .../issue-repros/tokio-issue-2535/target/debug/tokio-issue-2535)
==108376==
==108376== LEAK SUMMARY:
==108376== definitely lost: 0 bytes in 0 blocks
==108376== indirectly lost: 0 bytes in 0 blocks
==108376== possibly lost: 1,188 bytes in 3 blocks
==108376== still reachable: 5,096 bytes in 44 blocks
==108376== suppressed: 0 bytes in 0 blocks
==108376==
==108376== For lists of detected and suppressed errors, rerun with: -s
==108376== ERROR SUMMARY: 3 errors from 3 contexts (suppressed: 0 from 0)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment