Project

General

Profile

Bug #56933

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

0ec6628c9da222276623f53f4d7599522dd9371db199b44e8c517d68d31c559d


Description

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

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>::FindBlockForward()
    rocksdb::BlockBasedTableIterator<rocksdb::DataBlockIter, rocksdb::Slice>::FindKeyForward()
    rocksdb::BlockBasedTableIterator<rocksdb::DataBlockIter, rocksdb::Slice>::Next()
    rocksdb::BlockBasedTableIterator<rocksdb::DataBlockIter, rocksdb::Slice>::NextAndGetResult(rocksdb::IterateResult*)
    rocksdb::IteratorWrapperBase<rocksdb::Slice>::Next()
    rocksdb::MergingIterator::Next()
    rocksdb::CompactionIterator::NextFromInput()
    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>()
    std::function<void ()>::operator()() const
    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:
{
    "archived": "2022-07-24 12:31:19.547976",
    "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 7f01aafe0700 time 2022-07-24T00:50:26.589264-0400\nos/bluestore/BlueFS.cc: 1922: FAILED ceph_assert(r == 0)",
    "assert_thread_name": "rocksdb:low0",
    "backtrace": [
        "/lib/x86_64-linux-gnu/libpthread.so.0(+0x143c0) [0x7f01b59cb3c0]",
        "gsignal()",
        "abort()",
        "(ceph::__ceph_assert_fail(char const*, char const*, int, char const*)+0x1ad) [0x559e72c8dbb2]",
        "/usr/bin/ceph-osd(+0xaccd5f) [0x559e72c8dd5f]",
        "(BlueFS::_read_random(BlueFS::FileReader*, unsigned long, unsigned long, char*)+0xfeb) [0x559e73427f1b]",
        "(BlueRocksRandomAccessFile::Read(unsigned long, unsigned long, rocksdb::Slice*, char*) const+0x24) [0x559e7344ceb4]",
        "(rocksdb::LegacyRandomAccessFileWrapper::Read(unsigned long, unsigned long, rocksdb::IOOptions const&, rocksdb::Slice*, char*, rocksdb::IODebugContext*) const+0x7e) [0x559e73951eb4]",
        "(rocksdb::RandomAccessFileReader::Read(unsigned long, unsigned long, rocksdb::Slice*, char*, bool) const+0x8cc) [0x559e73d2ddb8]",
        "(rocksdb::FilePrefetchBuffer::Prefetch(rocksdb::RandomAccessFileReader*, unsigned long, unsigned long, bool)+0x429) [0x559e73d2d0dd]",
        "(rocksdb::FilePrefetchBuffer::TryReadFromCache(unsigned long, unsigned long, rocksdb::Slice*, bool)+0x190) [0x559e73d2d33a]",
        "(rocksdb::BlockFetcher::TryGetFromPrefetchBuffer()+0x84) [0x559e73c1c896]",
        "(rocksdb::BlockFetcher::ReadBlockContents()+0xaf) [0x559e73c1a17d]",
        "/usr/bin/ceph-osd(+0x1a1e904) [0x559e73bdf904]",
        "(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+0x4e6) [0x559e73be83ec]",
        "(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+0x344) [0x559e73bebab2]",
        "(rocksdb::BlockBasedTableIterator<rocksdb::DataBlockIter, rocksdb::Slice>::InitDataBlock()+0x487) [0x559e73c03223]",
        "(rocksdb::BlockBasedTableIterator<rocksdb::DataBlockIter, rocksdb::Slice>::FindBlockForward()+0x290) [0x559e73c04f1a]",
        "(rocksdb::BlockBasedTableIterator<rocksdb::DataBlockIter, rocksdb::Slice>::FindKeyForward()+0x94) [0x559e73c03870]",
        "(rocksdb::BlockBasedTableIterator<rocksdb::DataBlockIter, rocksdb::Slice>::Next()+0x8e) [0x559e73c00e56]",
        "(rocksdb::BlockBasedTableIterator<rocksdb::DataBlockIter, rocksdb::Slice>::NextAndGetResult(rocksdb::IterateResult*)+0x21) [0x559e73c00e89]",
        "(rocksdb::IteratorWrapperBase<rocksdb::Slice>::Next()+0x75) [0x559e73a29871]",
        "(rocksdb::MergingIterator::Next()+0xc2) [0x559e73c25c76]",
        "(rocksdb::CompactionIterator::NextFromInput()+0xec6) [0x559e73ce8e22]",
        "(rocksdb::CompactionIterator::Next()+0x252) [0x559e73ce7b8c]",
        "(rocksdb::CompactionJob::ProcessKeyValueCompaction(rocksdb::CompactionJob::SubcompactionState*)+0xd2e) [0x559e73cfc2ca]",
        "(rocksdb::CompactionJob::Run()+0x25c) [0x559e73cf9e24]",
        "(rocksdb::DBImpl::BackgroundCompaction(bool*, rocksdb::JobContext*, rocksdb::LogBuffer*, rocksdb::DBImpl::PrepickedCompaction*, rocksdb::Env::Priority)+0x2582) [0x559e739caa68]",
        "(rocksdb::DBImpl::BackgroundCallCompaction(rocksdb::DBImpl::PrepickedCompaction*, rocksdb::Env::Priority)+0x22f) [0x559e739c7c27]",
        "(rocksdb::DBImpl::BGWorkCompaction(void*)+0xdd) [0x559e739c6293]",
        "(void std::__invoke_impl<void, void (*&)(void*), void*&>(std::__invoke_other, void (*&)(void*), void*&)+0x38) [0x559e73c75d38]",
        "(std::__invoke_result<void (*&)(void*), void*&>::type std::__invoke<void (*&)(void*), void*&>(void (*&)(void*), void*&)+0x4a) [0x559e73c75670]",
        "(void std::_Bind<void (*(void*))(void*)>::__call<void, , 0ul>(std::tuple<>&&, std::_Index_tuple<0ul>)+0x5b) [0x559e73c74b7d]",
        "(void std::_Bind<void (*(void*))(void*)>::operator()<, void>()+0x37) [0x559e73c73a15]",
        "(std::_Function_handler<void (), std::_Bind<void (*(void*))(void*)> >::_M_invoke(std::_Any_data const&)+0x24) [0x559e73c72896]",
        "(std::function<void ()>::operator()() const+0x36) [0x559e7395db3c]",
        "(rocksdb::ThreadPoolImpl::Impl::BGThread(unsigned long)+0x27f) [0x559e73c6e5d5]",
        "(rocksdb::ThreadPoolImpl::Impl::BGThreadWrapper(void*)+0x112) [0x559e73c6e75e]",
        "(void std::__invoke_impl<void, void (*)(void*), rocksdb::BGThreadMetadata*>(std::__invoke_other, void (*&&)(void*), rocksdb::BGThreadMetadata*&&)+0x38) [0x559e73c769c8]",
        "(std::__invoke_result<void (*)(void*), rocksdb::BGThreadMetadata*>::type std::__invoke<void (*)(void*), rocksdb::BGThreadMetadata*>(void (*&&)(void*), rocksdb::BGThreadMetadata*&&)+0x4a) [0x559e73c7691a]",
        "(void std::thread::_Invoker<std::tuple<void (*)(void*), rocksdb::BGThreadMetadata*> >::_M_invoke<0ul, 1ul>(std::_Index_tuple<0ul, 1ul>)+0x47) [0x559e73c7686d]",
        "(std::thread::_Invoker<std::tuple<void (*)(void*), rocksdb::BGThreadMetadata*> >::operator()()+0x2b) [0x559e73c7680f]",
        "(std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (*)(void*), rocksdb::BGThreadMetadata*> > >::_M_run()+0x20) [0x559e73c767e0]",
        "/usr/lib/x86_64-linux-gnu/libstdc++.so.6(+0xd6de4) [0x7f01b583ede4]",
        "/lib/x86_64-linux-gnu/libpthread.so.0(+0x8609) [0x7f01b59bf609]",
        "clone()" 
    ],
    "ceph_version": "16.2.9",
    "crash_id": "2022-07-24T04:50:26.669441Z_205c2a68-c5d1-4b9a-b95e-35748d1169be",
    "entity_name": "osd.796813719153b4365dc7505bcb714dd3019354fb",
    "os_id": "ubuntu",
    "os_name": "Ubuntu",
    "os_version": "20.04.3 LTS (Focal Fossa)",
    "os_version_id": "20.04",
    "process_name": "ceph-osd",
    "stack_sig": "0ec6628c9da222276623f53f4d7599522dd9371db199b44e8c517d68d31c559d",
    "timestamp": "2022-07-24T04:50:26.669441Z",
    "utsname_machine": "x86_64",
    "utsname_release": "5.4.0-99-generic",
    "utsname_sysname": "Linux",
    "utsname_version": "#112-Ubuntu SMP Thu Feb 3 13:50:55 UTC 2022" 
}

History

#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

Also available in: Atom PDF