Actions
Fix #19732
closedfix: rgw crashed caused by shard id out of range when listing data log
% Done:
100%
Source:
Tags:
Backport:
jewel kraken
Reviewed:
Affected Versions:
ceph-qa-suite:
Pull request ID:
Crash signature (v1):
Crash signature (v2):
Description
s3curl --id x --key x -- -s 'http://rgw-address/admin/log?type=data&id=109&max-entries=2'
when shard id out of range,radosgw will crash.
Fixes: rgw: segment fault when shard id out of range. link: https://github.com/ceph/ceph/pull/14389
==========crash log====================
2017-03-29 14:51:39.450530 7ff61cef1700 -1 *** Caught signal (Segmentation fault) ** in thread 7ff61cef1700 ceph version 0.94.9-192-gd30e652 (d30e652f3fcf24f1a3265282f3d50f995aabacf8) 1: /bin/radosgw() [0x6d1ed2] 2: (()+0xf130) [0x7ffa1fa75130] 3: (std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(std::string const&)+0x1b) [0x7ffa1f20cabb] 4: (librados::IoCtx::operate(std::string const&, librados::ObjectReadOperation*, ceph::buffer::list*)+0x30) [0x7ffa2112d340] 5: (RGWRados::time_log_list(std::string const&, utime_t&, utime_t&, int, std::list<cls_log_entry, std::allocator<cls_log_entry> >&, std::string const&, std::string*, bool*)+0x15e) [0x6064ae] 6: (RGWDataChangesLog::list_entries(int, utime_t&, utime_t&, int, std::list<rgw_data_change, std::allocator<rgw_data_change> >&, std::string const&, std::string*, bool*)+0x8b) [0x5bc31b] 7: (RGWOp_DATALog_List::execute()+0x2bc) [0x56550c] 8: /bin/radosgw() [0x57dbf2] 9: /bin/radosgw() [0x57e99c] 10: /bin/radosgw() [0x69b4af] 11: /bin/radosgw() [0x69d4c8] 12: (()+0x7df3) [0x7ffa1fa6ddf3] 13: (clone()+0x6d) [0x7ffa1e96b1bd] NOTE: a copy of the executable, or `objdump -rdS <executable>` is needed to interpret this. --- begin dump of recent events --- 0> 2017-03-29 14:51:39.450530 7ff61cef1700 -1 *** Caught signal (Segmentation fault) ** in thread 7ff61cef1700 ceph version 0.94.9-192-gd30e652 (d30e652f3fcf24f1a3265282f3d50f995aabacf8) 1: /bin/radosgw() [0x6d1ed2] 2: (()+0xf130) [0x7ffa1fa75130] 3: (std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(std::string const&)+0x1b) [0x7ffa1f20cabb] 4: (librados::IoCtx::operate(std::string const&, librados::ObjectReadOperation*, ceph::buffer::list*)+0x30) [0x7ffa2112d340] 5: (RGWRados::time_log_list(std::string const&, utime_t&, utime_t&, int, std::list<cls_log_entry, std::allocator<cls_log_entry> >&, std::string const&, std::string*, bool*)+0x15e) [0x6064ae] 6: (RGWDataChangesLog::list_entries(int, utime_t&, utime_t&, int, std::list<rgw_data_change, std::allocator<rgw_data_change> >&, std::string const&, std::string*, bool*)+0x8b) [0x5bc31b] 7: (RGWOp_DATALog_List::execute()+0x2bc) [0x56550c] 8: /bin/radosgw() [0x57dbf2] 9: /bin/radosgw() [0x57e99c] 10: /bin/radosgw() [0x69b4af] 11: /bin/radosgw() [0x69d4c8] 12: (()+0x7df3) [0x7ffa1fa6ddf3] 13: (clone()+0x6d) [0x7ffa1e96b1bd] NOTE: a copy of the executable, or `objdump -rdS <executable>` is needed to interpret this. --- logging levels --- 0/ 5 none 0/ 1 lockdep 0/ 1 context 1/ 1 crush 1/ 5 mds 1/ 5 mds_balancer 1/ 5 mds_locker 1/ 5 mds_log 1/ 5 mds_log_expire 1/ 5 mds_migrator 0/ 1 buffer 0/ 1 timer 0/ 1 filer 0/ 1 striper 0/ 1 objecter 0/ 5 rados 0/ 5 rbd 0/ 5 rbd_replay 0/ 5 journaler 0/ 5 objectcacher 0/ 5 client 0/ 5 osd 0/ 5 optracker 0/ 5 objclass 1/ 3 filestore 1/ 3 keyvaluestore 1/ 3 journal 0/ 0 ms 1/ 5 mon 0/10 monc 0/ 0 paxos 0/ 5 tp 1/ 5 auth 1/ 5 crypto 1/ 1 finisher 1/ 5 heartbeatmap 1/ 5 perfcounter 1/ 5 rgw 1/10 civetweb 1/ 5 javaclient 1/ 5 asok 0/ 0 throttle 0/ 0 refs 1/ 5 xio -2/-2 (syslog threshold) -1/-1 (stderr threshold) max_recent 0 max_new 0 log_file /var/log/radosgw/client.radosgw.gateway.log --- end dump of recent events ---
Updated by Casey Bodley almost 7 years ago
- Status changed from New to Pending Backport
- Backport set to jewel kraken
Updated by Nathan Cutler almost 7 years ago
master PR: https://github.com/ceph/ceph/pull/14389
Updated by Nathan Cutler almost 7 years ago
- Copied to Backport #20155: jewel: fix: rgw crashed caused by shard id out of range when listing data log added
Updated by Nathan Cutler almost 7 years ago
- Copied to Backport #20156: kraken: fix: rgw crashed caused by shard id out of range when listing data log added
Updated by Nathan Cutler over 6 years ago
- Status changed from Pending Backport to Resolved
Actions