Project

General

Profile

Actions

Bug #56880

open

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

Added by Telemetry Bot over 1 year 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):

87e9bdb51abf68d10b237197960edbe21ac437fff93524839a9f16896f0eb501


Description

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

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::RandomAccessFileReader::Prefetch(unsigned long, unsigned long) const
    rocksdb::BlockBasedTable::PrefetchTail(rocksdb::RandomAccessFileReader*, unsigned long, rocksdb::TailPrefetchStats*, bool, bool, std::unique_ptr<rocksdb::FilePrefetchBuffer, std::default_delete<rocksdb::FilePrefetchBuffer> >*)
    rocksdb::BlockBasedTable::Open(rocksdb::ImmutableCFOptions const&, rocksdb::EnvOptions const&, rocksdb::BlockBasedTableOptions const&, rocksdb::InternalKeyComparator const&, std::unique_ptr<rocksdb::RandomAccessFileReader, std::default_delete<rocksdb::RandomAccessFileReader> >&&, unsigned long, std::unique_ptr<rocksdb::TableReader, std::default_delete<rocksdb::TableReader> >*, rocksdb::SliceTransform const*, bool, bool, int, bool, unsigned long, rocksdb::TailPrefetchStats*, rocksdb::BlockCacheTracer*)
    rocksdb::BlockBasedTableFactory::NewTableReader(rocksdb::TableReaderOptions const&, std::unique_ptr<rocksdb::RandomAccessFileReader, std::default_delete<rocksdb::RandomAccessFileReader> >&&, unsigned long, std::unique_ptr<rocksdb::TableReader, std::default_delete<rocksdb::TableReader> >*, bool) const
    rocksdb::TableCache::GetTableReader(rocksdb::FileOptions const&, rocksdb::InternalKeyComparator const&, rocksdb::FileDescriptor const&, bool, bool, rocksdb::HistogramImpl*, std::unique_ptr<rocksdb::TableReader, std::default_delete<rocksdb::TableReader> >*, rocksdb::SliceTransform const*, bool, int, bool)
    rocksdb::TableCache::FindTable(rocksdb::FileOptions const&, rocksdb::InternalKeyComparator const&, rocksdb::FileDescriptor const&, rocksdb::Cache::Handle**, rocksdb::SliceTransform const*, bool, bool, rocksdb::HistogramImpl*, bool, int, bool)
    rocksdb::VersionBuilder::Rep::LoadTableHandlers(rocksdb::InternalStats*, int, bool, bool, rocksdb::SliceTransform const*)::{lambda()#1}::operator()() const
    void std::__invoke_impl<void, rocksdb::VersionBuilder::Rep::LoadTableHandlers(rocksdb::InternalStats*, int, bool, bool, rocksdb::SliceTransform const*)::{lambda()#1}&>(std::__invoke_other, rocksdb::VersionBuilder::Rep::LoadTableHandlers(rocksdb::InternalStats*, int, bool, bool, rocksdb::SliceTransform const*)::{lambda()#1}&)
    std::enable_if<std::__and_<std::is_void<void>, std::__is_invocable<rocksdb::VersionBuilder::Rep::LoadTableHandlers(rocksdb::InternalStats*, int, bool, bool, rocksdb::SliceTransform const*)::{lambda()#1}&> >::value, std::is_void>::type std::__invoke_r<void, rocksdb::VersionBuilder::Rep::LoadTableHandlers(rocksdb::InternalStats*, int, bool, bool, rocksdb::SliceTransform const*)::{lambda()#1}&>(std::__is_invocable&&, (rocksdb::VersionBuilder::Rep::LoadTableHandlers(rocksdb::InternalStats*, int, bool, bool, rocksdb::SliceTransform const*)::{lambda()#1}&)...)

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": 1066,
    "assert_msg": "blk/kernel/KernelDevice.cc: In function 'virtual int KernelDevice::read(uint64_t, uint64_t, ceph::bufferlist*, IOContext*, bool)' thread 7f1189dd0700 time 2022-07-16T05:54:25.469247+0700\nblk/kernel/KernelDevice.cc: 1066: FAILED ceph_assert((uint64_t)r == len)",
    "assert_thread_name": "ceph-osd",
    "backtrace": [
        "/lib/x86_64-linux-gnu/libpthread.so.0(+0x14140) [0x7f1196f29140]",
        "gsignal()",
        "abort()",
        "(ceph::__ceph_assert_fail(char const*, char const*, int, char const*)+0x16e) [0x5649dca9ee78]",
        "/usr/bin/ceph-osd(+0xac0fb9) [0x5649dca9efb9]",
        "(KernelDevice::read(unsigned long, unsigned long, ceph::buffer::v15_2_0::list*, IOContext*, bool)+0x75d) [0x5649dd60793d]",
        "(BlueFS::_read(BlueFS::FileReader*, unsigned long, unsigned long, ceph::buffer::v15_2_0::list*, char*)+0x5bd) [0x5649dd1969cd]",
        "(BlueRocksRandomAccessFile::Prefetch(unsigned long, unsigned long)+0x1b) [0x5649dd1ba04b]",
        "(rocksdb::LegacyRandomAccessFileWrapper::Prefetch(unsigned long, unsigned long, rocksdb::IOOptions const&, rocksdb::IODebugContext*)+0x4d) [0x5649dd683bfd]",
        "(rocksdb::RandomAccessFileReader::Prefetch(unsigned long, unsigned long) const+0x5d) [0x5649dd8d77d5]",
        "(rocksdb::BlockBasedTable::PrefetchTail(rocksdb::RandomAccessFileReader*, unsigned long, rocksdb::TailPrefetchStats*, bool, bool, std::unique_ptr<rocksdb::FilePrefetchBuffer, std::default_delete<rocksdb::FilePrefetchBuffer> >*)+0x19a) [0x5649dd8c7c28]",
        "(rocksdb::BlockBasedTable::Open(rocksdb::ImmutableCFOptions const&, rocksdb::EnvOptions const&, rocksdb::BlockBasedTableOptions const&, rocksdb::InternalKeyComparator const&, std::unique_ptr<rocksdb::RandomAccessFileReader, std::default_delete<rocksdb::RandomAccessFileReader> >&&, unsigned long, std::unique_ptr<rocksdb::TableReader, std::default_delete<rocksdb::TableReader> >*, rocksdb::SliceTransform const*, bool, bool, int, bool, unsigned long, rocksdb::TailPrefetchStats*, rocksdb::BlockCacheTracer*)+0x11c) [0x5649dd8c71e2]",
        "(rocksdb::BlockBasedTableFactory::NewTableReader(rocksdb::TableReaderOptions const&, std::unique_ptr<rocksdb::RandomAccessFileReader, std::default_delete<rocksdb::RandomAccessFileReader> >&&, unsigned long, std::unique_ptr<rocksdb::TableReader, std::default_delete<rocksdb::TableReader> >*, bool) const+0xd8) [0x5649dd8c12e4]",
        "(rocksdb::TableCache::GetTableReader(rocksdb::FileOptions const&, rocksdb::InternalKeyComparator const&, rocksdb::FileDescriptor const&, bool, bool, rocksdb::HistogramImpl*, std::unique_ptr<rocksdb::TableReader, std::default_delete<rocksdb::TableReader> >*, rocksdb::SliceTransform const*, bool, int, bool)+0x4ba) [0x5649dd7cff32]",
        "(rocksdb::TableCache::FindTable(rocksdb::FileOptions const&, rocksdb::InternalKeyComparator const&, rocksdb::FileDescriptor const&, rocksdb::Cache::Handle**, rocksdb::SliceTransform const*, bool, bool, rocksdb::HistogramImpl*, bool, int, bool)+0x25d) [0x5649dd7d038d]",
        "(rocksdb::VersionBuilder::Rep::LoadTableHandlers(rocksdb::InternalStats*, int, bool, bool, rocksdb::SliceTransform const*)::{lambda()#1}::operator()() const+0x13b) [0x5649dd9ff52f]",
        "(void std::__invoke_impl<void, rocksdb::VersionBuilder::Rep::LoadTableHandlers(rocksdb::InternalStats*, int, bool, bool, rocksdb::SliceTransform const*)::{lambda()#1}&>(std::__invoke_other, rocksdb::VersionBuilder::Rep::LoadTableHandlers(rocksdb::InternalStats*, int, bool, bool, rocksdb::SliceTransform const*)::{lambda()#1}&)+0x20) [0x5649dda039df]",
        "(std::enable_if<std::__and_<std::is_void<void>, std::__is_invocable<rocksdb::VersionBuilder::Rep::LoadTableHandlers(rocksdb::InternalStats*, int, bool, bool, rocksdb::SliceTransform const*)::{lambda()#1}&> >::value, std::is_void>::type std::__invoke_r<void, rocksdb::VersionBuilder::Rep::LoadTableHandlers(rocksdb::InternalStats*, int, bool, bool, rocksdb::SliceTransform const*)::{lambda()#1}&>(std::__is_invocable&&, (rocksdb::VersionBuilder::Rep::LoadTableHandlers(rocksdb::InternalStats*, int, bool, bool, rocksdb::SliceTransform const*)::{lambda()#1}&)...)+0x20) [0x5649dda02930]",
        "(std::_Function_handler<void (), rocksdb::VersionBuilder::Rep::LoadTableHandlers(rocksdb::InternalStats*, int, bool, bool, rocksdb::SliceTransform const*)::{lambda()#1}>::_M_invoke(std::_Any_data const&)+0x20) [0x5649dda015aa]",
        "/lib/x86_64-linux-gnu/libstdc++.so.6(+0xceed0) [0x7f1196daced0]",
        "/lib/x86_64-linux-gnu/libpthread.so.0(+0x8ea7) [0x7f1196f1dea7]",
        "clone()" 
    ],
    "ceph_version": "16.2.9",
    "crash_id": "2022-07-15T22:54:25.497109Z_64b62ac4-d26d-45d8-8313-736d814d6126",
    "entity_name": "osd.2d074ee7ae772c6eedecabd9cd632658c350b265",
    "os_id": "11",
    "os_name": "Debian GNU/Linux 11 (bullseye)",
    "os_version": "11 (bullseye)",
    "os_version_id": "11",
    "process_name": "ceph-osd",
    "stack_sig": "87e9bdb51abf68d10b237197960edbe21ac437fff93524839a9f16896f0eb501",
    "timestamp": "2022-07-15T22:54:25.497109Z",
    "utsname_machine": "x86_64",
    "utsname_release": "5.15.30-2-pve",
    "utsname_sysname": "Linux",
    "utsname_version": "#1 SMP PVE 5.15.30-3 (Fri, 22 Apr 2022 18:08:27 +0200)" 
}

Actions #1

Updated by Telemetry Bot over 1 year ago

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

Also available in: Atom PDF