Project

General

Profile

Actions

Bug #54783

closed

crash: char* ceph::buffer::v15_2_0::ptr::c_str(): assert(_raw)

Added by Telemetry Bot about 2 years ago. Updated about 2 years ago.

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


Description

http://telemetry.front.sepia.ceph.com:4000/d/jByk5HaMz/crash-spec-x-ray?orgId=1&var-sig_v2=b8f91bc101ec987f7d0b42ec9cd76e20f38ff10f6f6a80d17b93265483672faa

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" 
}


Related issues 1 (0 open1 closed)

Is duplicate of rgw - Bug #51927: crash: RGWSI_MetaBackend_SObjResolvedCasey Bodley

Actions
Actions #1

Updated by Telemetry Bot about 2 years ago

  • Crash signature (v1) updated (diff)
  • Crash signature (v2) updated (diff)
  • Affected Versions v16.2.7 added
Actions #2

Updated by Casey Bodley about 2 years ago

  • Is duplicate of Bug #51927: crash: RGWSI_MetaBackend_SObj added
Actions #3

Updated by Casey Bodley about 2 years ago

  • Status changed from New to Duplicate
Actions

Also available in: Atom PDF