Project

General

Profile

Actions

Bug #54811

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):

d0d7be1129d01d94ff382f9b7c34a5f11297ae976266dfe82f62f5278fc50f78


Description

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

Assert condition: _raw
Assert function: char* ceph::buffer::v15_2_0::ptr::c_str()

Sanitized backtrace:

    ceph::buffer::ptr::end_c_str() const
    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_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_uid(DoutPrefixProvider const*, rgw_user const&, RGWUserInfo*, optional_yield, RGWUserCtl::GetParams const&)
    RGWUserCtl::get_attrs_by_uid(DoutPrefixProvider const*, rgw_user 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> > >*, optional_yield, RGWObjVersionTracker*)
    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:
{
    "archived": "2022-02-01 12:53:21.305804",
    "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 7f8f896b2700 time 2022-02-01T07:49:11.453695+0100\ncommon/buffer.cc: 510: FAILED ceph_assert(_raw)",
    "assert_thread_name": "radosgw",
    "backtrace": [
        "/lib/x86_64-linux-gnu/libpthread.so.0(+0x12980) [0x7f9156752980]",
        "gsignal()",
        "abort()",
        "(ceph::__ceph_assert_fail(char const*, char const*, int, char const*)+0x19c) [0x7f914c3f511e]",
        "(ceph::__ceph_assertf_fail(char const*, char const*, int, char const*, char const*, ...)+0) [0x7f914c3f52a8]",
        "(ceph::buffer::v15_2_0::ptr::end_c_str() const+0) [0x7f91550d7100]",
        "(ceph::buffer::v15_2_0::list::iterator_impl<false>::copy_all(ceph::buffer::v15_2_0::list&)+0x27) [0x7f91550df217]",
        "(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)+0x6d3) [0x7f9157426bf3]",
        "(RGWSI_SysObj::Obj::ROp::read(DoutPrefixProvider const*, long, long, ceph::buffer::v15_2_0::list*, optional_yield)+0xcd) [0x7f9156eff5dd]",
        "(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>)+0x1d5) [0x7f91572e6175]",
        "(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*)+0xec) [0x7f915741461c]",
        "(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*)+0x2b2) [0x7f915742f872]",
        "/usr/lib/libradosgw.so.2(+0x990358) [0x7f91572ef358]",
        "/usr/lib/libradosgw.so.2(+0xab2f2a) [0x7f9157411f2a]",
        "(RGWSI_MetaBackend_SObj::call(std::optional<std::variant<RGWSI_MetaBackend_CtxParams_SObj> >, std::function<int (RGWSI_MetaBackend::Context*)>)+0x93) [0x7f9157415893]",
        "(RGWSI_MetaBackend_Handler::call(std::optional<std::variant<RGWSI_MetaBackend_CtxParams_SObj> >, std::function<int (RGWSI_MetaBackend_Handler::Op*)>)+0x61) [0x7f91574121d1]",
        "(RGWSI_MetaBackend_Handler::call(std::function<int (RGWSI_MetaBackend_Handler::Op*)>)+0x70) [0x7f91572ff700]",
        "(RGWUserCtl::get_info_by_uid(DoutPrefixProvider const*, rgw_user const&, RGWUserInfo*, optional_yield, RGWUserCtl::GetParams const&)+0xa3) [0x7f91572f04d3]",
        "(RGWUserCtl::get_attrs_by_uid(DoutPrefixProvider const*, rgw_user 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> > >*, optional_yield, RGWObjVersionTracker*)+0xb0) [0x7f91572f19a0]",
        "(rgw_build_bucket_policies(DoutPrefixProvider const*, rgw::sal::RGWRadosStore*, req_state*, optional_yield)+0x10e3) [0x7f91571a3f43]",
        "(RGWHandler::do_init_permissions(DoutPrefixProvider const*, optional_yield)+0x3a) [0x7f91571a4fca]",
        "(RGWHandler_REST::init_permissions(RGWOp*, optional_yield)+0x1bf) [0x7f9157247fef]",
        "(rgw_process_authenticated(RGWHandler_REST*, RGWOp*&, RGWRequest*, req_state*, optional_yield, bool)+0xc2) [0x7f9156e1a192]",
        "(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*)+0x2301) [0x7f9156e1d741]",
        "/usr/lib/libradosgw.so.2(+0x40a0ee) [0x7f9156d690ee]",
        "/usr/lib/libradosgw.so.2(+0x40bda8) [0x7f9156d6ada8]",
        "make_fcontext()" 
    ],
    "ceph_version": "16.2.7",
    "crash_id": "2022-02-01T06:49:11.516695Z_929afd86-f5d6-413e-a961-da386e4c77f5",
    "entity_name": "client.c2a517559d0d3e25118a0e1e5204d62fb5d92c52",
    "os_id": "ubuntu",
    "os_name": "Ubuntu",
    "os_version": "18.04.6 LTS (Bionic Beaver)",
    "os_version_id": "18.04",
    "process_name": "radosgw",
    "stack_sig": "d0d7be1129d01d94ff382f9b7c34a5f11297ae976266dfe82f62f5278fc50f78",
    "timestamp": "2022-02-01T06:49:11.516695Z",
    "utsname_machine": "x86_64",
    "utsname_release": "4.15.0-166-generic",
    "utsname_sysname": "Linux",
    "utsname_version": "#174-Ubuntu SMP Wed Dec 8 19:07:44 UTC 2021" 
}


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