[SRU] ceph_osd crash in _committed_osd_maps when failed to encode first inc map
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Ubuntu Cloud Archive |
Invalid
|
Critical
|
Unassigned | ||
Ussuri |
Fix Released
|
Critical
|
Unassigned | ||
Victoria |
Invalid
|
Critical
|
Unassigned | ||
ceph (Ubuntu) |
Fix Released
|
Critical
|
Unassigned | ||
Focal |
Fix Released
|
Critical
|
Unassigned | ||
Groovy |
Fix Released
|
Critical
|
Unassigned |
Bug Description
[Impact]
Upstream tracker: issue#46443 [0].
The ceph-osd service can crash when processing osd map updates.
When the osd encounters a CRC error while processing an incremental map update, it will request a full map update from its peers. In this code path, an uninitialized variable was recently introduced and that will get de-referenced causing a crash.
The uninitialized variable was introduced in nautilus 14.2.10, and octopus 15.2.1.
[Test Case]
# Inject osd_inject_
sudo ceph daemon osd.{id} config set osd_inject_
# Trigger some osd map updates by restarting a different osd
sudo systemctl restart osd@{diff-id}
[Regression Potential]
The code has been updated to leave handle_osd_maps() early if a CRC error is encountered, therefore preventing the map commit if the failure is encountered while processing an incremental map update. This will make the full map update take longer but should prevent the crash that resulted in this bug. Additionally, _committed_
[Other Info]
Upstream has released a fix for this issue in Nautilus 14.2.11. The SRU for this point release is being tracked by LP: #1891077
Upstream has merged a fix for this issue in Octopus [1], but there is no current release target. The ceph packages in focal, groovy, and the ussuri cloud archive are exposed to this critical regression.
[0] https:/
[1] https:/
description: | updated |
Changed in ceph (Ubuntu Focal): | |
status: | New → Triaged |
Changed in ceph (Ubuntu Groovy): | |
status: | New → Triaged |
Changed in ceph (Ubuntu Focal): | |
importance: | Undecided → Critical |
Changed in ceph (Ubuntu Groovy): | |
importance: | Undecided → Critical |
description: | updated |
description: | updated |
tags: |
added: verification-done verification-done-focal removed: verification-needed verification-needed-done |
tags: |
added: verification-done verification-done-focal removed: verification-needed verification-needed-focal |
I'm checking in oftc #ceph irc channel to see if there is a 15.2.5 release coming soon for octopus.