Project

General

Profile

Actions

Bug #13555

closed

Assert occured in PG::RecoveryState::Active::react processing AdvMap message

Added by chuanhong wang over 8 years ago. Updated over 8 years ago.

Status:
Won't Fix
Priority:
Normal
Assignee:
-
Category:
-
Target version:
-
% Done:

0%

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

Description

softwre: ceph-0.87+rhel7
problem: Assert occured in PG::RecoveryState::Active::react processing AdvMap message, for details, please find the log below and the attachment.
PG insert some osd into want_acting in recovered state, then this osd became down, and the assert occured when pg process the AdvMap message.
Why not delete the assert, just reset want_acting and calll choose_acting to update it?

2015-08-06 15:27:26.951303 7f117ec0c700 1 osd/PG.cc: In function 'boost::statechart::result PG::RecoveryState::Active::react(const PG::AdvMap&)' thread 7f117ec0c700 time 2015-08-06 15:27:26.941216
osd/PG.cc: 6273: FAILED assert(pg
>is_acting(osd_with_shard) || pg->is_up(osd_with_shard))

ceph version 0.87 (c51c8f9d80fa4e0168aa52685b8de40e42758578)
1: (ceph::__ceph_assert_fail(char const*, char const*, int, char const*)+0x85) [0xb7d925]
2: (PG::RecoveryState::Active::react(PG::AdvMap const&)+0x16e) [0x7c63ee]
3: (boost::statechart::simple_state<PG::RecoveryState::Active, PG::RecoveryState::Primary, PG::RecoveryState::Activating, (boost::statechart::history_mode)0>::react_impl(boost::statechart::event_base const&, void const*)+0x28e) [0x7fc22e]
4: (boost::statechart::simple_state<PG::RecoveryState::Clean, PG::RecoveryState::Active, 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>, (boost::statechart::history_mode)0>::react_impl(boost::statechart::event_base const&, void const*)+0x6a) [0x7f93ca]
5: (boost::statechart::state_machine<PG::RecoveryState::RecoveryMachine, PG::RecoveryState::Initial, std::allocator<void>, boost::statechart::null_exception_translator>::send_event(boost::statechart::event_base const&)+0x6b) [0x7e61ab]
6: (PG::handle_advance_map(std::tr1::shared_ptr<OSDMap const>, std::tr1::shared_ptr<OSDMap const>, std::vector<int, std::allocator<int> >&, int, std::vector<int, std::allocator<int> >&, int, PG::RecoveryCtx*)+0x4ae) [0x7c78be]
7: (OSD::advance_pg(unsigned int, PG*, ThreadPool::TPHandle&, PG::RecoveryCtx*, std::set<boost::intrusive_ptr<PG>, std::less<boost::intrusive_ptr<PG> >, std::allocator<boost::intrusive_ptr<PG> > >)+0x2da) [0x683d4a]
8: (OSD::process_peering_events(std::list<PG
, std::allocator<PG*> > const&, ThreadPool::TPHandle&)+0x22c) [0x68485c]
9: (OSD::PeeringWQ::_process(std::list<PG*, std::allocator<PG*> > const&, ThreadPool::TPHandle&)+0x28) [0x6dd018]
10: (ThreadPool::worker(ThreadPool::WorkThread*)+0xa66) [0xb6e636]
11: (ThreadPool::WorkThread::entry()+0x10) [0xb6f6c0]
12: (()+0x7df3) [0x7f119dc15df3]
13: (clone()+0x6d) [0x7f119c6f854d]
NOTE: a copy of the executable, or `objdump -rdS <executable>` is needed to interpret this.

Files

ceph-osd.13.log.zip (192 KB) ceph-osd.13.log.zip chuanhong wang, 10/21/2015 08:07 AM
Actions #1

Updated by Loïc Dachary over 8 years ago

  • Status changed from New to Won't Fix

Closing because giant is no longer supported. Feel free to re-open if you think the same problem happens on hammer or infernalis. Thanks :-)

Actions

Also available in: Atom PDF