Project

General

Profile

Actions

Bug #56360

open

crash: virtual int KernelDevice::flush(): abort

Added by Telemetry Bot almost 2 years ago. Updated over 1 year 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):

cdb481941eacca6b466375b71d002a7ad43abf6efa1a5b29e0a18d5882b37f64


Description

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

Assert condition: abort
Assert function: virtual int KernelDevice::flush()

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::RandomAccessFileReader::Prefetch(unsigned long, unsigned long) const
    rocksdb::BlockBasedTableIterator<rocksdb::DataBlockIter, rocksdb::Slice>::InitDataBlock()
    rocksdb::BlockBasedTableIterator<rocksdb::DataBlockIter, rocksdb::Slice>::FindBlockForward()
    rocksdb::BlockBasedTableIterator<rocksdb::DataBlockIter, rocksdb::Slice>::Next()
    rocksdb::BlockBasedTableIterator<rocksdb::DataBlockIter, rocksdb::Slice>::NextAndGetResult(rocksdb::IterateResult*)
    rocksdb::MergingIterator::NextAndGetResult(rocksdb::IterateResult*)
    rocksdb::DBIter::FindNextUserEntryInternal(bool, rocksdb::Slice const*)
    rocksdb::DBIter::FindNextUserEntry(bool, rocksdb::Slice const*)
    rocksdb::DBIter::Seek(rocksdb::Slice const&)
    RocksDBStore::RocksDBWholeSpaceIteratorImpl::lower_bound(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)
    BlueStore::OmapIteratorImpl::seek_to_first()
    void PGLog::read_log_and_missing<pg_missing_set<true> >(ObjectStore*, boost::intrusive_ptr<ObjectStore::CollectionImpl>&, ghobject_t, pg_info_t const&, PGLog::IndexedLog&, pg_missing_set<true>&, std::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >&, bool, bool*, DoutPrefixProvider const*, std::set<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >*, bool)
    PG::read_state(ObjectStore*)
    OSD::load_pgs()
    OSD::init()

Crash dump sample:
{
    "archived": "2022-06-13 11:04:53.027656",
    "assert_condition": "abort",
    "assert_file": "blk/kernel/KernelDevice.cc",
    "assert_func": "virtual int KernelDevice::flush()",
    "assert_line": 460,
    "assert_msg": "blk/kernel/KernelDevice.cc: In function 'virtual int KernelDevice::read(uint64_t, uint64_t, ceph::bufferlist*, IOContext*, bool)' thread 7f3290af3200 time 2022-06-13T10:50:51.894629+0100\nblk/kernel/KernelDevice.cc: 1066: FAILED ceph_assert((uint64_t)r == len)",
    "assert_thread_name": "rocksdb:low1",
    "backtrace": [
        "/lib64/libpthread.so.0(+0x12ce0) [0x7f328ea9bce0]",
        "gsignal()",
        "abort()",
        "(ceph::__ceph_assert_fail(char const*, char const*, int, char const*)+0x1a9) [0x560a549b47ad]",
        "/usr/bin/ceph-osd(+0x57f976) [0x560a549b4976]",
        "(KernelDevice::read(unsigned long, unsigned long, ceph::buffer::v15_2_0::list*, IOContext*, bool)+0x8a1) [0x560a555160b1]",
        "(BlueFS::_read(BlueFS::FileReader*, unsigned long, unsigned long, ceph::buffer::v15_2_0::list*, char*)+0x79c) [0x560a550b5d2c]",
        "(BlueRocksRandomAccessFile::Prefetch(unsigned long, unsigned long)+0x1e) [0x560a550e42be]",
        "(rocksdb::LegacyRandomAccessFileWrapper::Prefetch(unsigned long, unsigned long, rocksdb::IOOptions const&, rocksdb::IODebugContext*)+0x1f) [0x560a55580a5f]",
        "(rocksdb::RandomAccessFileReader::Prefetch(unsigned long, unsigned long) const+0x2e) [0x560a556df84e]",
        "(rocksdb::BlockBasedTableIterator<rocksdb::DataBlockIter, rocksdb::Slice>::InitDataBlock()+0x1a6) [0x560a556eb906]",
        "(rocksdb::BlockBasedTableIterator<rocksdb::DataBlockIter, rocksdb::Slice>::FindBlockForward()+0x1c6) [0x560a556ec786]",
        "(rocksdb::BlockBasedTableIterator<rocksdb::DataBlockIter, rocksdb::Slice>::Next()+0x58) [0x560a556ec888]",
        "(rocksdb::BlockBasedTableIterator<rocksdb::DataBlockIter, rocksdb::Slice>::NextAndGetResult(rocksdb::IterateResult*)+0x16) [0x560a556ec8c6]",
        "/usr/bin/ceph-osd(+0x12193c1) [0x560a5564e3c1]",
        "(rocksdb::MergingIterator::NextAndGetResult(rocksdb::IterateResult*)+0x50) [0x560a55704b50]",
        "(rocksdb::DBIter::FindNextUserEntryInternal(bool, rocksdb::Slice const*)+0x8d2) [0x560a555d9fd2]",
        "(rocksdb::DBIter::FindNextUserEntry(bool, rocksdb::Slice const*)+0xa7) [0x560a555da4c7]",
        "(rocksdb::DBIter::Seek(rocksdb::Slice const&)+0x634) [0x560a555dcb04]",
        "(RocksDBStore::RocksDBWholeSpaceIteratorImpl::lower_bound(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)+0x4a) [0x560a5552ad7a]",
        "(BlueStore::OmapIteratorImpl::seek_to_first()+0x156) [0x560a54fa4346]",
        "(void PGLog::read_log_and_missing<pg_missing_set<true> >(ObjectStore*, boost::intrusive_ptr<ObjectStore::CollectionImpl>&, ghobject_t, pg_info_t const&, PGLog::IndexedLog&, pg_missing_set<true>&, std::__cxx11::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >&, bool, bool*, DoutPrefixProvider const*, std::set<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >*, bool)+0x2881) [0x560a54b89971]",
        "(PG::read_state(ObjectStore*)+0x13e7) [0x560a54b75557]",
        "(OSD::load_pgs()+0xa47) [0x560a54ac10e7]",
        "(OSD::init()+0x26f7) [0x560a54af1567]",
        "main()",
        "__libc_start_main()",
        "_start()" 
    ],
    "ceph_version": "16.2.9",
    "crash_id": "2022-06-13T09:50:51.922057Z_e1664027-583b-47a1-9431-954c005335da",
    "entity_name": "osd.4d740915142ff00b511923d54bfdcd5d8571b61c",
    "os_id": "rocky",
    "os_name": "Rocky Linux",
    "os_version": "8.6 (Green Obsidian)",
    "os_version_id": "8.6",
    "process_name": "ceph-osd",
    "stack_sig": "cdb481941eacca6b466375b71d002a7ad43abf6efa1a5b29e0a18d5882b37f64",
    "timestamp": "2022-06-13T09:50:51.922057Z",
    "utsname_machine": "x86_64",
    "utsname_release": "4.18.0-372.9.1.el8.x86_64",
    "utsname_sysname": "Linux",
    "utsname_version": "#1 SMP Tue May 10 14:48:47 UTC 2022" 
}

Actions #1

Updated by Telemetry Bot almost 2 years ago

  • Crash signature (v1) updated (diff)
  • Crash signature (v2) updated (diff)
  • Affected Versions v16.2.9 added
Actions

Also available in: Atom PDF