Feature #1639
osd: guard against bad objects in cls map functions
Status:
New
Priority:
Normal
Assignee:
-
Category:
-
Target version:
-
% Done:
0%
Source:
Tags:
Backport:
Reviewed:
Affected Versions:
Component(RADOS):
OSD
Pull request ID:
Description
Got this when I accidentally set a bad locator:
2011-10-20 17:03:35.415491 7f2fcbbed700 osd.0 9 pg[8.6( empty n=0 ec=8 les/c 8/9 8/8/8) [0] r=0 mlcod 0'0 active+clean+degraded] read got -2 / 0 bytes from obj .dir.1/head *** Caught signal (Aborted) ** in thread 0x7f2fcbbed700 ceph version 0.36-309-g6b3c8f8 (commit:6b3c8f82c07deb679a897498203e840211a7eb6a) 1: /tmp/cephtest/binary/usr/local/bin/ceph-osd() [0x680589] 2: (()+0xfb40) [0x7f2fdb082b40] 3: (gsignal()+0x35) [0x7f2fd9857ba5] 4: (abort()+0x180) [0x7f2fd985b6b0] 5: (__gnu_cxx::__verbose_terminate_handler()+0x11d) [0x7f2fda0fb6bd] 6: (()+0xb9906) [0x7f2fda0f9906] 7: (()+0xb9933) [0x7f2fda0f9933] 8: (()+0xb9a3e) [0x7f2fda0f9a3e] 9: (ceph::buffer::list::iterator::copy(unsigned int, char*)+0x13e) [0x5811de] 10: (cls_cxx_map_read_key(void*, std::string, ceph::buffer::list*)+0x2d7) [0x4acee7] 11: (rgw_bucket_prepare_op(void*, ceph::buffer::list*, ceph::buffer::list*)+0x1fc) [0x7f2fc95df11c] 12: (ClassHandler::ClassMethod::exec(void*, ceph::buffer::list&, ceph::buffer::list&)+0x32) [0x57c822] 13: (ReplicatedPG::do_osd_ops(ReplicatedPG::OpContext*, std::vector<OSDOp, std::allocator<OSDOp> >&, ceph::buffer::list&)+0x2ca4) [0x4cff54] 14: (ReplicatedPG::prepare_transaction(ReplicatedPG::OpContext*)+0x5b) [0x4db0fb] 15: (ReplicatedPG::do_op(MOSDOp*)+0x14dd) [0x4e4b2d] 16: (OSD::dequeue_op(PG*)+0x583) [0x53bc23] 17: (ThreadPool::worker()+0xa28) [0x5866d8] 18: (ThreadPool::WorkThread::entry()+0xd) [0x55c78d] 19: (()+0x7971) [0x7f2fdb07a971] 20: (clone()+0x6d) [0x7f2fd990a92d]
History
#1 Updated by Sage Weil over 12 years ago
- Target version changed from v0.38 to v0.39
#2 Updated by Sage Weil over 12 years ago
- Target version changed from v0.39 to v0.40
#3 Updated by Sage Weil over 12 years ago
- Target version deleted (
v0.40) - translation missing: en.field_position set to 1
#4 Updated by Sage Weil about 12 years ago
- Tracker changed from Bug to Feature
- Subject changed from Guard against bad objects in cls map functions to osd: guard against bad objects in cls map functions
the specific instance was fixed. can we in general catch any exception in the class methods? safely?
#5 Updated by Patrick Donnelly about 5 years ago
- Project changed from Ceph to RADOS
- Category deleted (
OSD) - Start date deleted (
10/20/2011) - Component(RADOS) OSD added