Actions
Bug #54917
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):
aa62852db40aee25253d957d175ff50d06fddf4e02d4d1f5061a70ab49cd7614
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_Bucket_SObj::read_bucket_entrypoint_info(ptr_wrapper<RGWSI_MetaBackend::Context, 3>&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, RGWBucketEntryPoint*, RGWObjVersionTracker*, std::chrono::time_point<ceph::real_clock, std::chrono::duration<unsigned long, std::ratio<1l, 1000000000l> > >*, 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*, rgw_cache_entry_info*, boost::optional<obj_version>) 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*)>) RGWBucketCtl::read_bucket_entrypoint_info(rgw_bucket const&, RGWBucketEntryPoint*, optional_yield, DoutPrefixProvider const*, RGWBucketCtl::Bucket::GetParams const&) RGWBucketCtl::read_bucket_info(rgw_bucket const&, RGWBucketInfo*, optional_yield, DoutPrefixProvider const*, RGWBucketCtl::BucketInstance::GetParams const&, RGWObjVersionTracker*) rgw::sal::RGWRadosBucket::get_bucket_info(DoutPrefixProvider const*, optional_yield) rgw::sal::RGWRadosStore::get_bucket(DoutPrefixProvider const*, rgw::sal::RGWUser*, rgw_bucket const&, std::unique_ptr<rgw::sal::RGWBucket, std::default_delete<rgw::sal::RGWBucket> >*, optional_yield) rgw_build_bucket_policies(DoutPrefixProvider const*, rgw::sal::RGWRadosStore*, req_state*, optional_yield) RGWHandler::do_init_permissions(DoutPrefixProvider const*, optional_yield) RGWHandler_REST::init_permissions(RGWOp*, optional_yield) rgw_process_authenticated(RGWHandler_REST*, RGWOp*&, RGWRequest*, req_state*, optional_yield, bool) 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 7fd3ee764700 time 2022-02-27T20:45:37.581513+0100\ncommon/buffer.cc: 510: FAILED ceph_assert(_raw)", "assert_thread_name": "radosgw", "backtrace": [ "/lib/x86_64-linux-gnu/libc.so.6(+0x46210) [0x7fd561815210]", "gsignal()", "abort()", "(ceph::__ceph_assert_fail(char const*, char const*, int, char const*)+0x1ad) [0x7fd558947db0]", "/usr/lib/ceph/libceph-common.so.2(+0x265f5d) [0x7fd558947f5d]", "/lib/librados.so.2(+0x93461) [0x7fd56148f461]", "(ceph::buffer::v15_2_0::list::iterator_impl<false>::copy_all(ceph::buffer::v15_2_0::list&)+0x2f) [0x7fd56149987f]", "(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)+0x436) [0x7fd5625d3186]", "(RGWSI_SysObj::Obj::ROp::read(DoutPrefixProvider const*, long, long, ceph::buffer::v15_2_0::list*, optional_yield)+0xcc) [0x7fd561ff3acc]", "(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>)+0x265) [0x7fd56246ae25]", "(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*)+0x104) [0x7fd5625c4424]", "(RGWSI_Bucket_SObj::read_bucket_entrypoint_info(ptr_wrapper<RGWSI_MetaBackend::Context, 3>&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, RGWBucketEntryPoint*, RGWObjVersionTracker*, std::chrono::time_point<ceph::real_clock, std::chrono::duration<unsigned long, std::ratio<1l, 1000000000l> > >*, 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*, rgw_cache_entry_info*, boost::optional<obj_version>)+0x153) [0x7fd5625a3b73]", "/lib/libradosgw.so.2(+0x691057) [0x7fd562052057]", "(std::_Function_handler<int (RGWSI_MetaBackend_Handler::Op*), RGWBucketMetadataHandler::call(std::optional<std::variant<RGWSI_MetaBackend_CtxParams_SObj> >, std::function<int (ptr_wrapper<RGWSI_MetaBackend::Context, 3>&)>)::{lambda(RGWSI_MetaBackend_Handler::Op*)#1}>::_M_invoke(std::_Any_data const&, RGWSI_MetaBackend_Handler::Op*&&)+0x36) [0x7fd56206f8c6]", "/lib/libradosgw.so.2(+0xc011be) [0x7fd5625c21be]", "(RGWSI_MetaBackend_SObj::call(std::optional<std::variant<RGWSI_MetaBackend_CtxParams_SObj> >, std::function<int (RGWSI_MetaBackend::Context*)>)+0x1a8) [0x7fd5625c4e48]", "(RGWSI_MetaBackend_Handler::call(std::optional<std::variant<RGWSI_MetaBackend_CtxParams_SObj> >, std::function<int (RGWSI_MetaBackend_Handler::Op*)>)+0x5f) [0x7fd5625c1f9f]", "(RGWBucketCtl::read_bucket_entrypoint_info(rgw_bucket const&, RGWBucketEntryPoint*, optional_yield, DoutPrefixProvider const*, RGWBucketCtl::Bucket::GetParams const&)+0x108) [0x7fd562050088]", "(RGWBucketCtl::read_bucket_info(rgw_bucket const&, RGWBucketInfo*, optional_yield, DoutPrefixProvider const*, RGWBucketCtl::BucketInstance::GetParams const&, RGWObjVersionTracker*)+0x2bd) [0x7fd56205091d]", "(rgw::sal::RGWRadosBucket::get_bucket_info(DoutPrefixProvider const*, optional_yield)+0x154) [0x7fd56245a5d4]", "(rgw::sal::RGWRadosStore::get_bucket(DoutPrefixProvider const*, rgw::sal::RGWUser*, rgw_bucket const&, std::unique_ptr<rgw::sal::RGWBucket, std::default_delete<rgw::sal::RGWBucket> >*, optional_yield)+0x59c) [0x7fd56245a17c]", "(rgw_build_bucket_policies(DoutPrefixProvider const*, rgw::sal::RGWRadosStore*, req_state*, optional_yield)+0xcdb) [0x7fd5623006db]", "(RGWHandler::do_init_permissions(DoutPrefixProvider const*, optional_yield)+0x44) [0x7fd562301844]", "(RGWHandler_REST::init_permissions(RGWOp*, optional_yield)+0x195) [0x7fd5623bcdd5]", "(rgw_process_authenticated(RGWHandler_REST*, RGWOp*&, RGWRequest*, req_state*, optional_yield, bool)+0x261) [0x7fd561ef3141]", "(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*)+0x3885) [0x7fd561ef97b5]", "/lib/libradosgw.so.2(+0x465eaa) [0x7fd561e26eaa]", "/lib/libradosgw.so.2(+0x4673f1) [0x7fd561e283f1]", "/lib/libradosgw.so.2(+0x46756c) [0x7fd561e2856c]", "make_fcontext()" ], "ceph_version": "16.2.7", "crash_id": "2022-02-27T19:45:37.610067Z_579a9d26-7da0-4b8c-9e99-744e33021da1", "entity_name": "client.2e4ebc6ed183664ec6ba18052bc1f4da34f4b31e", "os_id": "ubuntu", "os_name": "Ubuntu", "os_version": "20.04.4 LTS (Focal Fossa)", "os_version_id": "20.04", "process_name": "radosgw", "stack_sig": "aa62852db40aee25253d957d175ff50d06fddf4e02d4d1f5061a70ab49cd7614", "timestamp": "2022-02-27T19:45:37.610067Z", "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