Backport #39660
Updated by Nathan Cutler over 4 years ago
https://github.com/ceph/ceph/pull/30746
---
Segfault in RadosGW with Beast frontend after constant mixed workload every few hours. RGW log with crash traceback is attached.
Output of ceph crash info is below:
{
"crash_id": "2019-05-09_22:53:06.531229Z_2b2c29f8-489e-411b-9428-efaa0e875006",
"timestamp": "2019-05-09 22:53:06.531229Z",
"process_name": "radosgw",
"entity_name": "client.rgw.cis01.rgw0",
"ceph_version": "14.2.0",
"utsname_hostname": "cis01",
"utsname_sysname": "Linux",
"utsname_release": "4.15.0-46-generic",
"utsname_version": "#49-Ubuntu SMP Wed Feb 6 09:33:07 UTC 2019",
"utsname_machine": "x86_64",
"os_name": "Ubuntu",
"os_id": "ubuntu",
"os_version_id": "18.04",
"os_version": "18.04.2 LTS (Bionic Beaver)",
"backtrace": [
"(()+0x12890) [0x7fcc0ef88890]",
"(void boost::intrusive::list_impl<boost::intrusive::bhtraits<rgw::AioResultEntry, boost::intrusive::list_node_traits<void*>, (boost::intrusive::link_mode_type)1, boost::intrusive::dft_tag, 1u>, unsigned long, true, void>::sort<get_obj_data::flush(rgw::OwningList<rgw::AioResultEntry>&&)::{lambda(auto:1 const&, auto:2 const&)#1}>(get_obj_data::flush(rgw::OwningList<rgw::AioResultEntry>&&)::{lambda(auto:1 const&, auto:2 const&)#1})+0x55e) [0x557a70739e6e]",
"(get_obj_data::flush(rgw::OwningList<rgw::AioResultEntry>&&)+0x68) [0x557a7073a268]",
"(RGWRados::get_obj_iterate_cb(rgw_raw_obj const&, long, long, long, bool, RGWObjState*, void*)+0x1bb) [0x557a7070761b]",
"(()+0x5e3a74) [0x557a70707a74]",
"(RGWRados::iterate_obj(RGWObjectCtx&, RGWBucketInfo const&, rgw_obj const&, long, long, unsigned long, int (*)(rgw_raw_obj const&, long, long, long, bool, RGWObjState*, void*), void*)+0x44e) [0x557a7071de5e]",
"(RGWRados::Object::Read::iterate(long, long, RGWGetDataCB*)+0x17e) [0x557a70721c1e]",
"(RGWGetObj::execute()+0xfb7) [0x557a706a2627]",
"(rgw_process_authenticated(RGWHandler_REST*, RGWOp*&, RGWRequest*, req_state*, bool)+0x710) [0x557a70455f40]",
"(process_request(RGWRados*, RGWREST*, RGWRequest*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, rgw::auth::StrategyRegistry const&, RGWRestfulIO*, OpsLogSocket*, optional_yield, rgw::dmclock::Scheduler*, int*)+0x1d04) [0x557a70458834]",
"(()+0x29d5fa) [0x557a703c15fa]",
"(()+0x29e1cd) [0x557a703c21cd]",
"(make_fcontext()+0x2f) [0x557a708ad6af]"
]
}