Project

General

Profile

Bug #47882

rgw: crash on non S3/swift requests (eg. admin api requests)

Added by Abhishek Lekshmanan 11 months ago. Updated 11 months ago.

Status:
Resolved
Priority:
Normal
Target version:
-
% Done:

0%

Source:
Tags:
Backport:
Regression:
No
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
Pull request ID:
Crash signature (v1):
Crash signature (v2):

Description

 1: /ssd/builds/cpp/ceph-nautilus/build/lib/libradosgw.so.2(+0x201803e) [0x7f109beef03e]
 2: /lib64/libpthread.so.0(+0x132d0) [0x7f108db692d0]
 3: (std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::length() const+0xc) [0x7f109b3be522]
 4: (std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_assign(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)+0x3a) [0x7f109b3c3192]
 5: (std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::assign(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)+0x23) [0x7f109b3c0bd9]
 6: (std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::operator=(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)+0x1ca) [0x7f109b3bf3be]
 7: (rgw_user::operator=(rgw_user const&)+0x23) [0x7f109b4f16ef]
 8: (rgw::sal::RGWUser::RGWUser(rgw_user const&)+0x4a) [0x7f109b71c382]
 9: (rgw::sal::RGWRadosUser::RGWRadosUser(rgw::sal::RGWRadosStore*, rgw_user const&)+0x27) [0x7f109b71d84f]
 10: (RGWOp::init_quota()+0xf3) [0x7f109ba36e4f]
 11: (RGWOp::init_processing()+0x46) [0x7f109b52468e]
 12: (rgw_process_authenticated(RGWHandler_REST*, RGWOp*&, RGWRequest*, req_state*, bool)+0x931) [0x7f109b517f3b]
 13: (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*, OpsLogSocket*, optional_yield, rgw::dmclock::Scheduler*, int*)+0x195d) [0x7f109b51afeb]

For requests on paths like admin/metadata/bucket/foobar which'll try to initialize quota fail as s->bucket or s->bucket_name aren't populated, which crashes on dereferencing bucket related params. Normal S3/Swift protocol requests would've populated s->bucket in post_auth_init or while parsing policies.

History

#1 Updated by Abhishek Lekshmanan 11 months ago

  • Description updated (diff)

#2 Updated by Abhishek Lekshmanan 11 months ago

  • Status changed from New to In Progress
  • Assignee set to Abhishek Lekshmanan
  • Pull request ID set to 37703

#3 Updated by Casey Bodley 11 months ago

  • Status changed from In Progress to Fix Under Review

#4 Updated by J. Eric Ivancich 11 months ago

  • Status changed from Fix Under Review to Resolved

No backports are listed, so I moved this to resolved. If backports are appropriate then please update the Backport and Status fields.

Also available in: Atom PDF