Actions
Bug #17880
closedlibrbd/mirror/DisableRequest.cc: 193: FAILED assert(m_image_ctx->journal == nullptr)
% 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
The following sequence:
image.mirror_image_demote();
image.mirror_image_disable(true)
will trigger this crash on the master:
/home/mgolub/ceph/ceph/src/librbd/mirror/DisableRequest.cc: In function 'void librbd::mirror::DisableRequest<ImageCtxT>::send_promote_image() [with ImageCtxT = librbd::ImageCtx]' thread 7f100600e700 time 2016-11-12 14:06:01.475876 /home/mgolub/ceph/ceph/src/librbd/mirror/DisableRequest.cc: 193: FAILED assert(m_image_ctx->journal == nullptr) ceph version 11.0.2-1484-g4e682ed (4e682ed5da9b8f2040cec2a2e743a4718c339d31) 1: (ceph::__ceph_assert_fail(char const*, char const*, int, char const*)+0x82) [0x7f101570b762] 2: (librbd::mirror::DisableRequest<librbd::ImageCtx>::send_promote_image()+0x1ba) [0x7f101535d4fa] 3: (librbd::mirror::DisableRequest<librbd::ImagCtx>::handle_notify_mirroring_watcher(int*)+0x5e) [0x7f101535d5ae] 4: (librbd::util::detail::C_StateCallbackAdapter<librbd::mirror::DisableRequest<librbd::ImageCtx>, &librbd::mirror::DisableRequest<librbd::ImageCtx>::handle_notify_mirroring_watcher, true>::complete(int)+0x1b) [0x7f101535d82b] 5: (()+0x7d8276) [0x7f1015478276] 6: (Context::complete(int)+0x9) [0x7f1015182e29] 7: (librados::TestWatchNotify::finish_notify(std::string const&, unsigned long)+0x79b) [0x7f101547fccb] 8: (librados::TestWatchNotify::execute_notify(std::string const&, ceph::buffer::list&, unsigned long)+0x5ac) [0x7f1015481a1c] 9: (FunctionContext::finish(int)+0x2c) [0x7f10151c67ac] 10: (Context::complete(int)+0x9) [0x7f1015182e29] 11: (Finisher::finisher_thread_entry()+0x1f4) [0x7f101570aa04] 12: (()+0x80a4) [0x7f100b8cd0a4] 13: (clone()+0x6d) [0x7f100932c04d]
The demote step didn't release the exclusive lock (which would close the journal).
Updated by Mykola Golub over 7 years ago
- Status changed from New to In Progress
- Assignee set to Mykola Golub
Updated by Mykola Golub over 7 years ago
- Status changed from In Progress to Fix Under Review
Updated by Jason Dillaman over 7 years ago
- Status changed from Fix Under Review to Resolved
Actions