Project

General

Profile

Bug #17880

librbd/mirror/DisableRequest.cc: 193: FAILED assert(m_image_ctx->journal == nullptr)

Added by Mykola Golub about 6 years ago. Updated about 6 years ago.

Status:
Resolved
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

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).

History

#1 Updated by Mykola Golub about 6 years ago

  • Status changed from New to In Progress
  • Assignee set to Mykola Golub

#2 Updated by Mykola Golub about 6 years ago

  • Status changed from In Progress to Fix Under Review

#3 Updated by Jason Dillaman about 6 years ago

  • Status changed from Fix Under Review to Resolved

Also available in: Atom PDF