commit 57b127459189e39e993426f8e401e288f6394d4b
Author: Sven Wegener <email address hidden>
Date: Fri Dec 14 12:56:49 2018 +0100
Fix ceph: only close rbd image after snapshot iteration is finished
list_snaps() returns an iterator object that requires resources from the
Image object. Closing the Image object deallocates these resources.
On Ceph mimic, which contains changes to the functions being invoked,
iterating over the snapshots of a closed image results in the following
assertion being triggered:
The lock being tried to acquire and the object that contained it have
already been destroyed by closing the image. The assertion terminates
the cinder-backup service via SIGABRT.
On Ceph luminous we've seen occasional segfaults of the cinder-backup
service, which might have the same underlying cause.
Closes-Bug: #1838691
Change-Id: If6043d82cc57d9247a290816d90b95cdf719eaac
Signed-off-by: Sven Wegener <email address hidden>
(cherry picked from commit 76569672599eda764f946ad6ee2ce0bdaddad36b)
(cherry picked from commit e78b220f448c7eb0de35aafd1d49b00547384d41)
Reviewed: https:/ /review. opendev. org/676211 /git.openstack. org/cgit/ openstack/ cinder/ commit/ ?id=57b12745918 9e39e993426f8e4 01e288f6394d4b
Committed: https:/
Submitter: Zuul
Branch: stable/rocky
commit 57b127459189e39 e993426f8e401e2 88f6394d4b
Author: Sven Wegener <email address hidden>
Date: Fri Dec 14 12:56:49 2018 +0100
Fix ceph: only close rbd image after snapshot iteration is finished
list_snaps() returns an iterator object that requires resources from the
Image object. Closing the Image object deallocates these resources.
On Ceph mimic, which contains changes to the functions being invoked,
iterating over the snapshots of a closed image results in the following
assertion being triggered:
cinder- backup[ 29383]: /build/ ceph-13. 2.2/src/ common/ Mutex.cc: In function 'void Mutex::Lock(bool)' thread 7f35a4812700 time 2018-12-14 10:10:49.843120 backup[ 29383]: /build/ ceph-13. 2.2/src/ common/ Mutex.cc: 110: FAILED assert(r == 0) backup[ 29383]: ceph version 13.2.2 (02899bfda81414 6b021136e9d8e80 eba494e1126) mimic (stable) backup[ 29383]: 1: (ceph:: __ceph_ assert_ fail(char const*, char const*, int, char const*)+0x102) [0x7f35903440f2] backup[ 29383]: 2: (()+0x3162b7) [0x7f35903442b7] backup[ 29383]: 3: (Mutex: :Lock(bool) +0x1de) [0x7f359031901e] backup[ 29383]: 4: (()+0x8f452) [0x7f358dafc452] backup[ 29383]: 5: (()+0x11280d) [0x7f358db7f80d] backup[ 29383]: 6: (rbd_snap_ get_namespace_ type()+ 0x29) [0x7f358dacf549]
cinder-
cinder-
cinder-
cinder-
cinder-
cinder-
cinder-
cinder-
The lock being tried to acquire and the object that contained it have
already been destroyed by closing the image. The assertion terminates
the cinder-backup service via SIGABRT.
On Ceph luminous we've seen occasional segfaults of the cinder-backup
service, which might have the same underlying cause.
Closes-Bug: #1838691
Change-Id: If6043d82cc57d9 247a290816d90b9 5cdf719eaac 64f946ad6ee2ce0 bdaddad36b) 0de35aafd1d49b0 0547384d41)
Signed-off-by: Sven Wegener <email address hidden>
(cherry picked from commit 76569672599eda7
(cherry picked from commit e78b220f448c7eb