Project

General

Profile

Actions

Bug #18226

closed

assert in bluestore_extent_ref_map_t::record_t::bound_encode with debug build

Added by Kefu Chai over 7 years ago. Updated about 7 years ago.

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

0%

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

Description

./bin/ceph_test_objectstore --gtest_filter=ObjectStore/StoreTest.SyntheticMatrixCsumVsCompression/2

fails with

*** Caught signal (Segmentation fault) **
 in thread 7f68ef3b2740 thread_name:ceph_test_objec
 ceph version Development (no_version)
 1: (ceph::BackTrace::BackTrace(int)+0x2d) [0x556892527bcb]
 2: (()+0x126af02) [0x5568929d8f02]
 3: (()+0x11100) [0x7f68eefaa100]
 4: (std::enable_if<boost::is_same<bluestore_extent_ref_map_t::record_t const, bluestore_extent_ref_map_t::record_t>::value||boost::is_same<bluestore_extent_ref_map_t::record_t con
st, bluestore_extent_ref_map_t::record_t const>::value, void>::type _denc_friend<bluestore_extent_ref_map_t::record_t const, unsigned long>(bluestore_extent_ref_map_t::record_t con
st&, unsigned long&)+0x14) [0x556892647d3a]
 5: (bluestore_extent_ref_map_t::record_t::bound_encode(unsigned long&) const+0x23) [0x55689263dff5]                                                                                 6: (bluestore_extent_ref_map_t::bound_encode(unsigned long&) const+0x68) [0x55689263e0c6]
 7: (denc_traits<bluestore_extent_ref_map_t, void>::bound_encode(bluestore_extent_ref_map_t const&, unsigned long&, unsigned long)+0x27) [0x55689263e35b]                            8: (std::enable_if<(denc_traits<bluestore_extent_ref_map_t, void>::supported!=(0))&&(!denc_traits<bluestore_extent_ref_map_t, void>::featured), void>::type denc<bluestore_extent_ref_map_t, denc_traits<bluestore_extent_ref_map_t, void> >(bluestore_extent_ref_map_t const&, unsigned long&, unsigned long)+0x2c) [0x5568926552c7]                                   9: (std::enable_if<boost::is_same<bluestore_shared_blob_t const, bluestore_shared_blob_t>::value||boost::is_same<bluestore_shared_blob_t const, bluestore_shared_blob_t const>::val
ue, void>::type _denc_friend<bluestore_shared_blob_t const, unsigned long>(bluestore_shared_blob_t const&, unsigned long&)+0x5e) [0x55689264867c]
 10: (bluestore_shared_blob_t::bound_encode(unsigned long&) const+0x23) [0x556892640251]
 11: (denc_traits<bluestore_shared_blob_t, void>::bound_encode(bluestore_shared_blob_t const&, unsigned long&, unsigned long)+0x27) [0x5568926402e1]
 12: (std::enable_if<(denc_traits<bluestore_shared_blob_t, void>::supported==(1))&&(!denc_traits<bluestore_shared_blob_t, void>::featured), void>::type encode<bluestore_shared_blob
_t, denc_traits<bluestore_shared_blob_t, void> >(bluestore_shared_blob_t const&, ceph::buffer::list&, unsigned long)+0x44) [0x556892652978]
 13: (BlueStore::_txc_write_nodes(BlueStore::TransContext*, std::shared_ptr<KeyValueDB::TransactionImpl>)+0xe85) [0x556892619681]
 14: (BlueStore::queue_transactions(ObjectStore::Sequencer*, std::vector<ObjectStore::Transaction, std::allocator<ObjectStore::Transaction> >&, std::shared_ptr<TrackedOp>, ThreadPo
ol::TPHandle*)+0x772) [0x55689261fbe2]
 15: (ObjectStore::queue_transactions(ObjectStore::Sequencer*, std::vector<ObjectStore::Transaction, std::allocator<ObjectStore::Transaction> >&, Context*, Context*, Context*, std:
:shared_ptr<TrackedOp>, ThreadPool::TPHandle*)+0x109) [0x5568924a662d]
 16: (ObjectStore::queue_transaction(ObjectStore::Sequencer*, ObjectStore::Transaction&&, Context*, Context*, Context*, std::shared_ptr<TrackedOp>, ThreadPool::TPHandle*)+0xa5) [0x
5568924a64bd]

because "denc_varint_lowz(v.length, p)" is called with

  bound_encode(const std::list<T>& s, size_t& p) {
    size_t elem_size = 0;
    denc(*(const T*)nullptr, elem_size);
    p += sizeof(uint32_t) + elem_size * s.size();
  }

Actions #1

Updated by Kefu Chai over 7 years ago

  • Description updated (diff)
Actions #2

Updated by Sage Weil over 7 years ago

  • Status changed from New to Can't reproduce
Actions #3

Updated by Kefu Chai about 7 years ago

  • Status changed from Can't reproduce to Fix Under Review
Actions #4

Updated by Kefu Chai about 7 years ago

  • Assignee set to Kefu Chai
Actions #5

Updated by Kefu Chai about 7 years ago

  • Status changed from Fix Under Review to Resolved
Actions

Also available in: Atom PDF