Bug #56188
crash: void PGLog::IndexedLog::add(const pg_log_entry_t&, bool): assert(head.version == 0 || e.version.version > head.version)
Status:
New
Priority:
Normal
Assignee:
-
Category:
-
Target version:
-
% Done:
0%
Source:
Telemetry
Tags:
Backport:
Regression:
No
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
Component(RADOS):
Pull request ID:
Crash signature (v1):
968df2aa070ec1b94c821abcfe6a4d3666a29a18134ac9c149c3ee3db9649f7e
c19beb0a3a60d5a57a9a2c8473be04866c31886c994397e87aab20ab74f7325d
Crash signature (v2):
Description
Assert condition: head.version == 0 || e.version.version > head.version
Assert function: void PGLog::IndexedLog::add(const pg_log_entry_t&, bool)
Sanitized backtrace:
bool PGLog::append_log_entries_update_missing<pg_missing_set<true> >(hobject_t const&, std::list<pg_log_entry_t, mempool::pool_allocator<(mempool::pool_index_t), pg_log_entry_t> > const&, bool, PGLog::IndexedLog*, pg_missing_set<true>&, PGLog::LogEntryHandler*, DoutPrefixProvider const*) PGLog::merge_log(pg_info_t&, pg_log_t&&, pg_shard_t, pg_info_t&, PGLog::LogEntryHandler*, bool&, bool&) PeeringState::merge_log(ceph::os::Transaction&, pg_info_t&, pg_log_t&&, pg_shard_t) PeeringState::Stray::react(MLogRec const&) boost::statechart::simple_state<PeeringState::Stray, PeeringState::Started, boost::mpl::list<mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, (boost::statechart::history_mode)>::react_impl(boost::statechart::event_base const&, void const*) boost::statechart::state_machine<PeeringState::PeeringMachine, PeeringState::Initial, std::allocator<boost::statechart::none>, boost::statechart::null_exception_translator>::process_event(boost::statechart::event_base const&) PG::do_peering_event(std::shared_ptr<PGPeeringEvent>, PeeringCtx&) OSD::dequeue_peering_evt(OSDShard*, PG*, std::shared_ptr<PGPeeringEvent>, ThreadPool::TPHandle&) ceph::osd::scheduler::PGPeeringItem::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:
{ "assert_condition": "head.version == 0 || e.version.version > head.version", "assert_file": "osd/PGLog.h", "assert_func": "void PGLog::IndexedLog::add(const pg_log_entry_t&, bool)", "assert_line": 607, "assert_msg": "osd/PGLog.h: In function 'void PGLog::IndexedLog::add(const pg_log_entry_t&, bool)' thread 7f1e0497a700 time 2022-05-03T05:16:25.728826+0000\nosd/PGLog.h: 607: FAILED ceph_assert(head.version == 0 || e.version.version > head.version)", "assert_thread_name": "tp_osd_tp", "backtrace": [ "/lib64/libpthread.so.0(+0x12ce0) [0x7f1e29220ce0]", "gsignal()", "abort()", "(ceph::__ceph_assert_fail(char const*, char const*, int, char const*)+0x1b0) [0x5651121064ac]", "ceph-osd(+0x5d766f) [0x56511210666f]", "(bool PGLog::append_log_entries_update_missing<pg_missing_set<true> >(hobject_t const&, std::__cxx11::list<pg_log_entry_t, mempool::pool_allocator<(mempool::pool_index_t)22, pg_log_entry_t> > const&, bool, PGLog::IndexedLog*, pg_missing_set<true>&, PGLog::LogEntryHandler*, DoutPrefixProvider const*)+0xc19) [0x5651123012a9]", "(PGLog::merge_log(pg_info_t&, pg_log_t&&, pg_shard_t, pg_info_t&, PGLog::LogEntryHandler*, bool&, bool&)+0xee2) [0x5651122f3b12]", "(PeeringState::merge_log(ceph::os::Transaction&, pg_info_t&, pg_log_t&&, pg_shard_t)+0x75) [0x5651124ea6a5]", "(PeeringState::Stray::react(MLogRec const&)+0x265) [0x565112529195]", "(boost::statechart::simple_state<PeeringState::Stray, PeeringState::Started, boost::mpl::list<mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, (boost::statechart::history_mode)0>::react_impl(boost::statechart::event_base const&, void const*)+0x280) [0x56511255e630]", "(boost::statechart::state_machine<PeeringState::PeeringMachine, PeeringState::Initial, std::allocator<boost::statechart::none>, boost::statechart::null_exception_translator>::process_event(boost::statechart::event_base const&)+0x74) [0x5651122d4c44]", "(PG::do_peering_event(std::shared_ptr<PGPeeringEvent>, PeeringCtx&)+0x2d6) [0x5651122c8e96]", "(OSD::dequeue_peering_evt(OSDShard*, PG*, std::shared_ptr<PGPeeringEvent>, ThreadPool::TPHandle&)+0x175) [0x56511223e3b5]", "(ceph::osd::scheduler::PGPeeringItem::run(OSD*, OSDShard*, boost::intrusive_ptr<PG>&, ThreadPool::TPHandle&)+0x56) [0x5651124d5526]", "(OSD::ShardedOpWQ::_process(unsigned int, ceph::heartbeat_handle_d*)+0xaf8) [0x5651122300d8]", "(ShardedThreadPool::shardedthreadpool_worker(unsigned int)+0x5c4) [0x5651129359c4]", "(ShardedThreadPool::WorkThreadSharded::entry()+0x14) [0x565112936d64]", "/lib64/libpthread.so.0(+0x81cf) [0x7f1e292161cf]", "clone()" ], "ceph_version": "17.2.0", "crash_id": "2022-05-03T05:16:25.738856Z_bb43ddbc-aaff-4ea8-9692-781a682ec62c", "entity_name": "osd.ad5bb6b3507d7ed16cdbb030d1dd48d260928c03", "os_id": "centos", "os_name": "CentOS Stream", "os_version": "8", "os_version_id": "8", "process_name": "ceph-osd", "stack_sig": "c19beb0a3a60d5a57a9a2c8473be04866c31886c994397e87aab20ab74f7325d", "timestamp": "2022-05-03T05:16:25.738856Z", "utsname_machine": "x86_64", "utsname_release": "5.4.0-107-generic", "utsname_sysname": "Linux", "utsname_version": "#121-Ubuntu SMP Thu Mar 24 16:04:27 UTC 2022" }