Actions
Bug #46668
closedObject dispatch layers need to ensure all IO is complete prior to shut down
Status:
Resolved
Priority:
Normal
Assignee:
Jason Dillaman
Target version:
-
% Done:
0%
Source:
Tags:
Backport:
octopus
Regression:
No
Severity:
3 - minor
Reviewed:
Description
The unit tests may periodically crash if there is in-flight IO when the image is closed. The "AioCompletion" will track any in-flight image-extent IO, but object-dispatch layers like SimpleSchedulerObjectDispatch do not track any queued IO.
#0 boost::circular_buffer<unsigned long, std::allocator<unsigned long> >::capacity (this=0xf0, this=0xf0) at /home/jdillaman/ceph_wip/build/boost/include/boost/circular_buffer/base.hpp:1473 #1 boost::circular_buffer<unsigned long, std::allocator<unsigned long> >::full (this=<optimized out>) at /home/jdillaman/ceph_wip/build/boost/include/boost/circular_buffer/base.hpp:821 #2 boost::circular_buffer<unsigned long, std::allocator<unsigned long> >::push_back_impl<unsigned long const&> (item=<synthetic pointer>: 1750882, this=0xf0) at /home/jdillaman/ceph_wip/build/boost/include/boost/circular_buffer/base.hpp:1420 #3 boost::circular_buffer<unsigned long, std::allocator<unsigned long> >::push_back (item=<synthetic pointer>: 1750882, this=0xf0) at /home/jdillaman/ceph_wip/build/boost/include/boost/circular_buffer/base.hpp:1474 #4 boost::accumulators::impl::rolling_window_plus1_impl<unsigned long>::operator()<boost::parameter::aux::flat_like_arg_list<boost::parameter::aux::flat_like_arg_tuple<boost::accumulators::tag::accumulator, boost::parameter::aux::tagged_argument<boost::accumulators::tag::accumulator, boost::accumulators::accumulator_set<unsigned long, boost::accumulators::stats<boost::accumulators::tag::rolling_count, boost::accumulators::tag::rolling_sum, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, void> >, std::integral_constant<bool, true> >, boost::parameter::aux::flat_like_arg_tuple<boost::accumulators::tag::sample, boost::parameter::aux::tagged_argument<boost::accumulators::tag::sample, unsigned long const>, std::integral_constant<bool, true> > > > (args=..., this=0xf0) at /home/jdillaman/ceph_wip/build/boost/include/boost/accumulators/statistics/rolling_window.hpp:110 #5 boost::accumulators::detail::accumulator_visitor<boost::parameter::aux::flat_like_arg_list<boost::parameter::aux::flat_like_arg_tuple<boost::accumulators::tag::accumulator, boost::parameter::aux::tagged_argument<boost::accumulators::tag::accumulator, boost::accumulators::accumulator_set<unsigned long, boost::accumulators::stats<boost::accumulators::tag::rolling_count, boost::accumulators::tag::rolling_sum, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, void> >, std::integral_constant<bool, true> >, boost::parameter::aux::flat_like_arg_tuple<boost::accumulators::tag::sample, boost::parameter::aux::tagged_argument<boost::accumulators::tag::sample, unsigned long const>, std::integral_constant<bool, true> > > >::operator()<boost::accumulators::detail::accumulator_wrapper<boost::accumulators::impl::rolling_window_plus1_impl<unsigned long>, boost::accumulators::tag::rolling_window_plus1> > (this=<synthetic pointer>, accumulator=...) at /home/jdillaman/ceph_wip/build/boost/include/boost/accumulators/framework/accumulator_set.hpp:60 #6 boost::fusion::detail::for_each_linear<boost::fusion::cons_iterator<boost::fusion::cons<boost::accumulators::detail::accumulator_wrapper<boost::accumulators::impl::rolling_window_plus1_impl<unsigned long>, boost::accumulators::tag::rolling_window_plus1>, boost::fusion::cons<boost::accumulators::detail::accumulator_wrapper<boost::accumulators::impl::rolling_count_impl<unsigned long>, boost::accumulators::tag::rolling_count>, boost::fusion::cons<boost::accumulators::detail::accumulator_wrapper<boost::accumulators::impl::rolling_sum_impl<unsigned long>, boost::accumulators::tag::rolling_sum>, boost::fusion::nil_> > > >, boost::fusion::cons_iterator<boost::fusion::nil_>, boost::accumulators::detail::accumulator_visitor<boost::parameter::aux::flat_like_arg_list<boost::parameter::aux::flat_like_arg_tuple<boost::accumulators::tag::accumulator, boost::parameter::aux::tagged_argument<boost::accumulators::tag::accumulator, boost::accumulators::accumulator_set<unsigned long, boost::accumulators::stats<boost::accumulators::tag::rolling_count, boost::accumulators::tag::rolling_sum, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, void> >, std::integral_constant<bool, true> >, boost::parameter::aux::flat_like_arg_tuple<boost::accumulators::tag::sample, boost::parameter::aux::tagged_argument<boost::accumulators::tag::sample, unsigned long const>, std::integral_constant<bool, true> > > > > (last=..., f=<synthetic pointer>..., first=...) at /home/jdillaman/ceph_wip/build/boost/include/boost/fusion/algorithm/iteration/detail/for_each.hpp:35 #7 boost::fusion::detail::for_each_dispatch<boost::fusion::cons<boost::accumulators::detail::accumulator_wrapper<boost::accumulators::impl::rolling_window_plus1_impl<unsigned long>, boost::accumulators::tag::rolling_window_plus1>, boost::fusion::cons<boost::accumulators::detail::accumulator_wrapper<boost::accumulators::impl::rolling_count_impl<unsigned long>, boost::accumulators::tag::rolling_count>, boost::fusion::cons<boost::accumulators::detail::accumulator_wrapper<boost::accumulators::impl::rolling_sum_impl<unsigned long>, boost::accumulators::tag::rolling_sum>, boost::fusion::nil_> > >, boost::accumulators::detail::accumulator_visitor<boost::parameter::aux::flat_like_arg_list<boost::parameter::aux::flat_like_arg_tuple<boost::accumulators::tag::accumulator, boost::parameter::aux::tagged_argument<boost::accumulators::tag::accumulator, boost::accumulators::accumulator_set<unsigned long, boost::accumulators::stats<boost::accumulators::tag::rolling_count, boost::accumulators::tag::rolling_sum, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, void> >, std::integral_constant<bool, true> >, boost::parameter::aux::flat_like_arg_tuple<boost::accumulators::tag::sample, boost::parameter::aux::tagged_argument<boost::accumulators::tag::sample, unsigned long const>, std::integral_constant<bool, true> > > >, boost::fusion::forward_traversal_tag> (f=<synthetic pointer>..., seq=...) at /home/jdillaman/ceph_wip/build/boost/include/boost/fusion/algorithm/iteration/detail/for_each.hpp:46 #8 boost::fusion::detail::for_each<boost::fusion::cons<boost::accumulators::detail::accumulator_wrapper<boost::accumulators::impl::rolling_window_plus1_impl<unsigned long>, boost::accumulators::tag::rolling_window_plus1>, boost::fusion::cons<boost::accumulators::detail::accumulator_wrapper<boost::accumulators::impl::rolling_count_impl<unsigned long>, boost::accumulators::tag::rolling_count>, boost::fusion::cons<boost::accumulators::detail::accumulator_wrapper<boost::accumulators::impl::rolling_sum_impl<unsigned long>, boost::accumulators::tag::rolling_sum>, boost::fusion::nil_> > >, boost::accumulators::detail::accumulator_visitor<boost::parameter::aux::flat_like_arg_list<boost::parameter::aux::flat_like_arg_tuple<boost::accumulators::tag::accumulator, boost::parameter::aux::tagged_argument<boost::accumulators::tag::accumulator, boost::accumulators::accumulator_set<unsigned long, boost::accumulators::stats<boost::accumulators::tag::rolling_count, boost::accumulators::tag::rolling_sum, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, void> >, std::integral_constant<bool, true> >, boost::parameter::aux::flat_like_arg_tuple<boost::accumulators::tag::sample, boost::parameter::aux::tagged_argument<boost::accumulators::tag::sample, unsigned long const>, std::integral_constant<bool, true> > > > > (f=<synthetic pointer>..., seq=...) at /home/jdillaman/ceph_wip/build/boost/include/boost/fusion/algorithm/iteration/detail/for_each.hpp:143 #9 boost::fusion::for_each<boost::fusion::cons<boost::accumulators::detail::accumulator_wrapper<boost::accumulators::impl::rolling_window_plus1_impl<unsigned long>, boost::accumulators::tag::rolling_window_plus1>, boost::fusion::cons<boost::accumulators::detail::accumulator_wrapper<boost::accumulators::impl::rolling_count_impl<unsigned long>, boost::accumulators::tag::rolling_count>, boost::fusion::cons<boost::accumulators::detail::accumulator_wrapper<boost::accumulators::impl::rolling_sum_impl<unsigned long>, boost::accumulators::tag::rolling_sum>, boost::fusion::nil_> > >, boost::accumulators::detail::accumulator_visitor<boost::parameter::aux::flat_like_arg_list<boost::parameter::aux::flat_like_arg_tuple<boost::accumulators::tag::accumulator, boost::parameter::aux::tagged_argument<boost::accumulators::tag::accumulator, boost::accumulators::accumulator_set<unsigned long, boost::accumulators::stats<boost::accumulators::tag::rolling_count, boost::accumulators::tag::rolling_sum, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, void> >, std::integral_constant<bool, true> >, boost::parameter::aux::flat_like_arg_tuple<boost::accumulators::tag::sample, boost::parameter::aux::tagged_argument<boost::accumulators::tag::sample, unsigned long const>, std::integral_constant<bool, true> > > > > (f=..., seq=...) at /home/jdillaman/ceph_wip/build/boost/include/boost/fusion/algorithm/iteration/for_each.hpp:35 #10 boost::accumulators::accumulator_set<unsigned long, boost::accumulators::stats<boost::accumulators::tag::rolling_count, boost::accumulators::tag::rolling_sum, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, void>::visit<boost::accumulators::detail::accumulator_visitor<boost::parameter::aux::flat_like_arg_list<boost::parameter::aux::flat_like_arg_tuple<boost::accumulators::tag::accumulator, boost::parameter::aux::tagged_argument<boost::accumulators::tag::accumulator, boost::accumulators::accumulator_set<unsigned long, boost::accumulators::stats<boost::accumulators::tag::rolling_count, boost::accumulators::tag::rolling_sum, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, void> >, std::integral_constant<bool, true> >, boost::parameter::aux::flat_like_arg_tuple<boost::accumulators::tag::sample, boost::parameter::aux::tagged_argument<boost::accumulators::tag::sample, unsigned long const>, std::integral_constant<bool, true> > > > > (func=..., this=0xf0) at /home/jdillaman/ceph_wip/build/boost/include/boost/accumulators/framework/accumulator_set.hpp:303 #11 boost::accumulators::accumulator_set<unsigned long, boost::accumulators::stats<boost::accumulators::tag::rolling_count, boost::accumulators::tag::rolling_sum, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, void>::operator()<unsigned long> (a0=<synthetic pointer>: 1750882, this=0xf0) at /home/jdillaman/ceph_wip/build/boost/include/boost/accumulators/framework/accumulator_set.hpp:377 #12 librbd::io::LatencyStats::add (latency=1750882, this=0xf0) at /home/jdillaman/ceph_wip/src/librbd/io/SimpleSchedulerObjectDispatch.cc:46 #13 librbd::io::SimpleSchedulerObjectDispatch<librbd::ImageCtx>::register_in_flight_request(unsigned long, utime_t const&, Context**)::{lambda(int)#1}::operator()(int) const (this=0x7f22680bbc80, r=<optimized out>) at /home/jdillaman/ceph_wip/src/librbd/io/SimpleSchedulerObjectDispatch.cc:414 #14 0x000056181860fc99 in Context::complete (this=0x7f2264013be0, r=<optimized out>) at /home/jdillaman/ceph_wip/src/include/Context.h:99 #15 0x0000561818fdcf65 in librbd::io::ObjectDispatchSpec::C_Dispatcher::finish (this=0x7f22640123b0, r=<optimized out>) at /home/jdillaman/ceph_wip/src/librbd/io/ObjectDispatchSpec.cc:33 #16 0x0000561818fdd1f4 in librbd::io::ObjectDispatchSpec::C_Dispatcher::complete (this=<optimized out>, r=<optimized out>) at /home/jdillaman/ceph_wip/src/librbd/io/ObjectDispatchSpec.cc:23 #17 0x00005618189ee781 in librbd::io::ObjectRequest<librbd::ImageCtx>::finish (this=this@entry=0x7f2268050a50, r=r@entry=0) at /home/jdillaman/ceph_wip/src/log/SubsystemMap.h:72 #18 0x00005618189f1cba in librbd::io::AbstractObjectWriteRequest<librbd::ImageCtx>::post_write_object_map_update (this=this@entry=0x7f2268050a50) at /usr/include/c++/9/bits/unique_lock.h:191 #19 0x00005618189f23e1 in librbd::io::AbstractObjectWriteRequest<librbd::ImageCtx>::handle_write_object (this=this@entry=0x7f2268050a50, r=r@entry=0) at /home/jdillaman/ceph_wip/src/log/SubsystemMap.h:72 #20 0x00005618189f2a94 in librbd::io::AbstractObjectWriteRequest<librbd::ImageCtx>::write_object()::{lambda(int)#3}::operator()(int) const (this=<optimized out>, r=0) --Type <RET> for more, q to quit, c to continue without paging-- at /home/jdillaman/ceph_wip/src/librbd/io/ObjectRequest.cc:499 #21 _ZZN6librbd4asio4util20get_callback_adapterIZNS_2io26AbstractObjectWriteRequestINS_8ImageCtxEE12write_objectEvEUliE1_EEDaOT_ENKUlN5boost6system10error_codeEDpOT_E_clIJEEEDaSC_SF_ (this=<synthetic pointer>, ec=...) at /home/jdillaman/ceph_wip/src/librbd/asio/Utils.h:25 #22 _ZSt13__invoke_implIvZN6librbd4asio4util20get_callback_adapterIZNS0_2io26AbstractObjectWriteRequestINS0_8ImageCtxEE12write_objectEvEUliE1_EEDaOT_EUlN5boost6system10error_codeEDpOT_E_JSD_EES9_St14__invoke_otherOT0_DpOT1_ (__f=<synthetic pointer>) at /usr/include/c++/9/bits/invoke.h:60 #23 _ZSt8__invokeIZN6librbd4asio4util20get_callback_adapterIZNS0_2io26AbstractObjectWriteRequestINS0_8ImageCtxEE12write_objectEvEUliE1_EEDaOT_EUlN5boost6system10error_codeEDpOT_E_JSD_EENSt15__invoke_resultIS9_JDpT0_EE4typeESA_DpOSJ_ (__fn=<synthetic pointer>) at /usr/include/c++/9/bits/invoke.h:95 #24 _ZSt12__apply_implIZN6librbd4asio4util20get_callback_adapterIZNS0_2io26AbstractObjectWriteRequestINS0_8ImageCtxEE12write_objectEvEUliE1_EEDaOT_EUlN5boost6system10error_codeEDpOT_E_St5tupleIJSD_EEJLm0EEEDcSA_OT0_St16integer_sequenceImJXspT1_EEE (__t=<synthetic pointer>, __f=<synthetic pointer>) at /usr/include/c++/9/tuple:1684 #25 _ZSt5applyIZN6librbd4asio4util20get_callback_adapterIZNS0_2io26AbstractObjectWriteRequestINS0_8ImageCtxEE12write_objectEvEUliE1_EEDaOT_EUlN5boost6system10error_codeEDpOT_E_St5tupleIJSD_EEEDcSA_OT0_ ( __t=<synthetic pointer>, __f=<synthetic pointer>) at /usr/include/c++/9/tuple:1694 #26 _ZNO4ceph5async17CompletionHandlerIZN6librbd4asio4util20get_callback_adapterIZNS2_2io26AbstractObjectWriteRequestINS2_8ImageCtxEE12write_objectEvEUliE1_EEDaOT_EUlN5boost6system10error_codeEDpOT_E_St5tupleIJSF_EEEclEv (this=<synthetic pointer>) at /home/jdillaman/ceph_wip/src/common/async/bind_handler.h:52 #27 _ZN4ceph5async17ForwardingHandlerINS0_17CompletionHandlerIZN6librbd4asio4util20get_callback_adapterIZNS3_2io26AbstractObjectWriteRequestINS3_8ImageCtxEE12write_objectEvEUliE1_EEDaOT_EUlN5boost6system10error_codeEDpOT_E_St5tupleIJSG_EEEEEclIJEEEvSJ_ (this=<synthetic pointer>) at /home/jdillaman/ceph_wip/src/common/async/forward_handler.h:47 #28 _ZN5boost4asio19asio_handler_invokeIN4ceph5async17ForwardingHandlerINS3_17CompletionHandlerIZN6librbd4asio4util20get_callback_adapterIZNS6_2io26AbstractObjectWriteRequestINS6_8ImageCtxEE12write_objectEvEUliE1_EEDaOT_EUlNS_6system10error_codeEDpOT_E_St5tupleIJSI_EEEEEEEEvRSF_z (function=<synthetic pointer>...) at /home/jdillaman/ceph_wip/build/boost/include/boost/asio/handler_invoke_hook.hpp:69 #29 _ZN33boost_asio_handler_invoke_helpers6invokeIN4ceph5async17ForwardingHandlerINS2_17CompletionHandlerIZN6librbd4asio4util20get_callback_adapterIZNS5_2io26AbstractObjectWriteRequestINS5_8ImageCtxEE12write_objectEvEUliE1_EEDaOT_EUlN5boost6system10error_codeEDpOT_E_St5tupleIJSI_EEEEEESQ_EEvRSE_RT0_ (context=<synthetic pointer>..., function=<synthetic pointer>...) at /home/jdillaman/ceph_wip/build/boost/include/boost/asio/detail/handler_invoke_helpers.hpp:37 #30 _ZN5boost4asio6detail11executor_opIN4ceph5async17ForwardingHandlerINS4_17CompletionHandlerIZN6librbd4asio4util20get_callback_adapterIZNS7_2io26AbstractObjectWriteRequestINS7_8ImageCtxEE12write_objectEvEUliE1_EEDaOT_EUlNS_6system10error_codeEDpOT_E_St5tupleIJSJ_EEEEEESaINS4_6detail14CompletionImplINS0_10io_context13executor_typeESN_vJSJ_EEEENS1_19scheduler_operationEE11do_completeEPvPSY_RKSJ_m (owner=0x56181b005f10, base=<optimized out>) at /home/jdillaman/ceph_wip/build/boost/include/boost/asio/detail/executor_op.hpp:70 #31 0x000056181911a622 in boost::asio::detail::scheduler_operation::complete (bytes_transferred=<optimized out>, ec=..., owner=0x56181b005f10, this=<optimized out>) at /home/jdillaman/ceph_wip/build/boost/include/boost/asio/detail/scheduler_operation.hpp:40 #32 boost::asio::detail::scheduler::do_run_one (ec=..., this_thread=..., lock=..., this=<optimized out>) at /home/jdillaman/ceph_wip/build/boost/include/boost/asio/detail/impl/scheduler.ipp:447 #33 boost::asio::detail::scheduler::run (this=0x56181b005f10, ec=...) at /home/jdillaman/ceph_wip/build/boost/include/boost/asio/detail/impl/scheduler.ipp:200 #34 0x000056181911fbc6 in boost::asio::io_context::run (this=<optimized out>) at /home/jdillaman/ceph_wip/build/boost/include/boost/asio/impl/io_context.ipp:63 #35 ceph::async::io_context_pool::start(short)::{lambda()#1}::operator()() const (__closure=0x56181b1b1d18) at /home/jdillaman/ceph_wip/src/common/async/context_pool.h:68 #36 std::__invoke_impl<void, ceph::async::io_context_pool::start(short)::{lambda()#1}>(std::__invoke_other, ceph::async::io_context_pool::start(short)::{lambda()#1}&&) (__f=...) at /usr/include/c++/9/bits/invoke.h:60 #37 std::__invoke<ceph::async::io_context_pool::start(short)::{lambda()#1}>(std::__invoke_result&&, (ceph::async::io_context_pool::start(short)::{lambda()#1}&&)...) (__fn=...) at /usr/include/c++/9/bits/invoke.h:95 #38 std::invoke<ceph::async::io_context_pool::start(short)::{lambda()#1}>(std::invoke_result&&, (ceph::async::io_context_pool::start(short)::{lambda()#1}&&)...) (__fn=...) at /usr/include/c++/9/functional:81 #39 make_named_thread<ceph::async::io_context_pool::start(short)::{lambda()#1}>(std::basic_string_view<char, std::char_traits<char> >, ceph::async::io_context_pool::start(short)::{lambda()#1}&&)::{lambda(auto:1, auto:2&&)#1}::operator()<{lambda()#1}> (fun=..., this=0x56181b1b1d20) at /home/jdillaman/ceph_wip/src/common/Thread.h:79 #40 std::__invoke_impl<void, make_named_thread<ceph::async::io_context_pool::start(short)::{lambda()#1}>(std::basic_string_view<char, std::char_traits<char> >, ceph::async::io_context_pool::start(short)::{lambda()#1}&&)::{lambda(auto:1, auto:2&&)#1}, {lambda()#1}>(std::__invoke_other, make_named_thread<ceph::async::io_context_pool::start(short)::{lambda()#1}>(std::basic_string_view<char, std::char_traits<char> >, ceph::async::io_context_pool::start(short)::{lambda()#1}&&)::{lambda(auto:1, auto:2&&)#1}&&, {lambda()#1}&&) (__f=...) at /usr/include/c++/9/bits/invoke.h:60 #41 std::__invoke<make_named_thread<ceph::async::io_context_pool::start(short)::{lambda()#1}>(std::basic_string_view<char, std::char_traits<char> >, ceph::async::io_context_pool::start(short)::{lambda()#1}&&)::{lambda(auto:1, auto:2&&)#1}, {lambda()#1}>(make_named_thread<ceph::async::io_context_pool::start(short)::{lambda()#1}>(std::basic_string_view<char, std::char_traits<char> >, ceph::async::io_context_pool::start(short)::{lambda()#1}&&)::{lambda(auto:1, auto:2&&)#1}, {lambda()#1}&&) (__fn=...) at /usr/include/c++/9/bits/invoke.h:95 #42 std::thread::_Invoker<std::tuple<make_named_thread<ceph::async::io_context_pool::start(short)::{lambda()#1}>(std::basic_string_view<char, std::char_traits<char> >, ceph::async::io_context_pool::start(short)::{lambda()#1}&&)::{lambda(auto:1, auto:2&&)#1}, {lambda()#1}> >::_M_invoke<0ul, 1ul>(std::_Index_tuple<0ul, 1ul>) (this=0x56181b1b1d18) at /usr/include/c++/9/thread:244 #43 std::thread::_Invoker<std::tuple<make_named_thread<ceph::async::io_context_pool::start(short)::{lambda()#1}>(std::basic_string_view<char, std::char_traits<char> >, ceph::async::io_context_pool::start(short)::{lambda()#1}&&)::{lambda(auto:1, auto:2&&)#1}, {lambda()#1}> >::operator()() (this=0x56181b1b1d18) at /usr/include/c++/9/thread:251 #44 std::thread::_State_impl<std::thread::_Invoker<std::tuple<make_named_thread<ceph::async::io_context_pool::start(short)::{lambda()#1}>(std::basic_string_view<char, std::char_traits<char> >, ceph::async::io_context_pool::start(short)::{lambda()#1}&&)::{lambda(auto:1, auto:2&&)#1}, {lambda()#1}> > >::_M_run() (this=0x56181b1b1d10) at /usr/include/c++/9/thread:195 #45 0x00007f22911a43d4 in execute_native_thread_routine () from /lib64/libstdc++.so.6 #46 0x00007f229a4114e2 in start_thread () from /lib64/libpthread.so.0 #47 0x00007f2290ea36a3 in clone () from /lib64/libc.so.6
Updated by Jason Dillaman over 3 years ago
- Status changed from In Progress to Fix Under Review
- Pull request ID set to 36242
Updated by Mykola Golub over 3 years ago
- Status changed from Fix Under Review to Pending Backport
Updated by Nathan Cutler over 3 years ago
- Copied to Backport #46711: octopus: Object dispatch layers need to ensure all IO is complete prior to shut down added
Updated by Nathan Cutler over 3 years ago
- Status changed from Pending Backport to Resolved
While running with --resolve-parent, the script "backport-create-issue" noticed that all backports of this issue are in status "Resolved" or "Rejected".
Actions