Project

General

Profile

Actions

Bug #60706

open

crash: virtual int KernelDevice::read(uint64_t, uint64_t, ceph::bufferlist*, IOContext*, bool): assert((uint64_t)r == len)

Added by Telemetry Bot 12 months ago. Updated 12 months ago.

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

0%

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

1615c16fb90194ef5c8157b3452e78015afd0228b4f8e2ad50e56fa657114590
298669b66c17cbe3cc2601e637f91f6dc0f896b92d62fad7a4007635a460fd44


Description

http://telemetry.front.sepia.ceph.com:4000/d/jByk5HaMz/crash-spec-x-ray?orgId=1&var-sig_v2=f4231fb538ab1109821cb57f7edb44cdb7320f0e283860c8995c964ddd0ac906

Assert condition: (uint64_t)r == len
Assert function: virtual int KernelDevice::read(uint64_t, uint64_t, ceph::bufferlist*, IOContext*, bool)

Sanitized backtrace:

    KernelDevice::read(unsigned long, unsigned long, ceph::buffer::list*, IOContext*, bool)
    BlueFS::_read(BlueFS::FileReader*, unsigned long, unsigned long, ceph::buffer::list*, char*)
    BlueRocksRandomAccessFile::Prefetch(unsigned long, unsigned long)
    rocksdb::LegacyRandomAccessFileWrapper::Prefetch(unsigned long, unsigned long, rocksdb::IOOptions const&, rocksdb::IODebugContext*)
    rocksdb::BlockPrefetcher::PrefetchIfNeeded(rocksdb::BlockBasedTable::Rep const*, rocksdb::BlockHandle const&, unsigned long, bool)
    rocksdb::BlockBasedTableIterator::InitDataBlock()
    rocksdb::BlockBasedTableIterator::FindBlockForward()
    rocksdb::BlockBasedTableIterator::Next()
    rocksdb::BlockBasedTableIterator::NextAndGetResult(rocksdb::IterateResult*)
    rocksdb::MergingIterator::Next()
    rocksdb::MergingIterator::NextAndGetResult(rocksdb::IterateResult*)
    rocksdb::DBIter::Next()
    RocksDBStore::RocksDBWholeSpaceIteratorImpl::next()
    BlueStore::_collection_list(BlueStore::Collection*, ghobject_t const&, ghobject_t const&, int, bool, std::vector<ghobject_t, std::allocator<ghobject_t> >*, ghobject_t*)
    BlueStore::collection_list(boost::intrusive_ptr<ObjectStore::CollectionImpl>&, ghobject_t const&, ghobject_t const&, int, std::vector<ghobject_t, std::allocator<ghobject_t> >*, ghobject_t*)
    PGBackend::objects_list_range(hobject_t const&, hobject_t const&, std::vector<hobject_t, std::allocator<hobject_t> >*, std::vector<ghobject_t, std::allocator<ghobject_t> >*)
    PgScrubber::build_scrub_map_chunk(ScrubMap&, ScrubMapBuilder&, hobject_t, hobject_t, bool)
    PgScrubber::build_replica_map_chunk()
    Scrub::ActiveReplica::react(Scrub::SchedReplica const&)
    boost::statechart::simple_state<Scrub::ActiveReplica, Scrub::ScrubMachine, boost::mpl::list<mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, (boost::statechart::history_mode)>::react_impl(boost::statechart::event_base const&, void const*)
    boost::statechart::state_machine<Scrub::ScrubMachine, Scrub::NotActive, std::allocator<boost::statechart::none>, boost::statechart::null_exception_translator>::process_queued_events()
    PgScrubber::send_start_replica(unsigned int, unsigned int)
    PG::replica_scrub(unsigned int, unsigned int, ThreadPool::TPHandle&)
    ceph::osd::scheduler::PGRepScrub::run(OSD*, OSDShard*, boost::intrusive_ptr<PG>&, ThreadPool::TPHandle&)

Crash dump sample:
{
    "assert_condition": "(uint64_t)r == len",
    "assert_file": "blk/kernel/KernelDevice.cc",
    "assert_func": "virtual int KernelDevice::read(uint64_t, uint64_t, ceph::bufferlist*, IOContext*, bool)",
    "assert_line": 1255,
    "assert_msg": "blk/kernel/KernelDevice.cc: In function 'virtual int KernelDevice::read(uint64_t, uint64_t, ceph::bufferlist*, IOContext*, bool)' thread 7ff37d9b5700 time 2023-05-11T00:49:10.248091+0000\nblk/kernel/KernelDevice.cc: 1255: FAILED ceph_assert((uint64_t)r == len)",
    "assert_thread_name": "tp_osd_tp",
    "backtrace": [
        "/lib64/libpthread.so.0(+0x12cf0) [0x7ff39cdf9cf0]",
        "gsignal()",
        "abort()",
        "(ceph::__ceph_assert_fail(char const*, char const*, int, char const*)+0x18f) [0x562a7a88468b]",
        "/usr/bin/ceph-osd(+0x5977f7) [0x562a7a8847f7]",
        "(KernelDevice::read(unsigned long, unsigned long, ceph::buffer::v15_2_0::list*, IOContext*, bool)+0x9d7) [0x562a7b524f67]",
        "(BlueFS::_read(BlueFS::FileReader*, unsigned long, unsigned long, ceph::buffer::v15_2_0::list*, char*)+0x588) [0x562a7b047298]",
        "(BlueRocksRandomAccessFile::Prefetch(unsigned long, unsigned long)+0x1f) [0x562a7b06f48f]",
        "(rocksdb::LegacyRandomAccessFileWrapper::Prefetch(unsigned long, unsigned long, rocksdb::IOOptions const&, rocksdb::IODebugContext*)+0x22) [0x562a7b59bea2]",
        "(rocksdb::BlockPrefetcher::PrefetchIfNeeded(rocksdb::BlockBasedTable::Rep const*, rocksdb::BlockHandle const&, unsigned long, bool)+0x1a5) [0x562a7b8189e5]",
        "(rocksdb::BlockBasedTableIterator::InitDataBlock()+0xca) [0x562a7b81536a]",
        "(rocksdb::BlockBasedTableIterator::FindBlockForward()+0x21d) [0x562a7b81659d]",
        "(rocksdb::BlockBasedTableIterator::Next()+0x3a) [0x562a7b81676a]",
        "(rocksdb::BlockBasedTableIterator::NextAndGetResult(rocksdb::IterateResult*)+0x1a) [0x562a7b8167aa]",
        "/usr/bin/ceph-osd(+0x1385211) [0x562a7b672211]",
        "(rocksdb::MergingIterator::Next()+0x32) [0x562a7b74be52]",
        "(rocksdb::MergingIterator::NextAndGetResult(rocksdb::IterateResult*)+0x13) [0x562a7b74a193]",
        "(rocksdb::DBIter::Next()+0x286) [0x562a7b5fcd76]",
        "(RocksDBStore::RocksDBWholeSpaceIteratorImpl::next()+0x4c) [0x562a7b53decc]",
        "/usr/bin/ceph-osd(+0xc0a036) [0x562a7aef7036]",
        "(BlueStore::_collection_list(BlueStore::Collection*, ghobject_t const&, ghobject_t const&, int, bool, std::vector<ghobject_t, std::allocator<ghobject_t> >*, ghobject_t*)+0x1805) [0x562a7af19ae5]",
        "(BlueStore::collection_list(boost::intrusive_ptr<ObjectStore::CollectionImpl>&, ghobject_t const&, ghobject_t const&, int, std::vector<ghobject_t, std::allocator<ghobject_t> >*, ghobject_t*)+0xeb) [0x562a7af1aadb]",
        "(PGBackend::objects_list_range(hobject_t const&, hobject_t const&, std::vector<hobject_t, std::allocator<hobject_t> >*, std::vector<ghobject_t, std::allocator<ghobject_t> >*)+0x468) [0x562a7ab8eb58]",
        "(PgScrubber::build_scrub_map_chunk(ScrubMap&, ScrubMapBuilder&, hobject_t, hobject_t, bool)+0x330) [0x562a7abcbe30]",
        "(PgScrubber::build_replica_map_chunk()+0x99) [0x562a7abcc9b9]",
        "(Scrub::ActiveReplica::react(Scrub::SchedReplica const&)+0x12a) [0x562a7ac0a67a]",
        "(boost::statechart::simple_state<Scrub::ActiveReplica, Scrub::ScrubMachine, boost::mpl::list<mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, (boost::statechart::history_mode)0>::react_impl(boost::statechart::event_base const&, void const*)+0x125) [0x562a7ac10705]",
        "(boost::statechart::state_machine<Scrub::ScrubMachine, Scrub::NotActive, std::allocator<boost::statechart::none>, boost::statechart::null_exception_translator>::process_queued_events()+0xd3) [0x562a7abd7573]",
        "(PgScrubber::send_start_replica(unsigned int, unsigned int)+0x347) [0x562a7abcac27]",
        "(PG::replica_scrub(unsigned int, unsigned int, ThreadPool::TPHandle&)+0x5b) [0x562a7aa59c5b]",
        "(ceph::osd::scheduler::PGRepScrub::run(OSD*, OSDShard*, boost::intrusive_ptr<PG>&, ThreadPool::TPHandle&)+0x21) [0x562a7ac83bb1]" 
    ],
    "ceph_version": "17.2.4",
    "crash_id": "2023-05-11T00:49:10.305105Z_bafddc9a-f69b-4bff-8c25-9f420cf73e81",
    "entity_name": "osd.294393fccc7aa0d206aab8619e57492555ce39b1",
    "os_id": "centos",
    "os_name": "CentOS Stream",
    "os_version": "8",
    "os_version_id": "8",
    "process_name": "ceph-osd",
    "stack_sig": "298669b66c17cbe3cc2601e637f91f6dc0f896b92d62fad7a4007635a460fd44",
    "timestamp": "2023-05-11T00:49:10.305105Z",
    "utsname_machine": "x86_64",
    "utsname_release": "5.4.0-144-generic",
    "utsname_sysname": "Linux",
    "utsname_version": "#161-Ubuntu SMP Fri Feb 3 14:49:04 UTC 2023" 
}


Related issues 4 (0 open4 closed)

Is duplicate of bluestore - Bug #60955: crash: pread64()Duplicate

Actions
Is duplicate of bluestore - Bug #60697: crash: virtual int KernelDevice::read(uint64_t, uint64_t, ceph::bufferlist*, IOContext*, bool): assert((uint64_t)r == len)Duplicate

Actions
Has duplicate bluestore - Bug #60653: crash: pread64()Duplicate

Actions
Has duplicate bluestore - Bug #60956: crash: pread64()Duplicate

Actions
Actions #1

Updated by Telemetry Bot 12 months ago

  • Crash signature (v1) updated (diff)
  • Crash signature (v2) updated (diff)
  • Affected Versions v17.2.4, v17.2.5 added
Actions #2

Updated by Igor Fedotov 12 months ago

  • Is duplicate of Bug #60955: crash: pread64() added
Actions #3

Updated by Igor Fedotov 12 months ago

  • Status changed from New to Duplicate
Actions #4

Updated by Igor Fedotov 12 months ago

  • Status changed from Duplicate to New
  • Crash signature (v1) updated (diff)
Actions #5

Updated by Igor Fedotov 12 months ago

  • Is duplicate of Bug #60697: crash: virtual int KernelDevice::read(uint64_t, uint64_t, ceph::bufferlist*, IOContext*, bool): assert((uint64_t)r == len) added
Actions #6

Updated by Igor Fedotov 12 months ago

  • Status changed from New to Duplicate
Actions #7

Updated by Igor Fedotov 12 months ago

  • Status changed from Duplicate to New
Actions #8

Updated by Igor Fedotov 12 months ago

  • Has duplicate Bug #60653: crash: pread64() added
Actions #9

Updated by Igor Fedotov 12 months ago

  • Has duplicate Bug #60956: crash: pread64() added
Actions

Also available in: Atom PDF