dragonflydb / dragonfly

A modern replacement for Redis and Memcached
https://www.dragonflydb.io/
Other
25.27k stars 909 forks source link

Cluster migration bug #3402

Closed dranikpg closed 1 month ago

dranikpg commented 1 month ago

Discovered when playing with migrations + replication

2831

30001➜ SIGSEGV received at time=1722195802 on cpu 6 ***
30001➜    @     0x555f9d1f490b         64  dfly::cluster::OutgoingMigration::OnAllShards()
30001➜    @     0x555f9d1eab95         32  std::_Destroy<>()
30001➜    @     0x555f9cd29cb7        112  std::_Sp_counted_base<>::_M_release()
30001➜    @     0x555f9ce3c0bc         32  std::__shared_ptr<>::~__shared_ptr()
30001➜    @     0x555f9ce3c0f3         32  std::_Destroy<>()
30001➜    @     0x555f9ce2d4c1         32  std::_Destroy<>()
30001➜    @     0x555f9ce15160         32  dfly::cluster::ClusterFamily::~ClusterFamily()
30001➜    @     0x555f9cd09ce5       1712  dfly::(anonymous namespace)::RunEngine()
30001➜    @     0x555f9cd07685  (unknown)  _start
dranikpg commented 1 month ago

Actually connected to #3228

dranikpg commented 1 month ago
30001➜ SIGSEGV received at time=1722236112 on cpu 0 ***
30001➜ @     0x55f4096b9636  (unknown)  dfly::ServerState::gstate()
30001➜    @     0x55f40a10c7ef         96  absl::lts_20240116::AbslFailureSignalHandler()
30001➜    @     0x55f40979a6c0         64  dfly::Pause()::{lambda()#1}::operator()()
30001➜    @     0x55f4097d7c37         32  std::__invoke_impl<>()
30001➜    @     0x55f4097cabd8         32  std::__apply_impl<>()
30001➜    @     0x55f4097cac9a        144  util::fb2::detail::WorkerFiberImpl<>::run_()
30001➜    @     0x55f4097efbda         80  std::__invoke_impl<>()
30001➜    @     0x55f4097e8642         80  std::__invoke<>()
30001➜    @     0x55f4097de04c         80  boost::context::detail::fiber_record<>::run()
30001➜    @     0x55f4097d7d68         48  boost::context::detail::fiber_entry<>()
dranikpg commented 1 month ago

Closed by #3405