Project

General

Profile

Feature #1639

osd: guard against bad objects in cls map functions

Added by Greg Farnum over 12 years ago. Updated about 5 years ago.

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

Also available in: Atom PDF