When our rust app upgrade parking_lot from version 0.12.4 to 0.12.5 with deadlock_detection feature enabled, we start seeing SIGSEGV error from our error log.
From our core dump debugger, we found the following trace:
#0 __GI_abort () at ./stdlib/abort.c:107
--
#1 0x0000576648d8a68a in std::sys::pal::unix::abort_internal ()
#2 0x0000576648d94999 in std::process::abort ()
#3 0x0000576648d98379 in std::panicking::panic_with_hook ()
#4 0x0000576648d9805a in std::panicking::panic_handler::{{closure}} ()
#5 0x0000576648d901f9 in std::sys::backtrace::__rust_end_short_backtrace ()
#6 0x0000576648d79d3d in __rustc::rust_begin_unwind ()
#7 0x0000576647f4935c in core::panicking::panic_fmt ()
#8 0x0000576648d92146 in std::thread::current::init_current ()
#9 0x0000576647e5f247 in std::sys::thread_local::native::lazy::Storage<T,D>::get_or_init_slow ()
#10 0x0000576647e955f7 in crossbeam_channel::waker::SyncWaker::notify ()
#11 0x0000576647e9624b in crossbeam_channel::flavors::array::Channel<T>::send ()
#12 0x0000576647ed1f82 in crossbeam_channel::channel::Sender<T>::send ()
#13 0x0000576647eb22cb in bugsnag_shopify::transport::Transport::new::{{closure}} ()
#14 0x0000576648d98282 in std::panicking::panic_with_hook ()
#15 0x0000576648d9805a in std::panicking::panic_handler::{{closure}} ()
#16 0x0000576648d901f9 in std::sys::backtrace::__rust_end_short_backtrace ()
#17 0x0000576648d79d3d in __rustc::rust_begin_unwind ()
#18 0x0000576647f4935c in core::panicking::panic_fmt ()
#19 0x0000576648d92146 in std::thread::current::init_current ()
#20 0x00005766489635d6 in parking_lot_core::parking_lot::ThreadData::new ()
#21 0x0000576648960c99 in parking_lot_core::parking_lot::deadlock_impl::acquire_resource ()
#22 0x00005766489972fe in perf_signal_handler ()
After we removed deadlock_detection feature, the error is gone.
When our rust app upgrade
parking_lotfrom version0.12.4to0.12.5withdeadlock_detectionfeature enabled, we start seeing SIGSEGV error from our error log.From our core dump debugger, we found the following trace:
After we removed
deadlock_detectionfeature, the error is gone.