Project

General

Profile

Actions

Bug #56800

open

crash: int64_t BlueFS::_read_random(BlueFS::FileReader*, uint64_t, uint64_t, char*): assert(r == 0)

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):

7abec5bd84330a034d05bda7ddf6928516abdd4516dd4284737eebe1e366f31a
8bda3230a1d1d9cd3b70a1ceddbbe0bc5417011c97feb83111ddaaa7323a91fe


Description

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

Assert condition: r == 0
Assert function: int64_t BlueFS::_read_random(BlueFS::FileReader*, uint64_t, uint64_t, char*)

Sanitized backtrace:

    BlueFS::_read_random(BlueFS::FileReader*, unsigned long, unsigned long, char*)
    BlueRocksRandomAccessFile::Read(unsigned long, unsigned long, rocksdb::Slice*, char*) const
    rocksdb::LegacyRandomAccessFileWrapper::Read(unsigned long, unsigned long, rocksdb::IOOptions const&, rocksdb::Slice*, char*, rocksdb::IODebugContext*) const
    rocksdb::RandomAccessFileReader::Read(unsigned long, unsigned long, rocksdb::Slice*, char*, bool) const
    rocksdb::FilePrefetchBuffer::Prefetch(rocksdb::RandomAccessFileReader*, unsigned long, unsigned long, bool)
    rocksdb::FilePrefetchBuffer::TryReadFromCache(unsigned long, unsigned long, rocksdb::Slice*, bool)
    rocksdb::BlockFetcher::TryGetFromPrefetchBuffer()
    rocksdb::BlockFetcher::ReadBlockContents()
    rocksdb::Status rocksdb::BlockBasedTable::RetrieveBlock<rocksdb::Block>(rocksdb::FilePrefetchBuffer*, rocksdb::ReadOptions const&, rocksdb::BlockHandle const&, rocksdb::UncompressionDict const&, rocksdb::CachableEntry<rocksdb::Block>*, rocksdb::BlockType, rocksdb::GetContext*, rocksdb::BlockCacheLookupContext*, bool, bool) const
    rocksdb::DataBlockIter* rocksdb::BlockBasedTable::NewDataBlockIterator<rocksdb::DataBlockIter>(rocksdb::ReadOptions const&, rocksdb::BlockHandle const&, rocksdb::DataBlockIter*, rocksdb::BlockType, rocksdb::GetContext*, rocksdb::BlockCacheLookupContext*, rocksdb::Status, rocksdb::FilePrefetchBuffer*, bool) const
    rocksdb::BlockBasedTableIterator<rocksdb::DataBlockIter, rocksdb::Slice>::InitDataBlock()
    rocksdb::BlockBasedTableIterator<rocksdb::DataBlockIter, rocksdb::Slice>::SeekImpl(rocksdb::Slice const*)
    rocksdb::BlockBasedTableIterator<rocksdb::DataBlockIter, rocksdb::Slice>::SeekToFirst()
    rocksdb::IteratorWrapperBase<rocksdb::Slice>::SeekToFirst()
    rocksdb::IteratorWrapperBase<rocksdb::Slice>::Next()
    rocksdb::MergingIterator::Next()
    rocksdb::CompactionIterator::Next()
    rocksdb::CompactionJob::ProcessKeyValueCompaction(rocksdb::CompactionJob::SubcompactionState*)
    rocksdb::CompactionJob::Run()
    rocksdb::DBImpl::BackgroundCompaction(bool*, rocksdb::JobContext*, rocksdb::LogBuffer*, rocksdb::DBImpl::PrepickedCompaction*, rocksdb::Env::Priority)
    rocksdb::DBImpl::BackgroundCallCompaction(rocksdb::DBImpl::PrepickedCompaction*, rocksdb::Env::Priority)
    rocksdb::DBImpl::BGWorkCompaction(void*)
    void std::__invoke_impl<void, void (*&)(void*), void*&>(std::__invoke_other, void (*&)(void*), void*&)
    std::__invoke_result<void (*&)(void*), void*&>::type std::__invoke<void (*&)(void*), void*&>(void (*&)(void*), void*&)
    void std::_Bind<void (*(void*))(void*)>::__call<void, , 0ul>(std::tuple<>&&, std::_Index_tuple<0ul>)
    void std::_Bind<void (*(void*))(void*)>::operator()<, void>()
    void std::__invoke_impl<void, std::_Bind<void (*(void*))(void*)>&>(std::__invoke_other, std::_Bind<void (*(void*))(void*)>&)
    std::enable_if<std::__and_<std::is_void<void>, std::__is_invocable<std::_Bind<void (*(void*))(void*)>&> >::value, void>::type std::__invoke_r<void, std::_Bind<void (*(void*))(void*)>&>(std::_Bind<void (*(void*))(void*)>&)
    rocksdb::ThreadPoolImpl::Impl::BGThread(unsigned long)
    rocksdb::ThreadPoolImpl::Impl::BGThreadWrapper(void*)
    void std::__invoke_impl<void, void (*)(void*), rocksdb::BGThreadMetadata*>(std::__invoke_other, void (*&&)(void*), rocksdb::BGThreadMetadata*&&)
    std::__invoke_result<void (*)(void*), rocksdb::BGThreadMetadata*>::type std::__invoke<void (*)(void*), rocksdb::BGThreadMetadata*>(void (*&&)(void*), rocksdb::BGThreadMetadata*&&)
    void std::thread::_Invoker<std::tuple<void (*)(void*), rocksdb::BGThreadMetadata*> >::_M_invoke<0ul, 1ul>(std::_Index_tuple<0ul, 1ul>)
    std::thread::_Invoker<std::tuple<void (*)(void*), rocksdb::BGThreadMetadata*> >::operator()()

Crash dump sample:
{
    "assert_condition": "r == 0",
    "assert_file": "os/bluestore/BlueFS.cc",
    "assert_func": "int64_t BlueFS::_read_random(BlueFS::FileReader*, uint64_t, uint64_t, char*)",
    "assert_line": 1922,
    "assert_msg": "os/bluestore/BlueFS.cc: In function 'int64_t BlueFS::_read_random(BlueFS::FileReader*, uint64_t, uint64_t, char*)' thread 7f6e49d76700 time 2022-07-09T00:59:37.961394+0800\nos/bluestore/BlueFS.cc: 1922: FAILED ceph_assert(r == 0)",
    "assert_thread_name": "rocksdb:low5",
    "backtrace": [
        "/lib/x86_64-linux-gnu/libpthread.so.0(+0x14140) [0x7f6e58ed4140]",
        "gsignal()",
        "abort()",
        "(ceph::__ceph_assert_fail(char const*, char const*, int, char const*)+0x16e) [0x556ed6653e78]",
        "/usr/bin/ceph-osd(+0xac0fb9) [0x556ed6653fb9]",
        "(BlueFS::_read_random(BlueFS::FileReader*, unsigned long, unsigned long, char*)+0xfa3) [0x556ed6d63e03]",
        "(BlueRocksRandomAccessFile::Read(unsigned long, unsigned long, rocksdb::Slice*, char*) const+0x20) [0x556ed6d6f130]",
        "(rocksdb::LegacyRandomAccessFileWrapper::Read(unsigned long, unsigned long, rocksdb::IOOptions const&, rocksdb::Slice*, char*, rocksdb::IODebugContext*) const+0x58) [0x556ed72387b8]",
        "(rocksdb::RandomAccessFileReader::Read(unsigned long, unsigned long, rocksdb::Slice*, char*, bool) const+0x862) [0x556ed75bba08]",
        "(rocksdb::FilePrefetchBuffer::Prefetch(rocksdb::RandomAccessFileReader*, unsigned long, unsigned long, bool)+0x3f8) [0x556ed75bad82]",
        "(rocksdb::FilePrefetchBuffer::TryReadFromCache(unsigned long, unsigned long, rocksdb::Slice*, bool)+0x1bc) [0x556ed75baff4]",
        "(rocksdb::BlockFetcher::TryGetFromPrefetchBuffer()+0x80) [0x556ed74c2544]",
        "(rocksdb::BlockFetcher::ReadBlockContents()+0x9c) [0x556ed74bffe4]",
        "/usr/bin/ceph-osd(+0x18f7c41) [0x556ed748ac41]",
        "(rocksdb::Status rocksdb::BlockBasedTable::RetrieveBlock<rocksdb::Block>(rocksdb::FilePrefetchBuffer*, rocksdb::ReadOptions const&, rocksdb::BlockHandle const&, rocksdb::UncompressionDict const&, rocksdb::CachableEntry<rocksdb::Block>*, rocksdb::BlockType, rocksdb::GetContext*, rocksdb::BlockCacheLookupContext*, bool, bool) const+0x473) [0x556ed7492bd3]",
        "(rocksdb::DataBlockIter* rocksdb::BlockBasedTable::NewDataBlockIterator<rocksdb::DataBlockIter>(rocksdb::ReadOptions const&, rocksdb::BlockHandle const&, rocksdb::DataBlockIter*, rocksdb::BlockType, rocksdb::GetContext*, rocksdb::BlockCacheLookupContext*, rocksdb::Status, rocksdb::FilePrefetchBuffer*, bool) const+0x2db) [0x556ed7495de3]",
        "(rocksdb::BlockBasedTableIterator<rocksdb::DataBlockIter, rocksdb::Slice>::InitDataBlock()+0x4a1) [0x556ed74aaf91]",
        "(rocksdb::BlockBasedTableIterator<rocksdb::DataBlockIter, rocksdb::Slice>::SeekImpl(rocksdb::Slice const*)+0x413) [0x556ed74aa7e1]",
        "(rocksdb::BlockBasedTableIterator<rocksdb::DataBlockIter, rocksdb::Slice>::SeekToFirst()+0x1d) [0x556ed74a8a13]",
        "(rocksdb::IteratorWrapperBase<rocksdb::Slice>::SeekToFirst()+0x54) [0x556ed72fb264]",
        "/usr/bin/ceph-osd(+0x17ff8cf) [0x556ed73928cf]",
        "/usr/bin/ceph-osd(+0x17fec95) [0x556ed7391c95]",
        "/usr/bin/ceph-osd(+0x17ff691) [0x556ed7392691]",
        "(rocksdb::IteratorWrapperBase<rocksdb::Slice>::Next()+0x62) [0x556ed72faf1e]",
        "(rocksdb::MergingIterator::Next()+0xaf) [0x556ed74cb15b]",
        "(rocksdb::CompactionIterator::Next()+0x233) [0x556ed757af4b]",
        "(rocksdb::CompactionJob::ProcessKeyValueCompaction(rocksdb::CompactionJob::SubcompactionState*)+0xcd3) [0x556ed758dd21]",
        "(rocksdb::CompactionJob::Run()+0x236) [0x556ed758b9e4]",
        "(rocksdb::DBImpl::BackgroundCompaction(bool*, rocksdb::JobContext*, rocksdb::LogBuffer*, rocksdb::DBImpl::PrepickedCompaction*, rocksdb::Env::Priority)+0x248b) [0x556ed72a4559]",
        "(rocksdb::DBImpl::BackgroundCallCompaction(rocksdb::DBImpl::PrepickedCompaction*, rocksdb::Env::Priority)+0x20d) [0x556ed72a189b]",
        "(rocksdb::DBImpl::BGWorkCompaction(void*)+0xca) [0x556ed72a0182]",
        "(void std::__invoke_impl<void, void (*&)(void*), void*&>(std::__invoke_other, void (*&)(void*), void*&)+0x34) [0x556ed7514152]",
        "(std::__invoke_result<void (*&)(void*), void*&>::type std::__invoke<void (*&)(void*), void*&>(void (*&)(void*), void*&)+0x37) [0x556ed7513ded]",
        "(void std::_Bind<void (*(void*))(void*)>::__call<void, , 0ul>(std::tuple<>&&, std::_Index_tuple<0ul>)+0x48) [0x556ed751370e]",
        "(void std::_Bind<void (*(void*))(void*)>::operator()<, void>()+0x24) [0x556ed7512e52]",
        "(void std::__invoke_impl<void, std::_Bind<void (*(void*))(void*)>&>(std::__invoke_other, std::_Bind<void (*(void*))(void*)>&)+0x20) [0x556ed7512617]",
        "(std::enable_if<std::__and_<std::is_void<void>, std::__is_invocable<std::_Bind<void (*(void*))(void*)>&> >::value, void>::type std::__invoke_r<void, std::_Bind<void (*(void*))(void*)>&>(std::_Bind<void (*(void*))(void*)>&)+0x20) [0x556ed75118ee]",
        "(std::_Function_handler<void (), std::_Bind<void (*(void*))(void*)> >::_M_invoke(std::_Any_data const&)+0x20) [0x556ed7510ae4]",
        "(rocksdb::ThreadPoolImpl::Impl::BGThread(unsigned long)+0x269) [0x556ed750cdd1]",
        "(rocksdb::ThreadPoolImpl::Impl::BGThreadWrapper(void*)+0x10d) [0x556ed750cf37]",
        "(void std::__invoke_impl<void, void (*)(void*), rocksdb::BGThreadMetadata*>(std::__invoke_other, void (*&&)(void*), rocksdb::BGThreadMetadata*&&)+0x34) [0x556ed751468d]",
        "(std::__invoke_result<void (*)(void*), rocksdb::BGThreadMetadata*>::type std::__invoke<void (*)(void*), rocksdb::BGThreadMetadata*>(void (*&&)(void*), rocksdb::BGThreadMetadata*&&)+0x37) [0x556ed7514608]",
        "(void std::thread::_Invoker<std::tuple<void (*)(void*), rocksdb::BGThreadMetadata*> >::_M_invoke<0ul, 1ul>(std::_Index_tuple<0ul, 1ul>)+0x43) [0x556ed751457b]",
        "(std::thread::_Invoker<std::tuple<void (*)(void*), rocksdb::BGThreadMetadata*> >::operator()()+0x18) [0x556ed7514534]",
        "(std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (*)(void*), rocksdb::BGThreadMetadata*> > >::_M_run()+0x1c) [0x556ed7514518]",
        "/lib/x86_64-linux-gnu/libstdc++.so.6(+0xceed0) [0x7f6e58d57ed0]",
        "/lib/x86_64-linux-gnu/libpthread.so.0(+0x8ea7) [0x7f6e58ec8ea7]",
        "clone()" 
    ],
    "ceph_version": "16.2.9",
    "crash_id": "2022-07-08T16:59:38.030577Z_32fd728f-2ecc-4176-9f5c-8b7d6d02ec3a",
    "entity_name": "osd.287e6c223b07c0f956df8f5f162275e0c304840e",
    "os_id": "11",
    "os_name": "Debian GNU/Linux 11 (bullseye)",
    "os_version": "11 (bullseye)",
    "os_version_id": "11",
    "process_name": "ceph-osd",
    "stack_sig": "7abec5bd84330a034d05bda7ddf6928516abdd4516dd4284737eebe1e366f31a",
    "timestamp": "2022-07-08T16:59:38.030577Z",
    "utsname_machine": "x86_64",
    "utsname_release": "5.15.35-3-pve",
    "utsname_sysname": "Linux",
    "utsname_version": "#1 SMP PVE 5.15.35-6 (Fri, 17 Jun 2022 13:42:35 +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.7, v16.2.9 added
Actions

Also available in: Atom PDF