Skip to content

[DocDB] Crash Observed in TransactionParticipant::Impl::Abort #25689

Closed
@shamanthchandra-yb

Description

Jira Link: DB-14948

Description

Version: 2.25.1.0-b203

Packed toggle off/on stress testcase failed because of:

* thread #1, name = 'yb-tserver', stop reason = signal SIGABRT
  * frame #0: 0x00007f4ecfd66acf libc.so.6`raise + 271
    frame #1: 0x00007f4ecfd39ea5 libc.so.6`abort + 295
    frame #2: 0x00005606b0891403 yb-server`abort_message + 195
    frame #3: 0x00005606b0890f9c yb-server`demangling_terminate_handler() + 268
    frame #4: 0x00005606b0890c66 yb-server`std::__terminate(void (*)()) + 6
    frame #5: 0x00005606b0892bab yb-server`__cxxabiv1::failed_throw(__cxxabiv1::__cxa_exception*) + 27
    frame #6: 0x00005606b0892b3f yb-server`__cxa_throw + 111
    frame #7: 0x00005606ae47cd1e yb-server`std::__1::__throw_bad_weak_ptr[abi:ue170006]() at shared_ptr.h:137:5
    frame #8: 0x00005606af954382 yb-server`yb::tablet::TransactionParticipant::Impl::Abort(yb::StronglyTypedUuid<yb::TransactionId_Tag> const&, std::__1::function<void (yb::Result<yb::TransactionStatusResult>)>) [inlined] std::__1::shared_ptr<yb::tablet::RunningTransaction>::shared_ptr[abi:ue170006]<yb::tablet::RunningTransaction, void>(this=<unavailable>, __r=std::__1::weak_ptr<yb::tablet::RunningTransaction>::element_type @ 0x0000162400000001) at shared_ptr.h:704:13
    frame #9: 0x00005606af954334 yb-server`yb::tablet::TransactionParticipant::Impl::Abort(yb::StronglyTypedUuid<yb::TransactionId_Tag> const&, std::__1::function<void (yb::Result<yb::TransactionStatusResult>)>) [inlined] std::__1::enable_shared_from_this<yb::tablet::RunningTransaction>::shared_from_this[abi:ue170006](this=0x00001624cd5da018) at shared_ptr.h:1954:17
    frame #10: 0x00005606af954334 yb-server`yb::tablet::TransactionParticipant::Impl::Abort(yb::StronglyTypedUuid<yb::TransactionId_Tag> const&, std::__1::function<void (yb::Result<yb::TransactionStatusResult>)>) [inlined] yb::tablet::RunningTransaction::Abort(this=0x00001624cd5da018, client=0x00001624fd7d7f10, callback=yb::TransactionStatusCallback @ 0x00007f4babc39700, lock=0x00007f4babc396e0)>, std::__1::unique_lock<std::__1::mutex>*) at running_transaction.cc:200:34
    frame #11: 0x00005606af953ccf yb-server`yb::tablet::TransactionParticipant::Impl::Abort(this=<unavailable>, id=<unavailable>, callback=<unavailable>)>) at transaction_participant.cc:707:45
    frame #12: 0x00005606af95d7d4 yb-server`yb::tablet::TransactionParticipant::StopActiveTxnsPriorTo(yb::HybridTime, std::__1::chrono::time_point<yb::CoarseMonoClock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l>>>, yb::StronglyTypedUuid<yb::TransactionId_Tag>*) at transaction_participant.cc:1355:7
    frame #13: 0x00005606af95d3e5 yb-server`yb::tablet::TransactionParticipant::StopActiveTxnsPriorTo(this=<unavailable>, cutoff=<unavailable>, deadline=yb::CoarseTimePoint @ 0x00007f4babc398b8, exclude_txn_id=<unavailable>) at transaction_participant.cc:2700:17
    frame #14: 0x00005606afc07a35 yb-server`yb::tserver::TabletServiceAdminImpl::AlterSchema(this=0x00001624fb36c020, req=0x00001624fc146320, resp=0x00001624fc1463d0, context=<unavailable>) at tablet_service.cc:1022:65
    frame #15: 0x00005606afd264b2 yb-server`std::__1::__function::__func<yb::tserver::TabletServerAdminServiceIf::InitMethods(scoped_refptr<yb::MetricEntity> const&)::$_3, std::__1::allocator<yb::tserver::TabletServerAdminServiceIf::InitMethods(scoped_refptr<yb::MetricEntity> const&)::$_3>, void (std::__1::shared_ptr<yb::rpc::InboundCall>)>::operator()(std::__1::shared_ptr<yb::rpc::InboundCall>&&) [inlined] yb::tserver::TabletServerAdminServiceIf::InitMethods(this=<unavailable>, req=<unavailable>, resp=<unavailable>, rpc_context=RpcContext @ 0x00007f4babc39c80)::$_3::operator()(std::__1::shared_ptr<yb::rpc::InboundCall>) const::'lambda'(yb::tablet::ChangeMetadataRequestPB const*, yb::tserver::ChangeMetadataResponsePB*, yb::rpc::RpcContext)::operator()(yb::tablet::ChangeMetadataRequestPB const*, yb::tserver::ChangeMetadataResponsePB*, yb::rpc::RpcContext) const at tserver_admin.service.cc:473:9
    frame #16: 0x00005606afd2647a yb-server`std::__1::__function::__func<yb::tserver::TabletServerAdminServiceIf::InitMethods(scoped_refptr<yb::MetricEntity> const&)::$_3, std::__1::allocator<yb::tserver::TabletServerAdminServiceIf::InitMethods(scoped_refptr<yb::MetricEntity> const&)::$_3>, void (std::__1::shared_ptr<yb::rpc::InboundCall>)>::operator()(std::__1::shared_ptr<yb::rpc::InboundCall>&&) at local_call.h:126:7
    frame #17: 0x00005606afd26054 yb-server`std::__1::__function::__func<yb::tserver::TabletServerAdminServiceIf::InitMethods(scoped_refptr<yb::MetricEntity> const&)::$_3, std::__1::allocator<yb::tserver::TabletServerAdminServiceIf::InitMethods(scoped_refptr<yb::MetricEntity> const&)::$_3>, void (std::__1::shared_ptr<yb::rpc::InboundCall>)>::operator()(std::__1::shared_ptr<yb::rpc::InboundCall>&&) [inlined] yb::tserver::TabletServerAdminServiceIf::InitMethods(this=<unavailable>, call=<unavailable>)::$_3::operator()(std::__1::shared_ptr<yb::rpc::InboundCall>) const at tserver_admin.service.cc:471:7
    frame #18: 0x00005606afd25fc5 yb-server`std::__1::__function::__func<yb::tserver::TabletServerAdminServiceIf::InitMethods(scoped_refptr<yb::MetricEntity> const&)::$_3, std::__1::allocator<yb::tserver::TabletServerAdminServiceIf::InitMethods(scoped_refptr<yb::MetricEntity> const&)::$_3>, void (std::__1::shared_ptr<yb::rpc::InboundCall>)>::operator()(std::__1::shared_ptr<yb::rpc::InboundCall>&&) [inlined] decltype(__f=<unavailable>, __args=<unavailable>)::$_3&>()(std::declval<std::__1::shared_ptr<yb::rpc::InboundCall>>())) std::__1::__invoke[abi:ue170006]<yb::tserver::TabletServerAdminServiceIf::InitMethods(scoped_refptr<yb::MetricEntity> const&)::$_3&, std::__1::shared_ptr<yb::rpc::InboundCall>>(yb::tserver::TabletServerAdminServiceIf::InitMethods(scoped_refptr<yb::MetricEntity> const&)::$_3&, std::__1::shared_ptr<yb::rpc::InboundCall>&&) at invoke.h:340:25
    frame #19: 0x00005606afd25fa4 yb-server`std::__1::__function::__func<yb::tserver::TabletServerAdminServiceIf::InitMethods(scoped_refptr<yb::MetricEntity> const&)::$_3, std::__1::allocator<yb::tserver::TabletServerAdminServiceIf::InitMethods(scoped_refptr<yb::MetricEntity> const&)::$_3>, void (std::__1::shared_ptr<yb::rpc::InboundCall>)>::operator()(std::__1::shared_ptr<yb::rpc::InboundCall>&&) [inlined] void std::__1::__invoke_void_return_wrapper<void, true>::__call[abi:ue170006]<yb::tserver::TabletServerAdminServiceIf::InitMethods(__args=<unavailable>, __args=<unavailable>)::$_3&, std::__1::shared_ptr<yb::rpc::InboundCall>>(yb::tserver::TabletServerAdminServiceIf::InitMethods(scoped_refptr<yb::MetricEntity> const&)::$_3&, std::__1::shared_ptr<yb::rpc::InboundCall>&&) at invoke.h:415:5
    frame #20: 0x00005606afd25fa4 yb-server`std::__1::__function::__func<yb::tserver::TabletServerAdminServiceIf::InitMethods(scoped_refptr<yb::MetricEntity> const&)::$_3, std::__1::allocator<yb::tserver::TabletServerAdminServiceIf::InitMethods(scoped_refptr<yb::MetricEntity> const&)::$_3>, void (std::__1::shared_ptr<yb::rpc::InboundCall>)>::operator()(std::__1::shared_ptr<yb::rpc::InboundCall>&&) [inlined] std::__1::__function::__alloc_func<yb::tserver::TabletServerAdminServiceIf::InitMethods(scoped_refptr<yb::MetricEntity> const&)::$_3, std::__1::allocator<yb::tserver::TabletServerAdminServiceIf::InitMethods(scoped_refptr<yb::MetricEntity> const&)::$_3>, void (std::__1::shared_ptr<yb::rpc::InboundCall>)>::operator(this=<unavailable>, __arg=<unavailable>)[abi:ue170006](std::__1::shared_ptr<yb::rpc::InboundCall>&&) at function.h:192:16
    frame #21: 0x00005606afd25fa4 yb-server`std::__1::__function::__func<yb::tserver::TabletServerAdminServiceIf::InitMethods(scoped_refptr<yb::MetricEntity> const&)::$_3, std::__1::allocator<yb::tserver::TabletServerAdminServiceIf::InitMethods(scoped_refptr<yb::MetricEntity> const&)::$_3>, void (std::__1::shared_ptr<yb::rpc::InboundCall>)>::operator(this=<unavailable>, __arg=<unavailable>)(std::__1::shared_ptr<yb::rpc::InboundCall>&&) at function.h:363:12
    frame #22: 0x00005606afd28f6f yb-server`yb::tserver::TabletServerAdminServiceIf::Handle(std::__1::shared_ptr<yb::rpc::InboundCall>) [inlined] std::__1::__function::__value_func<void (std::__1::shared_ptr<yb::rpc::InboundCall>)>::operator(this=<unavailable>, __args=nullptr)[abi:ue170006](std::__1::shared_ptr<yb::rpc::InboundCall>&&) const at function.h:517:16
    frame #23: 0x00005606afd28f50 yb-server`yb::tserver::TabletServerAdminServiceIf::Handle(std::__1::shared_ptr<yb::rpc::InboundCall>) [inlined] std::__1::function<void (std::__1::shared_ptr<yb::rpc::InboundCall>)>::operator(this=<unavailable>, __arg=nullptr)(std::__1::shared_ptr<yb::rpc::InboundCall>) const at function.h:1168:12
    frame #24: 0x00005606afd28f50 yb-server`yb::tserver::TabletServerAdminServiceIf::Handle(this=<unavailable>, call=<unavailable>) at tserver_admin.service.cc:411:3
    frame #25: 0x00005606af79e140 yb-server`yb::rpc::ServicePoolImpl::Handle(this=0x00001624fb924240, incoming=<unavailable>) at service_pool.cc:269:19
    frame #26: 0x00005606af6b7e7f yb-server`yb::rpc::InboundCall::InboundCallTask::Run(this=<unavailable>) at inbound_call.cc:317:13
    frame #27: 0x00005606af7ad9b3 yb-server`yb::rpc::(anonymous namespace)::Worker::Execute(this=0x000016255f97d340) at thread_pool.cc:115:15
    frame #28: 0x00005606b0094193 yb-server`yb::Thread::SuperviseThread(void*) [inlined] std::__1::__function::__value_func<void ()>::operator(this=0x00001625bc4ed6e0)[abi:ue170006]() const at function.h:517:16
    frame #29: 0x00005606b009417d yb-server`yb::Thread::SuperviseThread(void*) [inlined] std::__1::function<void ()>::operator(this=0x00001625bc4ed6e0)() const at function.h:1168:12
    frame #30: 0x00005606b009417d yb-server`yb::Thread::SuperviseThread(arg=0x00001625bc4ed680) at thread.cc:895:3
    frame #31: 0x00007f4ecfb001ca libpthread.so.0`start_thread + 234
    frame #32: 0x00007f4ecfd51e73 libc.so.6`__clone + 67

Issue Type

kind/bug

Warning: Please confirm that this issue does not contain any sensitive information

  • I confirm this issue does not contain any sensitive information.

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions