Skip to content

random crash on mimalloc when df was shut down via signal (ctrl+c) #3113

@kostasrim

Description

@kostasrim

I found this randomly while I trying to reproduce another issue (maybe related to #3107)

To reprodce:

SADD set "hello"
RENAME set key

Then ctrl+c on df and it crashes.

F20240601 14:32:55.616122 87017 mi_memory_resource.cc:35] Check failed: size > 33554400 || mi_heap_contains_block(heap_, ptr) 
*** Check failure stack trace: ***
    @     0x6551908ff39b  google::LogMessage::Fail()
    @     0x6551908ff2e1  google::LogMessage::SendToLog()
    @     0x6551908feab6  google::LogMessage::Flush()
    @     0x65519090292e  google::LogMessageFatal::~LogMessageFatal()
    @     0x6551902aa735  dfly::MiMemoryResource::do_deallocate()
    @     0x65518fb0efe2  std::pmr::memory_resource::deallocate()
    @     0x65518fd36f74  dfly::CompactObj::DeleteMR<>()
    @     0x655190288f11  dfly::(anonymous namespace)::FreeObjSet()
    @     0x65519028a1f4  dfly::detail::RobjWrapper::Free()
    @     0x65519028ee37  dfly::CompactObj::Free()
    @     0x65519028ed3e  dfly::CompactObj::Reset()
    @     0x655190198a31  dfly::detail::PrimeTablePolicy::DestroyValue()
    @     0x65519020ac6c  _ZZZN4dfly9DashTableINS_10CompactObjES1_NS_6detail16PrimeTablePolicyEE5ClearEvENKUlPNS2_7SegmentIS1_S1_S3_EEE_clES7_ENKUlRKNS6_8IteratorEE_clESB_
    @     0x65519020ddd6  _ZZNK4dfly6detail7SegmentINS_10CompactObjES2_NS0_16PrimeTablePolicyEE11TraverseAllIZZNS_9DashTableIS2_S2_S3_E5ClearEvENKUlPS4_E_clES8_EUlRKNS4_8IteratorEE_EEvOT_ENKUlPSE_hbE_clIKNS4_6BucketEEEDaSG_hb
    @     0x65519020de65  _ZNK4dfly6detail7SegmentINS_10CompactObjES2_NS0_16PrimeTablePolicyEE6Bucket15ForEachSlotImplIPKS5_ZNKS4_11TraverseAllIZZNS_9DashTableIS2_S2_S3_E5ClearEvENKUlPS4_E_clESC_EUlRKNS4_8IteratorEE_EEvOT_EUlPSI_hbE_EEvSI_OT0_
    @     0x65519020d560  _ZNK4dfly6detail7SegmentINS_10CompactObjES2_NS0_16PrimeTablePolicyEE6Bucket11ForEachSlotIZNKS4_11TraverseAllIZZNS_9DashTableIS2_S2_S3_E5ClearEvENKUlPS4_E_clESA_EUlRKNS4_8IteratorEE_EEvOT_EUlPSG_hbE_EEvSH_
    @     0x65519020c4b3  _ZNK4dfly6detail7SegmentINS_10CompactObjES2_NS0_16PrimeTablePolicyEE11TraverseAllIZZNS_9DashTableIS2_S2_S3_E5ClearEvENKUlPS4_E_clES8_EUlRKNS4_8IteratorEE_EEvOT_
    @     0x65519020abd3  _ZZN4dfly9DashTableINS_10CompactObjES1_NS_6detail16PrimeTablePolicyEE5ClearEvENKUlPNS2_7SegmentIS1_S1_S3_EEE_clES7_
    @     0x65519020c582  _ZN4dfly9DashTableINS_10CompactObjES1_NS_6detail16PrimeTablePolicyEE15IterateDistinctIRZNS4_5ClearEvEUlPNS2_7SegmentIS1_S1_S3_EEE_EEvOT_
    @     0x65519020acab  dfly::DashTable<>::Clear()
    @     0x65519020a339  dfly::DashTable<>::~DashTable()
    @     0x65519020853f  dfly::DbTable::~DbTable()
    @     0x65518fd7929d  boost::sp_adl_block::intrusive_ptr_release<>()
    @     0x65518fd78b5b  boost::intrusive_ptr<>::~intrusive_ptr()
    @     0x65519019a240  boost::intrusive_ptr<>::reset()
    @     0x65519018353b  dfly::DbSlice::~DbSlice()
    @     0x65518fff1e4b  dfly::EngineShard::~EngineShard()
    @     0x65518fff27a3  dfly::EngineShard::DestroyThreadLocal()
    @     0x65518fff5af5  _ZZN4dfly14EngineShardSet8ShutdownEvENKUlPNS_11EngineShardEE_clES2_
    @     0x65518fff6bfc  _ZZN4dfly14EngineShardSet21RunBlockingInParallelIZNS0_8ShutdownEvEUlPNS_11EngineShardEE_ZNS0_21RunBlockingInParallelIS4_EEvOT_EUlS6_E_EEvS7_OT0_ENUlvE_clEv
    @     0x65518fffeebe  _ZSt13__invoke_implIvZN4dfly14EngineShardSet21RunBlockingInParallelIZNS1_8ShutdownEvEUlPNS0_11EngineShardEE_ZNS1_21RunBlockingInParallelIS5_EEvOT_EUlS7_E_EEvS8_OT0_EUlvE_JEES7_St14__invoke_otherSB_DpOT1_
    @     0x65518fffe035  _ZSt8__invokeIZN4dfly14EngineShardSet21RunBlockingInParallelIZNS1_8ShutdownEvEUlPNS0_11EngineShardEE_ZNS1_21RunBlockingInParallelIS5_EEvOT_EUlS7_E_EEvS8_OT0_EUlvE_JEENSt15__invoke_resultIS7_JDpT0_EE4typeES8_DpOSE_
*** SIGABRT received at time=1717241575 on cpu 7 ***
PC: @     0x7ba569e969fc  (unknown)  pthread_kill
    @     0x655190985e1b         64  absl::lts_20240116::WriteFailureInfo()
    @     0x655190986075         96  absl::lts_20240116::AbslFailureSignalHandler()
    @     0x7ba569e42520  (unknown)  (unknown)
[1]    87009 IOT instruction (core dumped)  ./dragonfly --alsologtostderr

Metadata

Metadata

Labels

Next Uptask that is ready to be worked on and should be added to working queuebugSomething isn't workinggood first issueGood for newcomers

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions