Actions
Bug #20111
closedPython RBD: diff_iterate_cb() does not acquire GIL before calling user-provided callback.
Status:
Rejected
Priority:
Normal
Assignee:
-
Target version:
-
% Done:
0%
Source:
Tags:
Backport:
Regression:
No
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
Pull request ID:
Crash signature (v1):
Crash signature (v2):
Description
rbd_diff_iterate2() is called with GIL released. Callback it calls must acquire GIL.
Bug was not detected since Cython is not smart enough when pointer casting is used. Also,
rbd_diff_iterate_cb() is not declared as
cdef ...rbd_diff_iterate_cb(...) nogil:
Updated by Марк Коренберг almost 7 years ago
Cython internally ensures (and acquires) GIL in such functions. Please close the bug. I verified, that GIL is locked in this function.
Updated by Jason Dillaman almost 7 years ago
- Status changed from New to Rejected
Indeed -- the callback cdef functions have the "with gil" suffix to tell Cython to re-acquire the GIL.
Actions