Project

General

Profile

Actions

Bug #19087

closed

Bluestore panic with jemalloc

Added by Xiaoxi Chen about 7 years ago. Updated almost 7 years ago.

Status:
Can't reproduce
Priority:
Urgent
Assignee:
-
Category:
-
Target version:
-
% Done:

0%

Source:
Tags:
Backport:
Regression:
No
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
Pull request ID:
Crash signature (v1):
Crash signature (v2):

Description

Checkout Kraken and build from source, with "cmake -D ALLOCATOR=jemalloc -DBOOST_J=$(nproc) "$@" .. "

OSD will panic once i start doing IO via kernel rbd.

in thread 7fd582bb4700 thread_name:tp_osd_tp

ceph version 11.2.0-41-g6c6b185 (6c6b185bab1e0b7d7446b97d5d314b4dd60360ff)
1: (()+0x946e4e) [0x55ce2f471e4e]
2: (()+0x11390) [0x7fd5bba0a390]
3: (gsignal()+0x38) [0x7fd5b9ffe428]
4: (abort()+0x16a) [0x7fd5ba00002a]
5: (()+0x2dbd7) [0x7fd5b9ff6bd7]
6: (()+0x2dc82) [0x7fd5b9ff6c82]
7: (()+0x9bee74) [0x55ce2f4e9e74]
8: (rocksdb::MemTableListVersion::Unref(rocksdb::autovector<rocksdb::MemTable*, 8ul>*)+0x50) [0x55ce2f4e9ed0]
9: (rocksdb::SuperVersion::Cleanup()+0x3d) [0x55ce2f5b947d]
10: (rocksdb::DBImpl::ReturnAndCleanupSuperVersion(rocksdb::ColumnFamilyData*, rocksdb::SuperVersion*)+0x88) [0x55ce2f477e68]
11: (rocksdb::DBImpl::GetImpl(rocksdb::ReadOptions const&, rocksdb::ColumnFamilyHandle*, rocksdb::Slice const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool)+0x3b9) [0x55ce2f491949]
12: (rocksdb::DBImpl::Get(rocksdb::ReadOptions const&, rocksdb::ColumnFamilyHandle*, rocksdb::Slice const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)+0x22) [0x55ce2f492002]
13: (RocksDBStore::get(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&, ceph::buffer::list
)+0x15d) [0x55ce2f3b720d]
14: (BlueStore::Collection::get_onode(ghobject_t const&, bool)+0x54e) [0x55ce2f3612be]
15: (BlueStore::getattr(boost::intrusive_ptr<ObjectStore::CollectionImpl>&, ghobject_t const&, char const*, ceph::buffer::ptr&)+0xac) [0x55ce2f3633dc]
16: (PGBackend::objects_get_attr(hobject_t const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, ceph::buffer::list*)+0x106) [0x55ce2f12d406]
17: (PrimaryLogPG::get_object_context(hobject_t const&, bool, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, ceph::buffer::list, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, ceph::buffer::list> > >)+0xb46) [0x55ce2f0a5fb6]
18: (PrimaryLogPG::find_object_context(hobject_t const&, std::shared_ptr<ObjectContext>
, bool, bool, hobject_t*)+0x378) [0x55ce2f0a9648]
19: (PrimaryLogPG::do_op(std::shared_ptr<OpRequest>&)+0x1bf4) [0x55ce2f0e74c4]
20: (PrimaryLogPG::do_request(std::shared_ptr<OpRequest>&, ThreadPool::TPHandle&)+0x609) [0x55ce2f0a25d9]
21: (OSD::dequeue_op(boost::intrusive_ptr<PG>, std::shared_ptr<OpRequest>, ThreadPool::TPHandle&)+0x418) [0x55ce2ef3cce8]
22: (PGQueueable::RunVis::operator()(std::shared_ptr<OpRequest> const&)+0x52) [0x55ce2ef3cf42]
23: (OSD::ShardedOpWQ::_process(unsigned int, ceph::heartbeat_handle_d*)+0x776) [0x55ce2ef626e6]
24: (ShardedThreadPool::shardedthreadpool_worker(unsigned int)+0x7f9) [0x55ce2f648129]
25: (ShardedThreadPool::WorkThreadSharded::entry()+0x10) [0x55ce2f64b4e0]
26: (()+0x76ba) [0x7fd5bba006ba]
27: (clone()+0x6d) [0x7fd5ba0cf82d]
NOTE: a copy of the executable, or `objdump -rdS <executable>` is needed to interpret this.
Actions #1

Updated by Xiaoxi Chen about 7 years ago

Intel folks report that jewel goes well with jemalloc

Actions #2

Updated by Sage Weil almost 7 years ago

  • Status changed from New to Can't reproduce

igor also has no problems with jemalloc

Actions

Also available in: Atom PDF