Project

General

Profile

Bug #36302

librgw: crashes in multisite configuration

Added by Casey Bodley 4 months ago. Updated about 1 month ago.

Status:
Resolved
Priority:
Normal
Assignee:
Target version:
-
Start date:
10/03/2018
Due date:
% Done:

0%

Source:
Tags:
librgw multisite
Backport:
luminous mimic
Regression:
No
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
Pull request ID:

Description

librgw is missing the calls to rgw_http_client_init() and rgw::curl::setup_curl() that allocate the RGWHTTPManager and RGWCurlHandles classes required by multisite. This leads to crashes like this:

Thread 66 "data-notifier" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fe5e17f5700 (LWP 22801)]
#0  0x00007fe610072251 in Mutex::Lock(bool) () from /usr/lib/ceph/libceph-common.so.0
#1  0x00007fe60a35b285 in RGWCurlHandles::get_curl_handle() () from /usr/lib/librgw.so.2
#2  0x00007fe60a35d6d9 in RGWHTTPClient::init_request(rgw_http_req_data*, bool) () from /usr/lib/librgw.so.2
#3  0x00007fe60a35e6d0 in RGWHTTPManager::add_request(RGWHTTPClient*, bool) () from /usr/lib/librgw.so.2
#4  0x00007fe60a2df92e in RGWRESTStreamRWRequest::send(RGWHTTPManager*) () from /usr/lib/librgw.so.2
#5  0x00007fe60a2e8746 in RGWRESTSendResource::aio_send(ceph::buffer::list&) () from /usr/lib/librgw.so.2
#6  0x00007fe60a2a724e in RGWSendRawRESTResourceCR<int>::send_request() () from /usr/lib/librgw.so.2
#7  0x00007fe60a1ea2ee in RGWSimpleCoroutine::state_send_request() () from /usr/lib/librgw.so.2
#8  0x00007fe60a1ed85c in RGWSimpleCoroutine::operate() () from /usr/lib/librgw.so.2
#9  0x00007fe60a1eb196 in RGWCoroutinesStack::operate(RGWCoroutinesEnv*) () from /usr/lib/librgw.so.2
#10 0x00007fe60a1ee32b in RGWCoroutinesManager::run(std::__cxx11::list<RGWCoroutinesStack*, std::allocator<RGWCoroutinesStack*> >&) () from /usr/lib/librgw.so.2
#11 0x00007fe60a2b7cec in RGWDataNotifierManager::notify_all(std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, RGWRESTConn*, 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, RGWRESTConn*> > >&, std::map<int, std::set<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, std::less<int>, std::allocator<std::pair<int const, std::set<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > > >&) () from /usr/lib/librgw.so.2
#12 0x00007fe60a253a6f in RGWDataNotifier::process() () from /usr/lib/librgw.so.2
#13 0x00007fe60a242900 in RGWRadosThread::Worker::entry() () from /usr/lib/librgw.so.2
#14 0x00007fe61a33a6ba in start_thread (arg=0x7fe5e17f5700) at pthread_create.c:333
#15 0x00007fe6198d241d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Reported in https://github.com/nfs-ganesha/nfs-ganesha/issues/348


Related issues

Copied to rgw - Backport #36414: luminous: librgw: crashes in multisite configuration Resolved
Copied to rgw - Backport #36415: mimic: librgw: crashes in multisite configuration Resolved

History

#1 Updated by Casey Bodley 4 months ago

  • Status changed from Verified to Need Review

#2 Updated by Yehuda Sadeh 3 months ago

  • Status changed from Need Review to Testing

#3 Updated by Matt Benjamin 3 months ago

  • Status changed from Testing to Pending Backport

#4 Updated by Abhishek Lekshmanan 3 months ago

  • Copied to Backport #36414: luminous: librgw: crashes in multisite configuration added

#5 Updated by Abhishek Lekshmanan 3 months ago

  • Copied to Backport #36415: mimic: librgw: crashes in multisite configuration added

#6 Updated by Nathan Cutler about 1 month ago

  • Status changed from Pending Backport to Resolved

Also available in: Atom PDF