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