[Bug 1669227] [NEW] Marking unfound objects lost causes OSD to crash
Billy Olsen
billy.olsen at canonical.com
Thu Mar 2 02:56:36 UTC 2017
Public bug reported:
On Firefly and Hammer, marking an unfound object as lost causes OSDs to
crash due to a failed assertion in the ordering of the journal entries.
The problem seems to be that the unfound objects are removed from the
set of objects needed to be locally recovered but failed to advance the
pg log pointer.
This has been raised as an upstream bug in:
http://tracker.ceph.com/issues/13468
This issue was fixed upstream in https://github.com/ceph/ceph/pull/6841
Backtrace for crash is:
#0 0x00007fd7b59781fb in raise (sig=6) at ../nptl/sysdeps/unix/sysv/linux/pt-raise.c:37
#1 0x00005593051cf9da in reraise_fatal (signum=6) at global/signal_handler.cc:59
#2 handle_fatal_signal (signum=6) at global/signal_handler.cc:105
#3 <signal handler called>
#4 0x00007fd7b401dc37 in __GI_raise (sig=sig at entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56
#5 0x00007fd7b4021028 in __GI_abort () at abort.c:89
#6 0x00007fd7b4928535 in __gnu_cxx::__verbose_terminate_handler () at ../../../../src/libstdc++-v3/libsupc++/vterminate.cc:95
#7 0x00007fd7b49266d6 in __cxxabiv1::__terminate (handler=<optimized out>) at ../../../../src/libstdc++-v3/libsupc++/eh_terminate.cc:38
#8 0x00007fd7b4926703 in std::terminate () at ../../../../src/libstdc++-v3/libsupc++/eh_terminate.cc:48
#9 0x00007fd7b4926922 in __cxxabiv1::__cxa_throw (obj=0x559310e37820, tinfo=0x55930574ea50 <typeinfo for ceph::FailedAssertion>, dest=0x0) at ../../../../src/libstdc++-v3/libsupc++/eh_throw.cc:87
#10 0x00005593052b3932 in ceph::__ceph_assert_fail (assertion=assertion at entry=0x55930539d520 "info.last_complete == info.last_update", file=file at entry=0x5593053cca40 "osd/ReplicatedPG.cc",
line=line at entry=9015, func=func at entry=0x5593053d7160 <ReplicatedPG::recover_got(hobject_t, eversion_t)::__PRETTY_FUNCTION__> "void ReplicatedPG::recover_got(hobject_t, eversion_t)")
at common/assert.cc:77
#11 0x0000559304ffd009 in ReplicatedPG::recover_got (this=this at entry=0x559330da2000, oid=..., v=...) at osd/ReplicatedPG.cc:9015
#12 0x0000559305004c48 in ReplicatedPG::on_local_recover (this=0x559330da2000, hoid=..., stat_diff=..., _recovery_info=..., obc=..., t=0x55931ac71cc0) at osd/ReplicatedPG.cc:243
#13 0x0000559305169eb2 in ECBackend::handle_recovery_push (this=this at entry=0x55932d072f40, op=..., m=m at entry=0x7fd78a8fc440) at osd/ECBackend.cc:313
#14 0x000055930516c656 in ECBackend::handle_message (this=0x55932d072f40, _op=...) at osd/ECBackend.cc:690
#15 0x0000559304fefbab in ReplicatedPG::do_request (this=0x559330da2000, op=..., handle=...) at osd/ReplicatedPG.cc:1114
#16 0x0000559304e4a381 in OSD::dequeue_op (this=0x5593075cf400, pg=..., op=..., handle=...) at osd/OSD.cc:7872
#17 0x0000559304e65724 in OSD::OpWQ::_process (this=0x5593075d0258, pg=..., handle=...) at osd/OSD.cc:7842
#18 0x0000559304ea7ecc in ThreadPool::WorkQueueVal<std::pair<boost::intrusive_ptr<PG>, std::tr1::shared_ptr<OpRequest> >, boost::intrusive_ptr<PG> >::_void_process (this=0x5593075d0258, handle=...)
at ./common/WorkQueue.h:191
#19 0x00005593052a42c1 in ThreadPool::worker (this=0x5593075cf870, wt=0x5593076b9dd0) at common/WorkQueue.cc:128
#20 0x00005593052a51b0 in ThreadPool::WorkThread::entry (this=<optimized out>) at common/WorkQueue.h:318
#21 0x00007fd7b5970184 in start_thread (arg=0x7fd78a8fd700) at pthread_create.c:312
#22 0x00007fd7b40e137d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111
** Affects: ceph (Ubuntu)
Importance: Undecided
Status: New
** Tags: sts
** Tags added: sts
--
You received this bug notification because you are a member of Ubuntu
OpenStack, which is subscribed to ceph in Ubuntu.
https://bugs.launchpad.net/bugs/1669227
Title:
Marking unfound objects lost causes OSD to crash
Status in ceph package in Ubuntu:
New
Bug description:
On Firefly and Hammer, marking an unfound object as lost causes OSDs
to crash due to a failed assertion in the ordering of the journal
entries. The problem seems to be that the unfound objects are removed
from the set of objects needed to be locally recovered but failed to
advance the pg log pointer.
This has been raised as an upstream bug in:
http://tracker.ceph.com/issues/13468
This issue was fixed upstream in
https://github.com/ceph/ceph/pull/6841
Backtrace for crash is:
#0 0x00007fd7b59781fb in raise (sig=6) at ../nptl/sysdeps/unix/sysv/linux/pt-raise.c:37
#1 0x00005593051cf9da in reraise_fatal (signum=6) at global/signal_handler.cc:59
#2 handle_fatal_signal (signum=6) at global/signal_handler.cc:105
#3 <signal handler called>
#4 0x00007fd7b401dc37 in __GI_raise (sig=sig at entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56
#5 0x00007fd7b4021028 in __GI_abort () at abort.c:89
#6 0x00007fd7b4928535 in __gnu_cxx::__verbose_terminate_handler () at ../../../../src/libstdc++-v3/libsupc++/vterminate.cc:95
#7 0x00007fd7b49266d6 in __cxxabiv1::__terminate (handler=<optimized out>) at ../../../../src/libstdc++-v3/libsupc++/eh_terminate.cc:38
#8 0x00007fd7b4926703 in std::terminate () at ../../../../src/libstdc++-v3/libsupc++/eh_terminate.cc:48
#9 0x00007fd7b4926922 in __cxxabiv1::__cxa_throw (obj=0x559310e37820, tinfo=0x55930574ea50 <typeinfo for ceph::FailedAssertion>, dest=0x0) at ../../../../src/libstdc++-v3/libsupc++/eh_throw.cc:87
#10 0x00005593052b3932 in ceph::__ceph_assert_fail (assertion=assertion at entry=0x55930539d520 "info.last_complete == info.last_update", file=file at entry=0x5593053cca40 "osd/ReplicatedPG.cc",
line=line at entry=9015, func=func at entry=0x5593053d7160 <ReplicatedPG::recover_got(hobject_t, eversion_t)::__PRETTY_FUNCTION__> "void ReplicatedPG::recover_got(hobject_t, eversion_t)")
at common/assert.cc:77
#11 0x0000559304ffd009 in ReplicatedPG::recover_got (this=this at entry=0x559330da2000, oid=..., v=...) at osd/ReplicatedPG.cc:9015
#12 0x0000559305004c48 in ReplicatedPG::on_local_recover (this=0x559330da2000, hoid=..., stat_diff=..., _recovery_info=..., obc=..., t=0x55931ac71cc0) at osd/ReplicatedPG.cc:243
#13 0x0000559305169eb2 in ECBackend::handle_recovery_push (this=this at entry=0x55932d072f40, op=..., m=m at entry=0x7fd78a8fc440) at osd/ECBackend.cc:313
#14 0x000055930516c656 in ECBackend::handle_message (this=0x55932d072f40, _op=...) at osd/ECBackend.cc:690
#15 0x0000559304fefbab in ReplicatedPG::do_request (this=0x559330da2000, op=..., handle=...) at osd/ReplicatedPG.cc:1114
#16 0x0000559304e4a381 in OSD::dequeue_op (this=0x5593075cf400, pg=..., op=..., handle=...) at osd/OSD.cc:7872
#17 0x0000559304e65724 in OSD::OpWQ::_process (this=0x5593075d0258, pg=..., handle=...) at osd/OSD.cc:7842
#18 0x0000559304ea7ecc in ThreadPool::WorkQueueVal<std::pair<boost::intrusive_ptr<PG>, std::tr1::shared_ptr<OpRequest> >, boost::intrusive_ptr<PG> >::_void_process (this=0x5593075d0258, handle=...)
at ./common/WorkQueue.h:191
#19 0x00005593052a42c1 in ThreadPool::worker (this=0x5593075cf870, wt=0x5593076b9dd0) at common/WorkQueue.cc:128
#20 0x00005593052a51b0 in ThreadPool::WorkThread::entry (this=<optimized out>) at common/WorkQueue.h:318
#21 0x00007fd7b5970184 in start_thread (arg=0x7fd78a8fd700) at pthread_create.c:312
#22 0x00007fd7b40e137d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/ceph/+bug/1669227/+subscriptions
More information about the Ubuntu-openstack-bugs
mailing list