Actions
Bug #60616
opencrash: virtual int KernelDevice::read(uint64_t, uint64_t, ceph::bufferlist*, IOContext*, bool): assert((uint64_t)r == len)
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):
ec6f296cb87a23c5505a449b92b5cd78c7c000435b5c22059696d68d9b70a1a3
Crash signature (v2):
Description
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() ShardMergeIteratorImpl::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 7f2278570700 time 2023-02-28T22:22:58.640956+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) [0x7f22999b8cf0]", "gsignal()", "abort()", "(ceph::__ceph_assert_fail(char const*, char const*, int, char const*)+0x18f) [0x55729b31068b]", "/usr/bin/ceph-osd(+0x5977f7) [0x55729b3107f7]", "(KernelDevice::read(unsigned long, unsigned long, ceph::buffer::v15_2_0::list*, IOContext*, bool)+0x9d7) [0x55729bfb0f67]", "(BlueFS::_read(BlueFS::FileReader*, unsigned long, unsigned long, ceph::buffer::v15_2_0::list*, char*)+0x588) [0x55729bad3298]", "(BlueRocksRandomAccessFile::Prefetch(unsigned long, unsigned long)+0x1f) [0x55729bafb48f]", "(rocksdb::LegacyRandomAccessFileWrapper::Prefetch(unsigned long, unsigned long, rocksdb::IOOptions const&, rocksdb::IODebugContext*)+0x22) [0x55729c027ea2]", "(rocksdb::BlockPrefetcher::PrefetchIfNeeded(rocksdb::BlockBasedTable::Rep const*, rocksdb::BlockHandle const&, unsigned long, bool)+0x1a5) [0x55729c2a49e5]", "(rocksdb::BlockBasedTableIterator::InitDataBlock()+0xca) [0x55729c2a136a]", "(rocksdb::BlockBasedTableIterator::FindBlockForward()+0x21d) [0x55729c2a259d]", "(rocksdb::BlockBasedTableIterator::Next()+0x3a) [0x55729c2a276a]", "(rocksdb::BlockBasedTableIterator::NextAndGetResult(rocksdb::IterateResult*)+0x1a) [0x55729c2a27aa]", "/usr/bin/ceph-osd(+0x1385211) [0x55729c0fe211]", "(rocksdb::MergingIterator::Next()+0x32) [0x55729c1d7e52]", "(rocksdb::MergingIterator::NextAndGetResult(rocksdb::IterateResult*)+0x13) [0x55729c1d6193]", "(rocksdb::DBIter::Next()+0x286) [0x55729c088d76]", "(ShardMergeIteratorImpl::next()+0x65) [0x55729bfe9125]", "/usr/bin/ceph-osd(+0xc0a482) [0x55729b983482]", "(BlueStore::_collection_list(BlueStore::Collection*, ghobject_t const&, ghobject_t const&, int, bool, std::vector<ghobject_t, std::allocator<ghobject_t> >*, ghobject_t*)+0x1805) [0x55729b9a5ae5]", "(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) [0x55729b9a6adb]", "(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) [0x55729b61ab58]", "(PgScrubber::build_scrub_map_chunk(ScrubMap&, ScrubMapBuilder&, hobject_t, hobject_t, bool)+0x330) [0x55729b657e30]", "(PgScrubber::build_replica_map_chunk()+0x99) [0x55729b6589b9]", "(Scrub::ActiveReplica::react(Scrub::SchedReplica const&)+0x12a) [0x55729b69667a]", "(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) [0x55729b69c705]", "(boost::statechart::state_machine<Scrub::ScrubMachine, Scrub::NotActive, std::allocator<boost::statechart::none>, boost::statechart::null_exception_translator>::process_queued_events()+0xd3) [0x55729b663573]", "(PgScrubber::send_start_replica(unsigned int, unsigned int)+0x347) [0x55729b656c27]", "(PG::replica_scrub(unsigned int, unsigned int, ThreadPool::TPHandle&)+0x5b) [0x55729b4e5c5b]", "(ceph::osd::scheduler::PGRepScrub::run(OSD*, OSDShard*, boost::intrusive_ptr<PG>&, ThreadPool::TPHandle&)+0x21) [0x55729b70fbb1]" ], "ceph_version": "17.2.5", "crash_id": "2023-02-28T22:22:58.732928Z_bd392270-1bab-455a-a1ab-97fb7767c73e", "entity_name": "osd.68db176b4010eadfa4533c6d2f639d82d8a2a2b9", "os_id": "centos", "os_name": "CentOS Stream", "os_version": "8", "os_version_id": "8", "process_name": "ceph-osd", "stack_sig": "ec6f296cb87a23c5505a449b92b5cd78c7c000435b5c22059696d68d9b70a1a3", "timestamp": "2023-02-28T22:22:58.732928Z", "utsname_machine": "x86_64", "utsname_release": "5.10.0-20-amd64", "utsname_sysname": "Linux", "utsname_version": "#1 SMP Debian 5.10.158-2 (2022-12-13)" }
Actions