Project

General

Profile

Bug #17210

ImageWatcher: double unwatch of failed watch handle

Added by Jason Dillaman over 1 year ago. Updated 10 months ago.

Status:
Resolved
Priority:
High
Target version:
-
Start date:
09/04/2016
Due date:
% Done:

0%

Source:
other
Tags:
Backport:
jewel
Regression:
No
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
Release:
Needs Doc:
No

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

Copied to rbd - Backport #17242: jewel: ImageWatcher: double unwatch of failed watch handle Resolved

History

#1 Updated by Jason Dillaman over 1 year ago

  • Description updated (diff)

#2 Updated by Jason Dillaman over 1 year ago

  • Status changed from In Progress to Need Review

#3 Updated by Mykola Golub over 1 year ago

  • Status changed from Need Review to Pending Backport

#4 Updated by Loic Dachary over 1 year ago

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

#5 Updated by Nathan Cutler 10 months ago

  • Status changed from Pending Backport to Resolved

Also available in: Atom PDF