Actions
Bug #54783
closedcrash: char* ceph::buffer::v15_2_0::ptr::c_str(): assert(_raw)
Status:
Duplicate
Priority:
Normal
Assignee:
-
Target version:
-
% Done:
0%
Source:
Telemetry
Tags:
Backport:
Regression:
No
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
Pull request ID:
Crash signature (v1):
91e4a176159caa453898aa0820befef96213ecf76e2ac81b90ece9fa93cc0046
Crash signature (v2):
Description
Assert condition: _raw
Assert function: char* ceph::buffer::v15_2_0::ptr::c_str()
Sanitized backtrace:
ceph::buffer::list::iterator_impl<false>::copy_all(ceph::buffer::list&) RGWSI_SysObj_Cache::read(DoutPrefixProvider const*, RGWSysObjectCtxBase&, RGWSI_SysObj_Obj_GetObjState&, RGWObjVersionTracker*, rgw_raw_obj const&, ceph::buffer::list*, long, long, std::map<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, ceph::buffer::list, std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> > const, ceph::buffer::list> > >*, bool, rgw_cache_entry_info*, boost::optional<obj_version>, optional_yield) RGWSI_SysObj::Obj::ROp::read(DoutPrefixProvider const*, long, long, ceph::buffer::list*, optional_yield) rgw_get_system_obj(RGWSysObjectCtx&, rgw_pool const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, ceph::buffer::list&, RGWObjVersionTracker*, std::chrono::time_point<ceph::real_clock, std::chrono::duration<unsigned long, std::ratio<1l, 1000000000l> > >*, optional_yield, DoutPrefixProvider const*, std::map<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, ceph::buffer::list, std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> > const, ceph::buffer::list> > >*, rgw_cache_entry_info*, boost::optional<obj_version>) RGWSI_MetaBackend_SObj::get_entry(RGWSI_MetaBackend::Context*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, RGWSI_MetaBackend::GetParams&, RGWObjVersionTracker*, optional_yield, DoutPrefixProvider const*) RGWSI_User_RADOS::read_user_info(RGWSI_MetaBackend::Context*, rgw_user const&, RGWUserInfo*, RGWObjVersionTracker*, std::chrono::time_point<ceph::real_clock, std::chrono::duration<unsigned long, std::ratio<1l, 1000000000l> > >*, rgw_cache_entry_info*, std::map<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, ceph::buffer::list, std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> > const, ceph::buffer::list> > >*, optional_yield, DoutPrefixProvider const*) RGWSI_User_RADOS::get_user_info_from_index(RGWSI_MetaBackend::Context*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, rgw_pool const&, RGWUserInfo*, RGWObjVersionTracker*, std::chrono::time_point<ceph::real_clock, std::chrono::duration<unsigned long, std::ratio<1l, 1000000000l> > >*, optional_yield, DoutPrefixProvider const*) RGWSI_User_RADOS::get_user_info_by_access_key(RGWSI_MetaBackend::Context*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, RGWUserInfo*, RGWObjVersionTracker*, std::chrono::time_point<ceph::real_clock, std::chrono::duration<unsigned long, std::ratio<1l, 1000000000l> > >*, optional_yield, DoutPrefixProvider const*) RGWSI_MetaBackend_SObj::call(std::optional<std::variant<RGWSI_MetaBackend_CtxParams_SObj> >, std::function<int (RGWSI_MetaBackend::Context*)>) RGWSI_MetaBackend_Handler::call(std::optional<std::variant<RGWSI_MetaBackend_CtxParams_SObj> >, std::function<int (RGWSI_MetaBackend_Handler::Op*)>) RGWSI_MetaBackend_Handler::call(std::function<int (RGWSI_MetaBackend_Handler::Op*)>) RGWUserCtl::get_info_by_access_key(DoutPrefixProvider const*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, RGWUserInfo*, optional_yield, RGWUserCtl::GetParams const&) rgw_get_user_info_by_access_key(DoutPrefixProvider const*, RGWUserCtl*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, RGWUserInfo&, optional_yield, RGWObjVersionTracker*, std::chrono::time_point<ceph::real_clock, std::chrono::duration<unsigned long, std::ratio<1l, 1000000000l> > >*) rgw::auth::s3::LocalEngine::authenticate(DoutPrefixProvider const*, std::basic_string_view<char, std::char_traits<char> > const&, std::basic_string_view<char, std::char_traits<char> > const&, std::basic_string_view<char, std::char_traits<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::function<basic_sstring<char, unsigned short, (unsigned short)> (ceph::common::CephContext*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)> const&, std::function<std::shared_ptr<rgw::auth::Completer> (boost::optional<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > const&)> const&, req_state const*, optional_yield) const rgw::auth::s3::AWSEngine::authenticate(DoutPrefixProvider const*, req_state const*, optional_yield) const rgw::auth::Strategy::authenticate(DoutPrefixProvider const*, req_state const*, optional_yield) const rgw::auth::Strategy::authenticate(DoutPrefixProvider const*, req_state const*, optional_yield) const rgw::auth::Strategy::apply(DoutPrefixProvider const*, rgw::auth::Strategy const&, req_state*, optional_yield) RGW_Auth_S3::authorize(DoutPrefixProvider const*, rgw::sal::RGWRadosStore*, rgw::auth::StrategyRegistry const&, req_state*, optional_yield) RGWHandler_REST_S3::authorize(DoutPrefixProvider const*, optional_yield) RGWGetObj_ObjStore_S3::verify_requester(rgw::auth::StrategyRegistry const&, optional_yield) process_request(rgw::sal::RGWRadosStore*, RGWREST*, RGWRequest*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, rgw::auth::StrategyRegistry const&, RGWRestfulIO*, OpsLogSink*, optional_yield, rgw::dmclock::Scheduler*, std::basic_string<char, std::char_traits<char>, std::allocator<char> >*, std::chrono::duration<unsigned long, std::ratio<1l, 1000000000l> >*, int*) make_fcontext()
Crash dump sample:
{ "assert_condition": "_raw", "assert_file": "common/buffer.cc", "assert_func": "char* ceph::buffer::v15_2_0::ptr::c_str()", "assert_line": 510, "assert_msg": "common/buffer.cc: In function 'char* ceph::buffer::v15_2_0::ptr::c_str()' thread 7f69cc53a700 time 2022-02-23T07:20:01.569583+0000\ncommon/buffer.cc: 510: FAILED ceph_assert(_raw)", "assert_thread_name": "radosgw", "backtrace": [ "/lib64/libpthread.so.0(+0x12c20) [0x7f6a69652c20]", "gsignal()", "abort()", "(ceph::__ceph_assert_fail(char const*, char const*, int, char const*)+0x1a9) [0x7f6a69fbfba3]", "/usr/lib64/ceph/libceph-common.so.2(+0x276d6c) [0x7f6a69fbfd6c]", "/lib64/librados.so.2(+0x8ca01) [0x7f6a739e6a01]", "(ceph::buffer::v15_2_0::list::iterator_impl<false>::copy_all(ceph::buffer::v15_2_0::list&)+0x2f) [0x7f6a739ef2ff]", "(RGWSI_SysObj_Cache::read(DoutPrefixProvider const*, RGWSysObjectCtxBase&, RGWSI_SysObj_Obj_GetObjState&, RGWObjVersionTracker*, rgw_raw_obj const&, ceph::buffer::v15_2_0::list*, long, long, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, ceph::buffer::v15_2_0::list, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, ceph::buffer::v15_2_0::list> > >*, bool, rgw_cache_entry_info*, boost::optional<obj_version>, optional_yield)+0x413) [0x7f6a7484c333]", "(RGWSI_SysObj::Obj::ROp::read(DoutPrefixProvider const*, long, long, ceph::buffer::v15_2_0::list*, optional_yield)+0xd1) [0x7f6a7434bbd1]", "(rgw_get_system_obj(RGWSysObjectCtx&, rgw_pool const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, ceph::buffer::v15_2_0::list&, RGWObjVersionTracker*, std::chrono::time_point<ceph::real_clock, std::chrono::duration<unsigned long, std::ratio<1l, 1000000000l> > >*, optional_yield, DoutPrefixProvider const*, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, ceph::buffer::v15_2_0::list, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, ceph::buffer::v15_2_0::list> > >*, rgw_cache_entry_info*, boost::optional<obj_version>)+0x1d6) [0x7f6a747185c6]", "(RGWSI_MetaBackend_SObj::get_entry(RGWSI_MetaBackend::Context*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, RGWSI_MetaBackend::GetParams&, RGWObjVersionTracker*, optional_yield, DoutPrefixProvider const*)+0xf0) [0x7f6a7483b4a0]", "(RGWSI_User_RADOS::read_user_info(RGWSI_MetaBackend::Context*, rgw_user const&, RGWUserInfo*, RGWObjVersionTracker*, std::chrono::time_point<ceph::real_clock, std::chrono::duration<unsigned long, std::ratio<1l, 1000000000l> > >*, rgw_cache_entry_info*, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, ceph::buffer::v15_2_0::list, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, ceph::buffer::v15_2_0::list> > >*, optional_yield, DoutPrefixProvider const*)+0x31a) [0x7f6a74854b2a]", "(RGWSI_User_RADOS::get_user_info_from_index(RGWSI_MetaBackend::Context*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, rgw_pool const&, RGWUserInfo*, RGWObjVersionTracker*, std::chrono::time_point<ceph::real_clock, std::chrono::duration<unsigned long, std::ratio<1l, 1000000000l> > >*, optional_yield, DoutPrefixProvider const*)+0xca4) [0x7f6a748575c4]", "(RGWSI_User_RADOS::get_user_info_by_access_key(RGWSI_MetaBackend::Context*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, RGWUserInfo*, RGWObjVersionTracker*, std::chrono::time_point<ceph::real_clock, std::chrono::duration<unsigned long, std::ratio<1l, 1000000000l> > >*, optional_yield, DoutPrefixProvider const*)+0x56) [0x7f6a74857a16]", "/lib64/libradosgw.so.2(+0xa15376) [0x7f6a74721376]", "/lib64/libradosgw.so.2(+0xb2c85e) [0x7f6a7483885e]", "(RGWSI_MetaBackend_SObj::call(std::optional<std::variant<RGWSI_MetaBackend_CtxParams_SObj> >, std::function<int (RGWSI_MetaBackend::Context*)>)+0x9e) [0x7f6a7483bdbe]", "(RGWSI_MetaBackend_Handler::call(std::optional<std::variant<RGWSI_MetaBackend_CtxParams_SObj> >, std::function<int (RGWSI_MetaBackend_Handler::Op*)>)+0x5f) [0x7f6a7483868f]", "(RGWSI_MetaBackend_Handler::call(std::function<int (RGWSI_MetaBackend_Handler::Op*)>)+0x78) [0x7f6a74730c18]", "(RGWUserCtl::get_info_by_access_key(DoutPrefixProvider const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, RGWUserInfo*, optional_yield, RGWUserCtl::GetParams const&)+0xa7) [0x7f6a747229e7]", "(rgw_get_user_info_by_access_key(DoutPrefixProvider const*, RGWUserCtl*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, RGWUserInfo&, optional_yield, RGWObjVersionTracker*, std::chrono::time_point<ceph::real_clock, std::chrono::duration<unsigned long, std::ratio<1l, 1000000000l> > >*)+0x52) [0x7f6a74722a92]", "(rgw::auth::s3::LocalEngine::authenticate(DoutPrefixProvider const*, std::basic_string_view<char, std::char_traits<char> > const&, std::basic_string_view<char, std::char_traits<char> > const&, std::basic_string_view<char, std::char_traits<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::function<basic_sstring<char, unsigned short, (unsigned short)65> (ceph::common::CephContext*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)> const&, std::function<std::shared_ptr<rgw::auth::Completer> (boost::optional<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > const&)> const&, req_state const*, optional_yield) const+0xc7) [0x7f6a746d03f7]", "(rgw::auth::s3::AWSEngine::authenticate(DoutPrefixProvider const*, req_state const*, optional_yield) const+0x13f) [0x7f6a746a78ff]", "(rgw::auth::Strategy::authenticate(DoutPrefixProvider const*, req_state const*, optional_yield) const+0x263) [0x7f6a74384af3]", "(rgw::auth::Strategy::authenticate(DoutPrefixProvider const*, req_state const*, optional_yield) const+0x263) [0x7f6a74384af3]", "(rgw::auth::Strategy::apply(DoutPrefixProvider const*, rgw::auth::Strategy const&, req_state*, optional_yield)+0x46) [0x7f6a743855b6]", "(RGW_Auth_S3::authorize(DoutPrefixProvider const*, rgw::sal::RGWRadosStore*, rgw::auth::StrategyRegistry const&, req_state*, optional_yield)+0xa1) [0x7f6a746cb331]", "(RGWHandler_REST_S3::authorize(DoutPrefixProvider const*, optional_yield)+0x66) [0x7f6a746cb5a6]", "(RGWGetObj_ObjStore_S3::verify_requester(rgw::auth::StrategyRegistry const&, optional_yield)+0x42) [0x7f6a746bf3d2]", "(process_request(rgw::sal::RGWRadosStore*, RGWREST*, RGWRequest*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, rgw::auth::StrategyRegistry const&, RGWRestfulIO*, OpsLogSink*, optional_yield, rgw::dmclock::Scheduler*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*, std::chrono::duration<unsigned long, std::ratio<1l, 1000000000l> >*, int*)+0x12a9) [0x7f6a7426c839]", "/lib64/libradosgw.so.2(+0x4b1b63) [0x7f6a741bdb63]", "/lib64/libradosgw.so.2(+0x4b3604) [0x7f6a741bf604]", "/lib64/libradosgw.so.2(+0x4b386e) [0x7f6a741bf86e]", "make_fcontext()" ], "ceph_version": "16.2.7", "crash_id": "2022-02-23T07:20:01.688162Z_ea383f19-90d1-47c3-836b-3b0d0ad84d38", "entity_name": "client.347ac0c88fb6472a5e74d2afcd8246509b974553", "os_id": "centos", "os_name": "CentOS Stream", "os_version": "8", "os_version_id": "8", "process_name": "radosgw", "stack_sig": "91e4a176159caa453898aa0820befef96213ecf76e2ac81b90ece9fa93cc0046", "timestamp": "2022-02-23T07:20:01.688162Z", "utsname_machine": "x86_64", "utsname_release": "5.4.0-100-generic", "utsname_sysname": "Linux", "utsname_version": "#113-Ubuntu SMP Thu Feb 3 18:43:29 UTC 2022" }
Updated by Telemetry Bot about 2 years ago
Updated by Casey Bodley about 2 years ago
- Is duplicate of Bug #51927: crash: RGWSI_MetaBackend_SObj added
Actions