Project

General

Profile

Bug #17210

Updated by Jason Dillaman over 7 years ago

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

<pre>
#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 ?? ()
</pre>

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

Back