Actions
Bug #60355
opencrash: int64_t BlueFS::_read_random(BlueFS::FileReader*, uint64_t, uint64_t, char*): assert(r == 0)
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):
e7e3920f73dbd3767713f52182213948a02382a009f6c489ea8bd12e2400bd1d
Crash signature (v2):
Description
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(rocksdb::IOOptions const&, unsigned long, unsigned long, rocksdb::Slice*, char*, std::unique_ptr<char [], std::default_delete<char []> >*, bool) const rocksdb::BlockFetcher::ReadBlockContents() rocksdb::Status rocksdb::BlockBasedTable::MaybeReadBlockAndLoadToCache<rocksdb::Block>(rocksdb::FilePrefetchBuffer*, rocksdb::ReadOptions const&, rocksdb::BlockHandle const&, rocksdb::UncompressionDict const&, rocksdb::CachableEntry<rocksdb::Block>*, rocksdb::BlockType, rocksdb::GetContext*, rocksdb::BlockCacheLookupContext*, rocksdb::BlockContents*) const 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::BlockBasedTable::IndexReaderCommon::ReadIndexBlock(rocksdb::BlockBasedTable const*, rocksdb::FilePrefetchBuffer*, rocksdb::ReadOptions const&, bool, rocksdb::GetContext*, rocksdb::BlockCacheLookupContext*, rocksdb::CachableEntry<rocksdb::Block>*) rocksdb::BlockBasedTable::IndexReaderCommon::GetOrReadIndexBlock(bool, rocksdb::GetContext*, rocksdb::BlockCacheLookupContext*, rocksdb::CachableEntry<rocksdb::Block>*) const rocksdb::BinarySearchIndexReader::NewIterator(rocksdb::ReadOptions const&, bool, rocksdb::IndexBlockIter*, rocksdb::GetContext*, rocksdb::BlockCacheLookupContext*) rocksdb::BlockBasedTable::NewIndexIterator(rocksdb::ReadOptions const&, bool, rocksdb::IndexBlockIter*, rocksdb::GetContext*, rocksdb::BlockCacheLookupContext*) const rocksdb::BlockBasedTable::NewIterator(rocksdb::ReadOptions const&, rocksdb::SliceTransform const*, rocksdb::Arena*, bool, rocksdb::TableReaderCaller, unsigned long, bool) rocksdb::TableCache::NewIterator(rocksdb::ReadOptions const&, rocksdb::FileOptions const&, rocksdb::InternalKeyComparator const&, rocksdb::FileMetaData const&, rocksdb::RangeDelAggregator*, rocksdb::SliceTransform const*, rocksdb::TableReader**, rocksdb::HistogramImpl*, rocksdb::TableReaderCaller, rocksdb::Arena*, bool, int, unsigned long, rocksdb::InternalKey const*, rocksdb::InternalKey const*, bool) rocksdb::IteratorWrapperBase<rocksdb::Slice>::Seek(rocksdb::Slice const&) rocksdb::MergingIterator::Seek(rocksdb::Slice const&) rocksdb::IteratorWrapperBase<rocksdb::Slice>::Seek(rocksdb::Slice const&) rocksdb::DBIter::Seek(rocksdb::Slice const&) rocksdb::ArenaWrappedDBIter::Seek(rocksdb::Slice const&) ShardMergeIteratorImpl::lower_bound(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) 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> >*)
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": 2094, "assert_msg": "os/bluestore/BlueFS.cc: In function 'int64_t BlueFS::_read_random(BlueFS::FileReader*, uint64_t, uint64_t, char*)' thread 7fedcbbd9700 time 2023-02-08T04:25:38.451658+0800\nos/bluestore/BlueFS.cc: 2094: FAILED ceph_assert(r == 0)", "assert_thread_name": "tp_osd_tp", "backtrace": [ "/lib/x86_64-linux-gnu/libpthread.so.0(+0x13140) [0x7fede9d71140]", "gsignal()", "abort()", "(ceph::__ceph_assert_fail(char const*, char const*, int, char const*)+0x17e) [0x555e19d61fca]", "/usr/bin/ceph-osd(+0xc2310e) [0x555e19d6210e]", "(BlueFS::_read_random(BlueFS::FileReader*, unsigned long, unsigned long, char*)+0xd34) [0x555e1a48d454]", "(BlueRocksRandomAccessFile::Read(unsigned long, unsigned long, rocksdb::Slice*, char*) const+0x20) [0x555e1a4adc30]", "(rocksdb::LegacyRandomAccessFileWrapper::Read(unsigned long, unsigned long, rocksdb::IOOptions const&, rocksdb::Slice*, char*, rocksdb::IODebugContext*) const+0x58) [0x555e1a9b619c]", "(rocksdb::RandomAccessFileReader::Read(rocksdb::IOOptions const&, unsigned long, unsigned long, rocksdb::Slice*, char*, std::unique_ptr<char [], std::default_delete<char []> >*, bool) const+0x9cd) [0x555e1adbbfd7]", "(rocksdb::BlockFetcher::ReadBlockContents()+0x3cf) [0x555e1ac8c149]", "(rocksdb::Status rocksdb::BlockBasedTable::MaybeReadBlockAndLoadToCache<rocksdb::Block>(rocksdb::FilePrefetchBuffer*, rocksdb::ReadOptions const&, rocksdb::BlockHandle const&, rocksdb::UncompressionDict const&, rocksdb::CachableEntry<rocksdb::Block>*, rocksdb::BlockType, rocksdb::GetContext*, rocksdb::BlockCacheLookupContext*, rocksdb::BlockContents*) const+0x441) [0x555e1ac61fef]", "(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+0x10d) [0x555e1ac5e48f]", "(rocksdb::BlockBasedTable::IndexReaderCommon::ReadIndexBlock(rocksdb::BlockBasedTable const*, rocksdb::FilePrefetchBuffer*, rocksdb::ReadOptions const&, bool, rocksdb::GetContext*, rocksdb::BlockCacheLookupContext*, rocksdb::CachableEntry<rocksdb::Block>*)+0x167) [0x555e1ac812b1]", "(rocksdb::BlockBasedTable::IndexReaderCommon::GetOrReadIndexBlock(bool, rocksdb::GetContext*, rocksdb::BlockCacheLookupContext*, rocksdb::CachableEntry<rocksdb::Block>*) const+0x129) [0x555e1ac81415]", "(rocksdb::BinarySearchIndexReader::NewIterator(rocksdb::ReadOptions const&, bool, rocksdb::IndexBlockIter*, rocksdb::GetContext*, rocksdb::BlockCacheLookupContext*)+0xbb) [0x555e1add0a95]", "(rocksdb::BlockBasedTable::NewIndexIterator(rocksdb::ReadOptions const&, bool, rocksdb::IndexBlockIter*, rocksdb::GetContext*, rocksdb::BlockCacheLookupContext*) const+0xcb) [0x555e1ac4dff7]", "(rocksdb::BlockBasedTable::NewIterator(rocksdb::ReadOptions const&, rocksdb::SliceTransform const*, rocksdb::Arena*, bool, rocksdb::TableReaderCaller, unsigned long, bool)+0x108) [0x555e1ac501f8]", "(rocksdb::TableCache::NewIterator(rocksdb::ReadOptions const&, rocksdb::FileOptions const&, rocksdb::InternalKeyComparator const&, rocksdb::FileMetaData const&, rocksdb::RangeDelAggregator*, rocksdb::SliceTransform const*, rocksdb::TableReader**, rocksdb::HistogramImpl*, rocksdb::TableReaderCaller, rocksdb::Arena*, bool, int, unsigned long, rocksdb::InternalKey const*, rocksdb::InternalKey const*, bool)+0x2d9) [0x555e1ab1a6cb]", "/usr/bin/ceph-osd(+0x19ea696) [0x555e1ab29696]", "/usr/bin/ceph-osd(+0x19eb43c) [0x555e1ab2a43c]", "/usr/bin/ceph-osd(+0x19ea96a) [0x555e1ab2996a]", "(rocksdb::IteratorWrapperBase<rocksdb::Slice>::Seek(rocksdb::Slice const&)+0x5f) [0x555e1aa828db]", "(rocksdb::MergingIterator::Seek(rocksdb::Slice const&)+0x118) [0x555e1ac94904]", "(rocksdb::IteratorWrapperBase<rocksdb::Slice>::Seek(rocksdb::Slice const&)+0x5f) [0x555e1aa828db]", "(rocksdb::DBIter::Seek(rocksdb::Slice const&)+0x225) [0x555e1aa7ded5]", "(rocksdb::ArenaWrappedDBIter::Seek(rocksdb::Slice const&)+0x27) [0x555e1ad41bcb]", "(ShardMergeIteratorImpl::lower_bound(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)+0x65) [0x555e1a975375]", "/usr/bin/ceph-osd(+0x11fe165) [0x555e1a33d165]", "(BlueStore::_collection_list(BlueStore::Collection*, ghobject_t const&, ghobject_t const&, int, bool, std::vector<ghobject_t, std::allocator<ghobject_t> >*, ghobject_t*)+0x1216) [0x555e1a369be6]", "(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*)+0xc7) [0x555e1a36af57]", "(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) [0x555e1a00e608]" ], "ceph_version": "17.2.5", "crash_id": "2023-02-07T20:25:38.575171Z_e97420c7-38c0-4a7a-b2ca-7d5b909d14a7", "entity_name": "osd.2ef6376bef447787e332c258d9a3b57540cd0e00", "os_id": "11", "os_name": "Debian GNU/Linux 11 (bullseye)", "os_version": "11 (bullseye)", "os_version_id": "11", "process_name": "ceph-osd", "stack_sig": "e7e3920f73dbd3767713f52182213948a02382a009f6c489ea8bd12e2400bd1d", "timestamp": "2023-02-07T20:25:38.575171Z", "utsname_machine": "x86_64", "utsname_release": "5.15.83-1-pve", "utsname_sysname": "Linux", "utsname_version": "#1 SMP PVE 5.15.83-1 (2022-12-15T00:00Z)" }
Actions