Project

General

Profile

Bug #21756

/usr/src/ceph/src/osd/ECTransaction.h: 179: FAILED assert(plan.to_read.count(i.first) == 0 || (!plan.to_read.at(i.first).empty() && !i.second.has_source()))

Added by huang jun over 6 years ago. Updated over 5 years ago.

Status:
New
Priority:
Normal
Assignee:
-
Category:
-
Target version:
-
% Done:

0%

Source:
Tags:
Backport:
Regression:
No
Severity:
1 - critical
Reviewed:
Affected Versions:
ceph-qa-suite:
Component(RADOS):
Pull request ID:
Crash signature (v1):
Crash signature (v2):

Description

steps to reproduce:

../src/vstart.sh -X -n --mon_num 1 --osd_num 4 --mds_num 0
./bin/ceph osd erasure-code-profile set huangjun k=3 m=1
./bin/ceph osd pool create rbd 1 1 erasure huangjun
./bin/ceph osd pool set rbd allow_ec_overwrites true
# comment out "osd copyfrom max chunk = 524288" in ceph.conf
./bin/init-ceph restart osd
dd if=/dev/zero of=/tmp/9461760 bs=1K count=947
truncate -s 9461760 /tmp/9461760
./bin/rados -p rbd put object1 /tmp/9461760
./bin/rados -p rbd cp object1 object2

osd1 crashed with:

/usr/src/ceph/src/osd/ECTransaction.h: 179: FAILED assert(plan.to_read.count(i.first) == 0 || (!plan.to_read.at(i.first).empty() && !i.second.has_source()))

 ceph version 13.0.0-66-g2c0fe55 (2c0fe556fdf088f35bc7f7d98cfaced68fe50171) mimic (dev)
 1: (ceph::__ceph_assert_fail(char const*, char const*, int, char const*)+0x110) [0x7f8ff2563ca0]
 2: (ECBackend::start_rmw(ECBackend::Op*, std::unique_ptr<PGTransaction, std::default_delete<PGTransaction> >&&)+0x121d) [0x7f8ff22e986d]
 3: (ECBackend::submit_transaction(hobject_t const&, object_stat_sum_t const&, eversion_t const&, std::unique_ptr<PGTransaction, std::default_delete<PGTransaction> >&&, eversion
_t const&, eversion_t const&, std::vector<pg_log_entry_t, std::allocator<pg_log_entry_t> > const&, boost::optional<pg_hit_set_history_t>&, Context*, Context*, Context*, unsigned
 long, osd_reqid_t, boost::intrusive_ptr<OpRequest>)+0x408) [0x7f8ff22ea7b8]
 4: (PrimaryLogPG::issue_repop(PrimaryLogPG::RepGather*, PrimaryLogPG::OpContext*)+0x9f1) [0x7f8ff2150c21]
 5: (PrimaryLogPG::execute_ctx(PrimaryLogPG::OpContext*)+0x13ea) [0x7f8ff219e74a]
 6: (CopyFromCallback::finish(boost::tuples::tuple<int, PrimaryLogPG::CopyResults*, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::
null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type>)+0xb0) [0x7f8ff21e76d0]
 7: (PrimaryLogPG::process_copy_chunk(hobject_t, unsigned long, int)+0x76c) [0x7f8ff218873c]
 8: (C_Copyfrom::finish(int)+0xb1) [0x7f8ff21e7401]
 9: (Context::complete(int)+0x9) [0x7f8ff202cd29]
 10: (Finisher::finisher_thread_entry()+0x198) [0x7f8ff25615f8]
 11: (()+0x7dc5) [0x7f8fef144dc5]
 12: (clone()+0x6d) [0x7f8fee23873d]

History

#1 Updated by huang jun over 6 years ago

comment out in ceph.conf
#osd copyfrom max chunk = 524288
if we use this config, it works fine.
but if we comment it out, osd crashed.

#3 Updated by Kefu Chai over 6 years ago

  • Description updated (diff)

#4 Updated by Patrick Donnelly over 5 years ago

  • Project changed from Ceph to RADOS

Also available in: Atom PDF