Project

General

Profile

Actions

Bug #10837

closed

radosgw segfaults when it cannot init a storage provider

Added by Radoslaw Zarzynski about 9 years ago. Updated almost 9 years ago.

Status:
Rejected
Priority:
High
Assignee:
-
Target version:
-
% Done:

0%

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

Description

When RADOS Gateway cannot perform RGWStoreManager::get_storage() sucessfully (which could be caused by eg. problem with authentication to the Ceph cluster), this method returns NULL. However, the failure isn't properly handled in main() and leads to segfault due to NULL pointer derefernce.

2015-02-10 13:01:56.228254 7fe4a02407c0 0 ceph version 0.91-794-g13c79cf (13c79cfcf2177966c360ba0a431402a41ff876c9), process lt-radosgw, pid 13593
2015-02-10 13:01:56.240665 7fe4a02407c0 0 librados: client.radosgw.gateway authentication error (1) Operation not permitted
2015-02-10 13:01:56.241182 7fe4a02407c0 -1 Couldn't init storage provider (RADOS)
2015-02-10 13:01:56.244985 7fe4a02407c0 -1 *** Caught signal (Segmentation fault) **
in thread 7fe4a02407c0

ceph version 0.91-794-g13c79cf (13c79cfcf2177966c360ba0a431402a41ff876c9)
1: (ceph::BackTrace::BackTrace(int)+0x2d) [0xb8df75]
2: /home/worker/PROJECTS/ceph/src/.libs/lt-radosgw() [0xb8d66b]
3: (()+0x10340) [0x7fe49c8ff340]
4: (std::list<std::string, std::allocator<std::string> >::begin()+0x10) [0x9d2014]
5: (rgw_rest_init(CephContext*, RGWRegion&)+0x3bf) [0x9c91f0]
6: (main()+0x4e8) [0xa4d843]
7: (__libc_start_main()+0xf5) [0x7fe49af76ec5]
8: /home/worker/PROJECTS/ceph/src/.libs/lt-radosgw() [0x9c6f69]
NOTE: a copy of the executable, or `objdump -rdS <executable>` is needed to interpret this. 
Actions

Also available in: Atom PDF