Bug #54826
crash: tcmalloc::CentralFreeList::FetchFromOneSpans(int, void**, void**)
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):
8fc29be6d1cce339e3cb7a0c0ab2bfa41f18915403e31a3bcd0dfe5c76482636
Crash signature (v2):
Description
Sanitized backtrace:
tcmalloc::CentralFreeList::FetchFromOneSpans(int, void**, void**) tcmalloc::CentralFreeList::RemoveRange(void**, void**, int) tcmalloc::ThreadCache::FetchFromCentralCache(unsigned int, int, void* (*)(unsigned long)) rocksdb::AllocateBlock(unsigned long, rocksdb::MemoryAllocator*) rocksdb::BlockFetcher::PrepareBufferForBlockFromFile() 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::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::IteratorWrapperBase<rocksdb::Slice>::Next() rocksdb::MergingIterator::Next() rocksdb::MergingIterator::NextAndGetResult(rocksdb::IterateResult*) rocksdb::IteratorWrapperBase<rocksdb::Slice>::Next() rocksdb::DBIter::FindNextUserEntryInternal(bool, rocksdb::Slice const*) rocksdb::DBIter::FindNextUserEntry(bool, rocksdb::Slice const*) rocksdb::DBIter::Next() rocksdb::ArenaWrappedDBIter::Next() RocksDBStore::RocksDBWholeSpaceIteratorImpl::next() RocksDBStore::RocksDBTransactionImpl::rm_range_keys(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) BlueStore::_do_omap_clear(BlueStore::TransContext*, boost::intrusive_ptr<BlueStore::Onode>&) BlueStore::_do_remove(BlueStore::TransContext*, boost::intrusive_ptr<BlueStore::Collection>&, boost::intrusive_ptr<BlueStore::Onode>) BlueStore::_remove(BlueStore::TransContext*, boost::intrusive_ptr<BlueStore::Collection>&, boost::intrusive_ptr<BlueStore::Onode>&) BlueStore::_txc_add_transaction(BlueStore::TransContext*, ceph::os::Transaction*) BlueStore::queue_transactions(boost::intrusive_ptr<ObjectStore::CollectionImpl>&, std::vector<ceph::os::Transaction, std::allocator<ceph::os::Transaction> >&, boost::intrusive_ptr<TrackedOp>, ThreadPool::TPHandle*) ObjectStore::queue_transaction(boost::intrusive_ptr<ObjectStore::CollectionImpl>&, ceph::os::Transaction&&, boost::intrusive_ptr<TrackedOp>, ThreadPool::TPHandle*) non-virtual thunk to PrimaryLogPG::queue_transaction(ceph::os::Transaction&&, boost::intrusive_ptr<OpRequest>) ReplicatedBackend::_do_push(boost::intrusive_ptr<OpRequest>) ReplicatedBackend::_handle_message(boost::intrusive_ptr<OpRequest>) PGBackend::handle_message(boost::intrusive_ptr<OpRequest>) PrimaryLogPG::do_request(boost::intrusive_ptr<OpRequest>&, ThreadPool::TPHandle&) OSD::dequeue_op(boost::intrusive_ptr<PG>, boost::intrusive_ptr<OpRequest>, ThreadPool::TPHandle&) ceph::osd::scheduler::PGRecoveryMsg::run(OSD*, OSDShard*, boost::intrusive_ptr<PG>&, ThreadPool::TPHandle&) OSD::ShardedOpWQ::_process(unsigned int, ceph::heartbeat_handle_d*) ShardedThreadPool::shardedthreadpool_worker(unsigned int) ShardedThreadPool::WorkThreadSharded::entry()
Crash dump sample:
{ "backtrace": [ "/lib/x86_64-linux-gnu/libpthread.so.0(+0x14140) [0x7f8000419140]", "(tcmalloc::CentralFreeList::FetchFromOneSpans(int, void**, void**)+0x3c) [0x7f8000760b4c]", "(tcmalloc::CentralFreeList::RemoveRange(void**, void**, int)+0xdd) [0x7f8000760f5d]", "(tcmalloc::ThreadCache::FetchFromCentralCache(unsigned int, int, void* (*)(unsigned long))+0x73) [0x7f8000764863]", "(rocksdb::AllocateBlock(unsigned long, rocksdb::MemoryAllocator*)+0x75) [0x55d1e9f0edf9]", "(rocksdb::BlockFetcher::PrepareBufferForBlockFromFile()+0x109) [0x55d1e9f44d97]", "(rocksdb::BlockFetcher::ReadBlockContents()+0x10e) [0x55d1e9f42416]", "(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+0x45e) [0x55d1e9f17068]", "(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) [0x55d1e9f14c2d]", "(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) [0x55d1e9f181a3]", "(rocksdb::BlockBasedTableIterator<rocksdb::DataBlockIter, rocksdb::Slice>::InitDataBlock()+0x4a1) [0x55d1e9f2d351]", "(rocksdb::BlockBasedTableIterator<rocksdb::DataBlockIter, rocksdb::Slice>::FindBlockForward()+0x2c2) [0x55d1e9f2ee70]", "(rocksdb::BlockBasedTableIterator<rocksdb::DataBlockIter, rocksdb::Slice>::FindKeyForward()+0x90) [0x55d1e9f2d8ee]", "(rocksdb::BlockBasedTableIterator<rocksdb::DataBlockIter, rocksdb::Slice>::Next()+0x8a) [0x55d1e9f2b214]", "(rocksdb::BlockBasedTableIterator<rocksdb::DataBlockIter, rocksdb::Slice>::NextAndGetResult(rocksdb::IterateResult*)+0x1d) [0x55d1e9f2b243]", "(rocksdb::IteratorWrapperBase<rocksdb::Slice>::Next()+0x62) [0x55d1e9d7d2de]", "/usr/bin/ceph-osd(+0x17ef049) [0x55d1e9e14049]", "/usr/bin/ceph-osd(+0x17efa51) [0x55d1e9e14a51]", "(rocksdb::IteratorWrapperBase<rocksdb::Slice>::Next()+0x62) [0x55d1e9d7d2de]", "(rocksdb::MergingIterator::Next()+0xaf) [0x55d1e9f4d51b]", "(rocksdb::MergingIterator::NextAndGetResult(rocksdb::IterateResult*)+0x28) [0x55d1e9f4d656]", "(rocksdb::IteratorWrapperBase<rocksdb::Slice>::Next()+0x62) [0x55d1e9d7d2de]", "(rocksdb::DBIter::FindNextUserEntryInternal(bool, rocksdb::Slice const*)+0xd7b) [0x55d1e9d75d87]", "(rocksdb::DBIter::FindNextUserEntry(bool, rocksdb::Slice const*)+0x70) [0x55d1e9d74fd8]", "(rocksdb::DBIter::Next()+0x2f3) [0x55d1e9d74e63]", "(rocksdb::ArenaWrappedDBIter::Next()+0x1c) [0x55d1e9fdfc84]", "(RocksDBStore::RocksDBWholeSpaceIteratorImpl::next()+0x4a) [0x55d1e9c55ada]", "(RocksDBStore::RocksDBTransactionImpl::rm_range_keys(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)+0x656) [0x55d1e9c6ec06]", "(BlueStore::_do_omap_clear(BlueStore::TransContext*, boost::intrusive_ptr<BlueStore::Onode>&)+0xdd) [0x55d1e96bfa0d]", "(BlueStore::_do_remove(BlueStore::TransContext*, boost::intrusive_ptr<BlueStore::Collection>&, boost::intrusive_ptr<BlueStore::Onode>)+0xffb) [0x55d1e970466b]", "(BlueStore::_remove(BlueStore::TransContext*, boost::intrusive_ptr<BlueStore::Collection>&, boost::intrusive_ptr<BlueStore::Onode>&)+0x83) [0x55d1e9704e83]", "(BlueStore::_txc_add_transaction(BlueStore::TransContext*, ceph::os::Transaction*)+0x123e) [0x55d1e971e94e]", "(BlueStore::queue_transactions(boost::intrusive_ptr<ObjectStore::CollectionImpl>&, std::vector<ceph::os::Transaction, std::allocator<ceph::os::Transaction> >&, boost::intrusive_ptr<TrackedOp>, ThreadPool::TPHandle*)+0x2e0) [0x55d1e971fbb0]", "(ObjectStore::queue_transaction(boost::intrusive_ptr<ObjectStore::CollectionImpl>&, ceph::os::Transaction&&, boost::intrusive_ptr<TrackedOp>, ThreadPool::TPHandle*)+0x83) [0x55d1e9207b83]", "(non-virtual thunk to PrimaryLogPG::queue_transaction(ceph::os::Transaction&&, boost::intrusive_ptr<OpRequest>)+0x4d) [0x55d1e9357e5d]", "(ReplicatedBackend::_do_push(boost::intrusive_ptr<OpRequest>)+0x667) [0x55d1e956b8e7]", "(ReplicatedBackend::_handle_message(boost::intrusive_ptr<OpRequest>)+0x23f) [0x55d1e956fc2f]", "(PGBackend::handle_message(boost::intrusive_ptr<OpRequest>)+0x55) [0x55d1e93927b5]", "(PrimaryLogPG::do_request(boost::intrusive_ptr<OpRequest>&, ThreadPool::TPHandle&)+0x502) [0x55d1e9330822]", "(OSD::dequeue_op(boost::intrusive_ptr<PG>, boost::intrusive_ptr<OpRequest>, ThreadPool::TPHandle&)+0x1bc) [0x55d1e919e54c]", "(ceph::osd::scheduler::PGRecoveryMsg::run(OSD*, OSDShard*, boost::intrusive_ptr<PG>&, ThreadPool::TPHandle&)+0x65) [0x55d1e941a2a5]", "(OSD::ShardedOpWQ::_process(unsigned int, ceph::heartbeat_handle_d*)+0xa27) [0x55d1e91cf417]", "(ShardedThreadPool::shardedthreadpool_worker(unsigned int)+0x41a) [0x55d1e98694ca]", "(ShardedThreadPool::WorkThreadSharded::entry()+0x10) [0x55d1e986b830]", "/lib/x86_64-linux-gnu/libpthread.so.0(+0x8ea7) [0x7f800040dea7]", "clone()" ], "ceph_version": "16.2.7", "crash_id": "2022-01-19T20:42:32.818682Z_c8f2e3ae-84f5-4627-b803-bc8054f39674", "entity_name": "osd.7a76c42fc72e432fa1fbd4e62a6fa848f7ab8c46", "os_id": "11", "os_name": "Debian GNU/Linux 11 (bullseye)", "os_version": "11 (bullseye)", "os_version_id": "11", "process_name": "ceph-osd", "stack_sig": "8fc29be6d1cce339e3cb7a0c0ab2bfa41f18915403e31a3bcd0dfe5c76482636", "timestamp": "2022-01-19T20:42:32.818682Z", "utsname_machine": "x86_64", "utsname_release": "5.10.0-9-amd64", "utsname_sysname": "Linux", "utsname_version": "#1 SMP Debian 5.10.70-1 (2021-09-30)" }