Marking unfound objects lost causes OSD to crash
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
ceph (Ubuntu) |
Fix Released
|
Medium
|
Unassigned | ||
Trusty |
Triaged
|
Medium
|
Unassigned |
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://
This issue was fixed upstream in https:/
Backtrace for crash is:
#0 0x00007fd7b59781fb in raise (sig=6) at ../nptl/
#1 0x00005593051cf9da in reraise_fatal (signum=6) at global/
#2 handle_fatal_signal (signum=6) at global/
#3 <signal handler called>
#4 0x00007fd7b401dc37 in __GI_raise (sig=sig@entry=6) at ../nptl/
#5 0x00007fd7b4021028 in __GI_abort () at abort.c:89
#6 0x00007fd7b4928535 in __gnu_cxx:
#7 0x00007fd7b49266d6 in __cxxabiv1:
#8 0x00007fd7b4926703 in std::terminate () at ../../.
#9 0x00007fd7b4926922 in __cxxabiv1:
#10 0x00005593052b3932 in ceph::_
line=
at common/assert.cc:77
#11 0x0000559304ffd009 in ReplicatedPG:
#12 0x0000559305004c48 in ReplicatedPG:
#13 0x0000559305169eb2 in ECBackend:
#14 0x000055930516c656 in ECBackend:
#15 0x0000559304fefbab in ReplicatedPG:
#16 0x0000559304e4a381 in OSD::dequeue_op (this=0x5593075
#17 0x0000559304e65724 in OSD::OpWQ::_process (this=0x5593075
#18 0x0000559304ea7ecc in ThreadPool:
at ./common/
#19 0x00005593052a42c1 in ThreadPool::worker (this=0x5593075
#20 0x00005593052a51b0 in ThreadPool:
#21 0x00007fd7b5970184 in start_thread (arg=0x7fd78a8f
#22 0x00007fd7b40e137d in clone () at ../sysdeps/
Based on the upstream comments, I'm making this fix released for Xenial (which shipped with Jewel); so I think this only impacts trusty (firefly) and UCA hammer releases in kilo.