Project

General

Profile

Actions

Bug #6602

closed

osd/PG.cc: 2465: FAILED assert(r == 0) (SnapMapper::update_snaps() returns error)

Added by Sage Weil over 10 years ago. Updated over 10 years ago.

Status:
Duplicate
Priority:
Urgent
Assignee:
Category:
OSD
Target version:
-
% Done:

0%

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

Description

     0> 2013-10-21 00:50:16.801872 7f222ff66700 -1 osd/PG.cc: In function 'void PG::update_snap_map(std::vector<pg_log_entry_t>&, ObjectStore::Transaction&)' thread 7f222ff66700 time 2013-10-21 00:50:16.785634
osd/PG.cc: 2465: FAILED assert(r == 0)

 ceph version 0.71-234-g1f02d00 (1f02d006b7de828299b1e4e9ad530d88a3b9781c)
 1: (PG::update_snap_map(std::vector<pg_log_entry_t, std::allocator<pg_log_entry_t> >&, ObjectStore::Transaction&)+0x574) [0x781eb4]
 2: (ReplicatedPG::sub_op_modify(std::tr1::shared_ptr<OpRequest>)+0xaeb) [0x7fbc3b]
 3: (ReplicatedPG::do_sub_op(std::tr1::shared_ptr<OpRequest>)+0x135) [0x7fc5d5]
 4: (ReplicatedPG::do_request(std::tr1::shared_ptr<OpRequest>, ThreadPool::TPHandle&)+0x3f0) [0x7e3b30]
 5: (OSD::dequeue_op(boost::intrusive_ptr<PG>, std::tr1::shared_ptr<OpRequest>, ThreadPool::TPHandle&)+0x342) [0x5ea482]
 6: (OSD::OpWQ::_process(boost::intrusive_ptr<PG>, ThreadPool::TPHandle&)+0x478) [0x600918]
 7: (ThreadPool::WorkQueueVal<std::pair<boost::intrusive_ptr<PG>, std::tr1::shared_ptr<OpRequest> >, boost::intrusive_ptr<PG> >::_void_process(void*, ThreadPool::TPHandle&)+0x9c) [0x642fac]
 8: (ThreadPool::worker(ThreadPool::WorkThread*)+0x4e6) [0x941676]
 9: (ThreadPool::WorkThread::entry()+0x10) [0x943480]
 10: (()+0x7e9a) [0x7f2244805e9a]
 11: (clone()+0x6d) [0x7f2242bbeccd]
 NOTE: a copy of the executable, or `objdump -rdS <executable>` is needed to interpret this.

that is

      int r = snap_mapper.update_snaps(
        i->soid,
        _snaps,
        0,
        &_t);
      assert(r == 0);

which only returns error when

  object_snaps out;
  int r = get_snaps(oid, &out);
  if (r < 0)
    return r;
  if (old_snaps_check)
    assert(out.snaps == *old_snaps_check);

ubuntu@teuthology:/a/teuthology-2013-10-20_23:00:15-rados-master-testing-basic-plana/61717


Related issues 1 (0 open1 closed)

Is duplicate of Ceph - Bug #6585: osd: backfill vs copy-from delay badness (was osd: ENOENT on clone)ResolvedSamuel Just10/17/2013

Actions
Actions #1

Updated by Ian Colle over 10 years ago

  • Assignee set to Samuel Just
Actions #2

Updated by Samuel Just over 10 years ago

This likely indicates that backfill failed to create an object, perhaps due to the other backfill bug.

Actions #3

Updated by Samuel Just over 10 years ago

  • Status changed from 12 to Duplicate
Actions

Also available in: Atom PDF