coredump #5

        Oct 23 16:41:01 HOSTNAME radosgw[1616]: tcmalloc: large alloc 
94195528343552 bytes == (nil) @  0x7f97ec494887 0x7f97ec1cb1b2 0x7f97ec1ff948 
0x7f97ec1d08be 0x7f97ec1db01e 0x7f97ec1dd433 0x7f97ec1e843d 0x7f97ec1e8680 
0x7f97ec1afe3a 0x7f97ec1857ec 0x55ab96ae9dbc 0x55ab967d8a22 0x55ab96b60e7d 
0x55ab967d4bcb 0x55ab96ae76c3 0x55ab96af598a 0x55ab967c5a1a 0x55ab9667e1cf 
0x55ab96801118 0x55ab96801c87 0x55ab96766a0b 0x55ab966bd660 0x55ab966be86d 
0x55ab96bfad5f
        Oct 23 16:41:01 HOSTNAME radosgw[1616]: terminate called without an 
active exception
        Oct 23 16:41:01 HOSTNAME radosgw[1616]: *** Caught signal (Aborted) **

        #0  raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
        #1  0x000055ab967466b0 in reraise_fatal (signum=6) at 
./src/global/signal_handler.cc:81
        #2  handle_fatal_signal (signum=6) at ./src/global/signal_handler.cc:326
        #3  <signal handler called>
        #4  __GI_raise (sig=sig@entry=6) at 
../sysdeps/unix/sysv/linux/raise.c:51
        #5  0x00007f97e09c18b1 in __GI_abort () at abort.c:79
        #6  0x00007f97e13b4957 in __gnu_cxx::__verbose_terminate_handler () at 
../../../../src/libstdc++-v3/libsupc++/vterminate.cc:95
        #7  0x00007f97e13baae6 in __cxxabiv1::__terminate (handler=<optimized 
out>) at ../../../../src/libstdc++-v3/libsupc++/eh_terminate.cc:47
        #8  0x00007f97e13bab21 in std::terminate () at 
../../../../src/libstdc++-v3/libsupc++/eh_terminate.cc:57
        #9  0x000055ab96801eb0 in rgw::auth::Strategy::apply 
(dpp=0x55ab9a627000, auth_strategy=..., s=<optimized out>) at 
./src/rgw/rgw_auth.cc:273
        #10 0x000055ab96766a0b in process_request (store=0x55ab99917800, 
rest=0x7fff342285a0, req=0x55ab9b020930, frontend_prefix=..., 
auth_registry=..., client_io=client_io@entry=0x55ab9b0209c0, olog=0x0, 
yield=..., scheduler=0x55ab9ac1f928, http_ret=0x0) at 
./src/rgw/rgw_process.cc:251
        #11 0x000055ab966bd660 in (anonymous 
namespace)::handle_connection<boost::asio::basic_stream_socket<boost::asio::ip::tcp>
 > (context=..., env=..., stream=..., buffer=..., pause_mutex=..., 
scheduler=<optimized out>, ec=..., yield=..., is_ssl=false) at 
./src/rgw/rgw_asio_frontend.cc:167
        #12 0x000055ab966be86d in (anonymous 
namespace)::AsioFrontend::<lambda(boost::asio::yield_context)>::operator() 
(yield=..., __closure=0x55ab9a8aa1e8) at ./src/rgw/rgw_asio_frontend.cc:638
        #13 
boost::asio::detail::coro_entry_point<boost::asio::executor_binder<void (*)(), 
boost::asio::strand<boost::asio::io_context::executor_type> >, (anonymous 
namespace)::AsioFrontend::accept((anonymous 
namespace)::AsioFrontend::Listener&, 
boost::system::error_code)::<lambda(boost::asio::yield_context)> >::operator() 
(ca=..., this=<optimized out>) at 
./obj-x86_64-linux-gnu/boost/include/boost/asio/impl/spawn.hpp:337
        #14 
boost::coroutines::detail::push_coroutine_object<boost::coroutines::pull_coroutine<void>,
 void, boost::asio::detail::coro_entry_point<boost::asio::executor_binder<void 
(*)(), boost::asio::strand<boost::asio::io_context::executor_type> >, 
(anonymous namespace)::AsioFrontend::accept((anonymous 
namespace)::AsioFrontend::Listener&, 
boost::system::error_code)::<lambda(boost::asio::yield_context)> >&, 
boost::coroutines::basic_standard_stack_allocator<boost::coroutines::stack_traits>
 >::run (this=0x55ab9b021f60) at 
./obj-x86_64-linux-gnu/boost/include/boost/coroutine/detail/push_coroutine_object.hpp:302
        #15 
boost::coroutines::detail::trampoline_push_void<boost::coroutines::detail::push_coroutine_object<boost::coroutines::pull_coroutine<void>,
 void, boost::asio::detail::coro_entry_point<boost::asio::executor_binder<void 
(*)(), boost::asio::strand<boost::asio::io_context::executor_type> >, 
(anonymous namespace)::AsioFrontend::accept((anonymous 
namespace)::AsioFrontend::Listener&, 
boost::system::error_code)::<lambda(boost::asio::yield_context)> >&, 
boost::coroutines::basic_standard_stack_allocator<boost::coroutines::stack_traits>
 > >(boost::context::detail::transfer_t) (t=...) at 
./obj-x86_64-linux-gnu/boost/include/boost/coroutine/detail/trampoline_push.hpp:70
        #16 0x000055ab96bfad5f in make_fcontext ()
        #17 0x000055ab9703fcd0 in vtable for 
boost::coroutines::detail::push_coroutine_object<boost::coroutines::pull_coroutine<void>,
 void, boost::asio::detail::coro_entry_point<boost::asio::executor_binder<void 
(*)(), boost::asio::strand<boost::asio::io_context::executor_type> >, 
(anonymous namespace)::AsioFrontend::accept((anonymous 
namespace)::AsioFrontend::Listener&, 
boost::system::error_code)::{lambda(boost::asio::basic_yield_context<boost::asio::executor_binder<void
 (*)(), boost::asio::executor> >)#4}>&, 
boost::coroutines::basic_standard_stack_allocator<boost::coroutines::stack_traits>
 > ()
        #18 0x0000000000000026 in ?? ()
        #19 0x0000000000000000 in ?? ()


The ceph error message provides some more stack frames than GDB.

        (gdb) info symbol <address>

        0x7f97ec494887 tc_newarray + 455 in section google_malloc of 
/usr/lib/x86_64-linux-gnu/libtcmalloc.so.4
        0x7f97ec1cb1b2 void std::__cxx11::basic_string<char, 
std::char_traits<char>, std::allocator<char> >::_M_construct<char*>(char*, 
char*, std::forward_iterator_tag)
        0x7f97ec1ff948 std::vector<OSDOp, std::allocator<OSDOp> 
>::operator=(std::vector<OSDOp, std::allocator<OSDOp> > const&)
        0x7f97ec1d08be Objecter::_prepare_osd_op
        0x7f97ec1db01e Objecter::_send_op
        0x7f97ec1dd433 Objecter::_op_submit
        0x7f97ec1e843d Objecter::_op_submit_with_budget
        0x7f97ec1e8680 Objecter::op_submit
        0x7f97ec1afe3a librados::IoCtxImpl::operate_read
        0x7f97ec1857ec librados::v14_2_0::IoCtx::operate
        0x55ab96ae9dbc rgw_rados_operate
        0x55ab967d8a22 RGWSI_SysObj_Core::read
        0x55ab96b60e7d RGWSI_SysObj_Cache::read
        0x55ab967d4bcb RGWSI_SysObj::Obj::ROp::read
        0x55ab96ae76c3 rgw_get_system_obj
        0x55ab96af598a rgw_get_user_info_from_index
        0x55ab967c5a1a rgw::auth::swift::SignedTokenEngine::authenticate
        0x55ab9667e1cf rgw::auth::swift::SignedTokenEngine::authenticate
        0x55ab96801118 rgw::auth::Strategy::authenticate // ::apply from stack 
trace gets here, it calls auth_strategy.authenticate()
        0x55ab96801c87 process_request
        0x55ab96766a0b f10
        0x55ab966bd660 f11
        0x55ab966be86d f12
        0x55ab96bfad5f f16

        Thus apparently a normal memory alloc, but what about that number?
        
        Oct 23 16:41:01 HOSTNAME radosgw[1616]: tcmalloc: large alloc 
94195528343552 bytes == (nil) @  

        94195528343552 = 0x55AB9B01A000

        not an overflow/negative, but pointer in the range of data pointers 
seen in the stack.
        apparently similar to what is seen in other case of corruption / next 
coredump.
        
                req=0x55ab9b020930
                client_io=client_io@entry=0x55ab9b0209c0
                this=0x55ab9b021f60
                
        (gdb) | info files | grep 55ab9b        // 0x55AB9B0_1, 0x55ab9b0_2
        0x000055ab98fe4000 - 0x000055ab9b1a2000 is load5

        in stack, between frames 0-4.
        
        (gdb) frame 4
        (gdb) info reg $rsp
        rsp            0x55ab9b01ecc0      0x55ab9b01ecc0
        
        (gdb) frame 0
        (gdb) info reg $rsp
        rsp            0x55ab9b017cb0      0x55ab9b017cb0

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1921749

Title:
  nautilus: ceph radosgw beast frontend coroutine stack corruption

To manage notifications about this bug go to:
https://bugs.launchpad.net/cloud-archive/+bug/1921749/+subscriptions

-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to