Project

General

Profile

Actions

Tasks #64166

closed

Tasks #63293: Implement fscrypt in libcephfs and cephfs-fuse

Tasks #64160: RMW race detection

RMW issue with xfstest ffsb

Added by Christopher Hoffman 4 months ago. Updated 2 months ago.

Status:
Resolved
Priority:
Normal
Category:
-
Target version:
-
% Done:

0%

Tags:
Reviewed:
Affected Versions:
Component(FS):
Labels (FS):
Pull request ID:
Actions #1

Updated by Christopher Hoffman 4 months ago

  • Status changed from New to In Progress
Actions #2

Updated by Christopher Hoffman 4 months ago

0  0x00007ffff62afecc in __pthread_kill_implementation () from /lib64/libc.so.6                                                                                                                                                              
#1  0x00007ffff625fab6 in raise () from /lib64/libc.so.6                                                                                                                                                                                      
#2  0x00007ffff62497fc in abort () from /lib64/libc.so.6                                                                                                                                                                                      
#3  0x00007ffff64a2b37 in __gnu_cxx::__verbose_terminate_handler() [clone .cold] () from /lib64/libstdc++.so.6                                                                                                                                
#4  0x00007ffff64ae44c in __cxxabiv1::__terminate(void (*)()) () from /lib64/libstdc++.so.6                                                                                                                                                   
#5  0x00007ffff64ae4b7 in std::terminate() () from /lib64/libstdc++.so.6                                                                                                                                                                      
#6  0x00007ffff64ae718 in __cxa_throw () from /lib64/libstdc++.so.6                                                                                                                                                                           
#7  0x00005555556c9e86 in ceph::mutex_debug_detail::mutex_debug_impl<false>::lock_impl (this=this@entry=0x555555a829b8)                                                                                                                       
    at /sdb/choffman/code/fork/ceph/src/common/mutex_debug.h:127                                                                                                                                                                              
#8  0x00005555556cb85b in ceph::mutex_debug_detail::mutex_debug_impl<false>::lock (this=0x555555a829b8, no_lockdep=<optimized out>)                                                                                                           
    at /sdb/choffman/code/fork/ceph/src/common/mutex_debug.h:188                                                                                                                                                                              
#9  0x00005555556fd728 in Client::C_Read_Async_Finisher::finish (this=0x7fffa83a9d10, r=3456) at /sdb/choffman/code/fork/ceph/src/client/Client.cc:11107                                                                                      
#10 0x0000555555748587 in Context::complete (this=0x7fffa83a9d10, r=<optimized out>) at /sdb/choffman/code/fork/ceph/src/include/Context.h:99                                                                                                 
#11 0x00005555557bffa1 in ObjectCacher::C_RetryRead::finish (this=0x7fffa83b7b00, r=<optimized out>) at /sdb/choffman/code/fork/ceph/src/osdc/ObjectCacher.cc:102                                                                             
#12 0x0000555555748587 in Context::complete (this=0x7fffa83b7b00, r=<optimized out>) at /sdb/choffman/code/fork/ceph/src/include/Context.h:99                                                                                                 
#13 0x00005555557bfd59 in finish_contexts<std::__cxx11::list<Context*, std::allocator<Context*> > > (cct=0x5555559312f0, finished=empty std::__cxx11::list,                                                                                   
    result=result@entry=0) at /sdb/choffman/code/fork/ceph/src/include/Context.h:209                                                                                                                                                          
#14 0x00005555557b5bbd in ObjectCacher::bh_read_finish (this=this@entry=0x555555a858a0, poolid=<optimized out>, oid=..., tid=tid@entry=1, start=start@entry=4096,                                                                             
    length=length@entry=3456, bl=..., r=0, trust_enoent=true) at /sdb/choffman/code/fork/ceph/src/osdc/ObjectCacher.cc:1003                                                                                                                   
#15 0x00005555557bff37 in ObjectCacher::C_ReadFinish::finish (this=0x7fffa8345150, r=0) at /sdb/choffman/code/fork/ceph/src/osdc/ObjectCacher.cc:64                                                                                           
#16 0x0000555555748587 in Context::complete (this=0x7fffa8345150, r=<optimized out>) at /sdb/choffman/code/fork/ceph/src/include/Context.h:99                                                                                                 
#17 0x000055555575cee2 in C_Lock::finish (this=0x7fffa83a9d80, r=0) at /sdb/choffman/code/fork/ceph/src/include/Context.h:229                                                                                                                 
#18 0x0000555555748587 in Context::complete (this=0x7fffa83a9d80, r=<optimized out>) at /sdb/choffman/code/fork/ceph/src/include/Context.h:99                                                                                                 
#19 0x00007ffff756ba27 in Finisher::finisher_thread_entry (this=0x555555a83448) at /sdb/choffman/code/fork/ceph/src/common/Finisher.cc:66                                                                                                     
#20 0x00005555557490a3 in Finisher::FinisherThread::entry (this=<optimized out>) at /sdb/choffman/code/fork/ceph/src/common/Finisher.h:63                                                                                                     
#21 0x00007ffff759741f in Thread::entry_wrapper (this=0x555555a83580) at /sdb/choffman/code/fork/ceph/src/common/Thread.cc:87                                                                                                                 
#22 0x00007ffff7597437 in Thread::_entry_func (arg=<optimized out>) at /sdb/choffman/code/fork/ceph/src/common/Thread.cc:74                                                                                                                   
#23 0x00007ffff62ae19d in start_thread () from /lib64/libc.so.6                                                                                                                                                                               
#24 0x00007ffff632fc60 in clone3 () from /lib64/libc.so.6  

The lock issue was addressed in : https://github.com/ceph/ceph/pull/53822

The reproducer for this causes a hang. Looking into it further..

Step to reproduce:
qa/workunits/fs/fscrypt.sh unlocked ffsb

Actions #3

Updated by Christopher Hoffman 4 months ago

  • Description updated (diff)
Actions #4

Updated by Patrick Donnelly 3 months ago

  • Assignee set to Christopher Hoffman
Actions #5

Updated by Christopher Hoffman 2 months ago

  • Status changed from In Progress to Resolved

This is resolved by commit 9a083b09355; cherry-picked into wip-fscrypt branch.

Actions

Also available in: Atom PDF