Bug #54628
crash: int BlueFS::_flush_range(BlueFS::FileWriter*, uint64_t, uint64_t): abort
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):
5b6b006f4454bf9540b2db4430788129b31c3a62c00ec6a06f85a44bd1840aca
7494143f7ad74f754aec8bc623536929d0dce413b3af2b4b214f18f42945ff23
7eb4a9f5ba536956d7b832d26771fcf76f564996311c08bb20d21459415373df
cc2921fab1e3437b441dafb7cade01110b1209cb7500d6aba88d276f1a5bb7b5
fa13ccbf127d9ba92eaece1407379dc5150d65bc36f85887a47b9bea6ec8bd28
Crash signature (v2):
Description
Assert condition: abort
Assert function: int BlueFS::_flush_range(BlueFS::FileWriter*, uint64_t, uint64_t)
Sanitized backtrace:
BlueFS::_flush_range(BlueFS::FileWriter*, unsigned long, unsigned long) BlueFS::_flush(BlueFS::FileWriter*, bool, bool*) BlueFS::_fsync(BlueFS::FileWriter*, std::unique_lock<std::mutex>&) BlueRocksWritableFile::Sync() rocksdb::LegacyWritableFileWrapper::Sync(rocksdb::IOOptions const&, rocksdb::IODebugContext*) rocksdb::WritableFileWriter::SyncInternal(bool) rocksdb::WritableFileWriter::Sync(bool) rocksdb::BuildTable(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, rocksdb::Env*, rocksdb::FileSystem*, rocksdb::ImmutableCFOptions const&, rocksdb::MutableCFOptions const&, rocksdb::FileOptions const&, rocksdb::TableCache*, rocksdb::InternalIteratorBase<rocksdb::Slice>*, std::vector<std::unique_ptr<rocksdb::FragmentedRangeTombstoneIterator, std::default_delete<rocksdb::FragmentedRangeTombstoneIterator> >, std::allocator<std::unique_ptr<rocksdb::FragmentedRangeTombstoneIterator, std::default_delete<rocksdb::FragmentedRangeTombstoneIterator> > > >, rocksdb::FileMetaData*, rocksdb::InternalKeyComparator const&, std::vector<std::unique_ptr<rocksdb::IntTblPropCollectorFactory, std::default_delete<rocksdb::IntTblPropCollectorFactory> >, std::allocator<std::unique_ptr<rocksdb::IntTblPropCollectorFactory, std::default_delete<rocksdb::IntTblPropCollectorFactory> > > > const*, unsigned int, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::vector<unsigned long, std::allocator<unsigned long> >, unsigned long, rocksdb::SnapshotChecker*, rocksdb::CompressionType, unsigned long, rocksdb::CompressionOptions const&, bool, rocksdb::InternalStats*, rocksdb::TableFileCreationReason, rocksdb::EventLogger*, int, rocksdb::Env::IOPriority, rocksdb::TableProperties*, int, unsigned long, unsigned long, rocksdb::Env::WriteLifeTimeHint, unsigned long) rocksdb::DBImpl::WriteLevel0TableForRecovery(int, rocksdb::ColumnFamilyData*, rocksdb::MemTable*, rocksdb::VersionEdit*) rocksdb::DBImpl::RecoverLogFiles(std::vector<unsigned long, std::allocator<unsigned long> > const&, unsigned long*, bool, bool*) rocksdb::DBImpl::Recover(std::vector<rocksdb::ColumnFamilyDescriptor, std::allocator<rocksdb::ColumnFamilyDescriptor> > const&, bool, bool, bool, unsigned long*) rocksdb::DBImpl::Open(rocksdb::DBOptions const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::vector<rocksdb::ColumnFamilyDescriptor, std::allocator<rocksdb::ColumnFamilyDescriptor> > const&, std::vector<rocksdb::ColumnFamilyHandle*, std::allocator<rocksdb::ColumnFamilyHandle*> >*, rocksdb::DB**, bool, bool) rocksdb::DB::Open(rocksdb::DBOptions const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::vector<rocksdb::ColumnFamilyDescriptor, std::allocator<rocksdb::ColumnFamilyDescriptor> > const&, std::vector<rocksdb::ColumnFamilyHandle*, std::allocator<rocksdb::ColumnFamilyHandle*> >*, rocksdb::DB**) RocksDBStore::do_open(std::ostream&, bool, bool, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) BlueStore::_open_db(bool, bool, bool) BlueStore::_open_db_and_around(bool, bool) BlueStore::_mount() OSD::init()
Crash dump sample:
{ "assert_condition": "abort", "assert_file": "os/bluestore/BlueFS.cc", "assert_func": "int BlueFS::_flush_range(BlueFS::FileWriter*, uint64_t, uint64_t)", "assert_line": 2729, "assert_msg": "os/bluestore/BlueFS.cc: In function 'int BlueFS::_flush_range(BlueFS::FileWriter*, uint64_t, uint64_t)' thread 7f40edf67080 time 2022-03-12T22:33:37.582360+0000\nos/bluestore/BlueFS.cc: 2729: ceph_abort_msg(\"bluefs enospc\")", "assert_thread_name": "ceph-osd", "backtrace": [ "/lib64/libpthread.so.0(+0x12b20) [0x7f40ebcc8b20]", "gsignal()", "abort()", "(ceph::__ceph_abort(char const*, int, char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)+0x1b6) [0x5653799dd6cb]", "(BlueFS::_flush_range(BlueFS::FileWriter*, unsigned long, unsigned long)+0x15ff) [0x56537a0cf2df]", "(BlueFS::_flush(BlueFS::FileWriter*, bool, bool*)+0x90) [0x56537a0cf650]", "(BlueFS::_fsync(BlueFS::FileWriter*, std::unique_lock<std::mutex>&)+0x159) [0x56537a0d2029]", "(BlueRocksWritableFile::Sync()+0x6c) [0x56537a0f8fdc]", "(rocksdb::LegacyWritableFileWrapper::Sync(rocksdb::IOOptions const&, rocksdb::IODebugContext*)+0x1f) [0x56537a58a53f]", "(rocksdb::WritableFileWriter::SyncInternal(bool)+0x402) [0x56537a69bcb2]", "(rocksdb::WritableFileWriter::Sync(bool)+0x88) [0x56537a69d2f8]", "(rocksdb::BuildTable(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, rocksdb::Env*, rocksdb::FileSystem*, rocksdb::ImmutableCFOptions const&, rocksdb::MutableCFOptions const&, rocksdb::FileOptions const&, rocksdb::TableCache*, rocksdb::InternalIteratorBase<rocksdb::Slice>*, std::vector<std::unique_ptr<rocksdb::FragmentedRangeTombstoneIterator, std::default_delete<rocksdb::FragmentedRangeTombstoneIterator> >, std::allocator<std::unique_ptr<rocksdb::FragmentedRangeTombstoneIterator, std::default_delete<rocksdb::FragmentedRangeTombstoneIterator> > > >, rocksdb::FileMetaData*, rocksdb::InternalKeyComparator const&, std::vector<std::unique_ptr<rocksdb::IntTblPropCollectorFactory, std::default_delete<rocksdb::IntTblPropCollectorFactory> >, std::allocator<std::unique_ptr<rocksdb::IntTblPropCollectorFactory, std::default_delete<rocksdb::IntTblPropCollectorFactory> > > > const*, unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::vector<unsigned long, std::allocator<unsigned long> >, unsigned long, rocksdb::SnapshotChecker*, rocksdb::CompressionType, unsigned long, rocksdb::CompressionOptions const&, bool, rocksdb::InternalStats*, rocksdb::TableFileCreationReason, rocksdb::EventLogger*, int, rocksdb::Env::IOPriority, rocksdb::TableProperties*, int, unsigned long, unsigned long, rocksdb::Env::WriteLifeTimeHint, unsigned long)+0x2ddb) [0x56537a76a47b]", "(rocksdb::DBImpl::WriteLevel0TableForRecovery(int, rocksdb::ColumnFamilyData*, rocksdb::MemTable*, rocksdb::VersionEdit*)+0xcf5) [0x56537a5cd125]", "(rocksdb::DBImpl::RecoverLogFiles(std::vector<unsigned long, std::allocator<unsigned long> > const&, unsigned long*, bool, bool*)+0x1c2e) [0x56537a5cf85e]", "(rocksdb::DBImpl::Recover(std::vector<rocksdb::ColumnFamilyDescriptor, std::allocator<rocksdb::ColumnFamilyDescriptor> > const&, bool, bool, bool, unsigned long*)+0xae8) [0x56537a5d0bb8]", "(rocksdb::DBImpl::Open(rocksdb::DBOptions const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::vector<rocksdb::ColumnFamilyDescriptor, std::allocator<rocksdb::ColumnFamilyDescriptor> > const&, std::vector<rocksdb::ColumnFamilyHandle*, std::allocator<rocksdb::ColumnFamilyHandle*> >*, rocksdb::DB**, bool, bool)+0x59d) [0x56537a5ca8dd]", "(rocksdb::DB::Open(rocksdb::DBOptions const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::vector<rocksdb::ColumnFamilyDescriptor, std::allocator<rocksdb::ColumnFamilyDescriptor> > const&, std::vector<rocksdb::ColumnFamilyHandle*, std::allocator<rocksdb::ColumnFamilyHandle*> >*, rocksdb::DB**)+0x15) [0x56537a5cbc75]", "(RocksDBStore::do_open(std::ostream&, bool, bool, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)+0x10c1) [0x56537a543941]", "(BlueStore::_open_db(bool, bool, bool)+0x948) [0x565379fca618]", "(BlueStore::_open_db_and_around(bool, bool)+0x2f7) [0x56537a034157]", "(BlueStore::_mount()+0x204) [0x56537a037014]", "(OSD::init()+0x380) [0x565379b10b00]", "main()", "__libc_start_main()", "_start()" ], "ceph_version": "16.2.5", "crash_id": "2022-03-12T22:33:37.599499Z_2a8836b5-b3d6-4138-bce2-917de4a614b3", "entity_name": "osd.be9a2bf0eaf64b7947e9733fbec1bdf5659478d8", "os_id": "centos", "os_name": "CentOS Linux", "os_version": "8", "os_version_id": "8", "process_name": "ceph-osd", "stack_sig": "cc2921fab1e3437b441dafb7cade01110b1209cb7500d6aba88d276f1a5bb7b5", "timestamp": "2022-03-12T22:33:37.599499Z", "utsname_machine": "x86_64", "utsname_release": "5.4.0-96-generic", "utsname_sysname": "Linux", "utsname_version": "#109-Ubuntu SMP Wed Jan 12 16:49:16 UTC 2022" }