Project

General

Profile

Actions

Bug #17210

closed

ImageWatcher: double unwatch of failed watch handle

Added by Jason Dillaman over 7 years ago. Updated about 7 years ago.

Status:
Resolved
Priority:
High
Assignee:
Jason Dillaman
Target version:
-
% Done:

0%

Source:
other
Tags:
Backport:
jewel
Regression:
No
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
Pull request ID:
Crash signature (v1):
Crash signature (v2):

Description

http://pulpito.ceph.com/jdillaman-2016-09-03_07:55:53-rbd-wip-jd-testing---basic-smithi/397723

Crash witnessed after loss of exclusive lock

#0  0x00007f9b95ee1414 in __GI___pthread_mutex_lock (mutex=0x0) at ../nptl/pthread_mutex_lock.c:70
#1  0x00007f9ba28fb5e8 in pthread_mutex_lock (m=<optimized out>) at /usr/include/boost/thread/pthread/mutex.hpp:61
#2  lock (this=<optimized out>) at /usr/include/boost/thread/pthread/mutex.hpp:113
#3  boost::unique_lock<boost::mutex>::lock (this=this@entry=0x7f9b6bffca20) at /usr/include/boost/thread/lock_types.hpp:346
#4  0x00007f9ba2934f75 in unique_lock (m_=..., this=0x7f9b6bffca20) at /usr/include/boost/thread/lock_types.hpp:124
#5  boost::shared_mutex::lock (this=0x39) at /usr/include/boost/thread/pthread/shared_mutex.hpp:289
#6  0x00007f9ba2911df5 in lock (this=0x7f9b6bffca70) at /usr/include/c++/4.8/mutex:511
#7  unique_lock (__m=..., this=0x7f9b6bffca70) at /usr/include/c++/4.8/mutex:443
#8  Objecter::_linger_cancel (this=this@entry=0x7f9bad14a700, info=info@entry=0x7f9b5c004030)
    at /srv/autobuild-ceph/gitbuilder.git/build/out~/ceph-11.0.0-1998-g6b1fbb8/src/osdc/Objecter.cc:757
#9  0x00007f9ba2911fc5 in Objecter::linger_cancel (this=0x7f9bad14a700, info=0x7f9b5c004030)
    at /srv/autobuild-ceph/gitbuilder.git/build/out~/ceph-11.0.0-1998-g6b1fbb8/src/osdc/Objecter.cc:747
#10 0x00007f9ba28cf759 in Context::complete (this=0x7f9b80312950, r=<optimized out>)
    at /srv/autobuild-ceph/gitbuilder.git/build/out~/ceph-11.0.0-1998-g6b1fbb8/src/include/Context.h:64
#11 0x00007f9ba297cb76 in Finisher::finisher_thread_entry (this=0x7f9bad06f0b0)
    at /srv/autobuild-ceph/gitbuilder.git/build/out~/ceph-11.0.0-1998-g6b1fbb8/src/common/Finisher.cc:68
#12 0x00007f9b95edf182 in start_thread (arg=0x7f9b6bfff700) at pthread_create.c:312
#13 0x00007f9b95c0c47d in setfsuid () at ../sysdeps/unix/syscall-template.S:81
#14 0x0000000000000000 in ?? ()

The watch is incorrectly unregistered within ImageWatcher::handle_error and also within image_watcher::RewatchRequest. The former should be removed since it is a synchronous call.


Related issues 1 (0 open1 closed)

Copied to rbd - Backport #17242: jewel: ImageWatcher: double unwatch of failed watch handleResolvedJason DillamanActions
Actions #1

Updated by Jason Dillaman over 7 years ago

  • Description updated (diff)
Actions #2

Updated by Jason Dillaman over 7 years ago

  • Status changed from In Progress to Fix Under Review
Actions #3

Updated by Mykola Golub over 7 years ago

  • Status changed from Fix Under Review to Pending Backport
Actions #4

Updated by Loïc Dachary over 7 years ago

  • Copied to Backport #17242: jewel: ImageWatcher: double unwatch of failed watch handle added
Actions #5

Updated by Nathan Cutler about 7 years ago

  • Status changed from Pending Backport to Resolved
Actions

Also available in: Atom PDF