Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Dragonfly crashes during RaxTreeMap::try_emplace #4172

Open
BagritsevichStepan opened this issue Nov 23, 2024 · 0 comments · May be fixed by #4228
Open

Dragonfly crashes during RaxTreeMap::try_emplace #4172

BagritsevichStepan opened this issue Nov 23, 2024 · 0 comments · May be fixed by #4228
Assignees
Labels
bug Something isn't working

Comments

@BagritsevichStepan
Copy link
Contributor

BagritsevichStepan commented Nov 23, 2024

We are getting two different crashes:

*** SIGSEGV received at time=1732872590 on cpu 0 ***

PC: @ 0x58984f9d8481 (unknown) raxLowWalk
@ 0x58984fc2d244 64 absl::lts_20240116::WriteFailureInfo()
@ 0x58984fc2d4c0 96 absl::lts_20240116::AbslFailureSignalHandler()

@ 0x7018ddc45320 1568 (unknown)
@ 0x58984f90991f 96 raxFind
@ 0x58984f8e50e1 176 dfly::search::RaxTreeMap<>::find()
@ 0x58984f8e57cf 256 dfly::search::RaxTreeMap<>::try_emplace<>()
@ 0x58984f8dc755 208 dfly::search::BaseStringIndex<>::GetOrCreate()
@ 0x58984f8dbadc 272 dfly::search::BaseStringIndex<>::Add()
@ 0x58984f8a2cbb 144 dfly::search::FieldIndices::Add()::{lambda()#1}::operator()<>
@ 0x58984f8a2f65 208 dfly::search::FieldIndices::Add()
@ 0x58984f46e7eb 64 dfly::ShardDocIndex::Rebuild()::{lambda()#1}::operator()()
@ 0x58984f471c30 128 dfly::(anonymous namespace)::TraverseAllMatching<>()::{lambda()#1}::operator()()
@ 0x58984f4723e5 80 dfly::DashTable<>::Traverse<>()::{lambda()#1}::operator()()
@ 0x58984f473512 80 dfly::detail::Segment<>::TraverseLogicalBucket<>()::{lambda()#1}::operator()<>
@ 0x58984f47359d 64 dfly::detail::Segment<>::Bucket::ForEachSlotImpl<>()
@ 0x58984f472fea 32 dfly::detail::Segment<>::Bucket::ForEachSlot<>() 
@ 0x58984f472aa0 128 dfly::detail::Segment<>::TraverseLogicalBucket<>()
@ 0x58984f472519 128 dfly::DashTable<>::Traverse<>()
@ 0x58984f471e6c 256 dfly::(anonymous namespace)::TraverseAllMatching<>()
@ 0x58984f46e904 192 dfly::ShardDocIndex::Rebuild()
@ 0x58984f4706b5 192 dfly::ShardDocIndices::InitIndex()
@ 0x58984f3c224f 128 dfly::SearchFamily::FtCreate()::{lambda()#2}::operator()()

Another one:

db        | *** SIGSEGV received at time=1731953361 on cpu 1 ***
db        | PC: @       0x5567a95628  (unknown)  jsoncons::basic_json<>::uninitialized_copy()
db        |     @       0x55683ef924        480  absl::lts_20240116::AbslFailureSignalHandler()
db        |     @       0x7fa22577a0       4960  (unknown)
db        |     @       0x5567bef6bc        128  std::vector<>::_M_realloc_insert<>()
db        |     @       0x556814a328         96  dfly::json::detail::Dfs::PerformStep()
db        |     @       0x556814ad18        256  dfly::json::detail::Dfs::Traverse()
db        | [failure_signal_handler.cc : 345] RAW: Signal 11 raised at PC=0x5567dc05e8 while already in AbslFailureSignalHandler()
db        |     @       0x556813dacc        208  dfly::json::EvaluatePath()
db        |     @       0x5567be7ec0        240  std::__detail::__variant::__gen_vtable_impl<>::__visit_invoke()
db        |     @       0x5567be43a4         48  dfly::JsonAccessor::GetStrings()
db        |     @       0x5567dc9a34        256  dfly::search::BaseStringIndex<>::Add()
db        |     @       0x5567da9920        336  dfly::search::FieldIndices::Add()
db        |     @       0x5567bdb324        112  dfly::ShardDocIndex::Rebuild()
db        |     @       0x5567bdd968        384  dfly::ShardDocIndices::InitIndex()
db        |     @       0x5567b8ddec        240  absl::lts_20240116::functional_internal::InvokeObject<>()
db        |     @       0x5567d31b28        112  dfly::Transaction::RunCallback()
db        |     @       0x5567d34554        304  dfly::Transaction::RunInShard()
db        |     @       0x5567c83d54        384  dfly::EngineShard::PollExecution()
db        |     @       0x5567d2dc64        352  std::_Function_handler<>::_M_invoke()
db        | [failure_signal_handler.cc : 345] RAW: Signal 11 raised at PC=0x5567e3e460 while already in AbslFailureSignalHandler()
db        |     @       0x55681e66d0        144  util::fb2::FiberQueue::Run()
db        | [failure_signal_handler.cc : 345] RAW: Signal 11 raised at PC=0x5567e3db78 while already in AbslFailureSignalHandler()
db        |     @       0x5567d75dd4        288  boost::context::detail::fiber_entry<>()

The problem occurs due to elements destructing in the RaxTreeMap::~RaxTreeMap().

@BagritsevichStepan BagritsevichStepan added the bug Something isn't working label Nov 23, 2024
@BagritsevichStepan BagritsevichStepan self-assigned this Nov 23, 2024
@BagritsevichStepan BagritsevichStepan changed the title Dragonfly crashes during JsonAccessor::GetStrings Dragonfly crashes during RaxTreeMap::try_emplace Nov 29, 2024
BagritsevichStepan added a commit to BagritsevichStepan/dragonfly that referenced this issue Nov 29, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant