client: asynchronous fsync can decrement request ref twice#63619
client: asynchronous fsync can decrement request ref twice#63619
Conversation
|
I have a potential reproducer which needs to be tuned to be able to hit the issue and validate the fix. |
|
Reproducing the issue requires
The last stage is where the fault is seen. |
|
This PR is under test in https://tracker.ceph.com/issues/71514. |
|
Test reproducer: PR #63636 |
|
does this case arise due to spurious wake ups ? |
nope. I should actually put the crash backtrace in the commit message. It happens when fsync is woken up when waiting for Fb cap ref to drop to 0 and that code path does a put_request() again. |
|
@mchangir updated with commit message having the crash backtrace. |
439bfa3 to
b68ad61
Compare
gregsfortytwo
left a comment
There was a problem hiding this comment.
Reviewed-by: Greg Farnum gfarnum@redhat.com
chrisphoffman
left a comment
There was a problem hiding this comment.
LGTM, will review reproducer separately. Good work!
…rrently This synthetic reproducer does three things: - setup a client mount with a configuration to delay write operations and initiates a write operation via a thread. - a thread that invokes asynchronous fsync - a thread that invokes setxattr for the client to track early replies Without the fix[0], the test reproduces the following crash: ``` /home/vshankar/ceph/src/client/Client.cc: In function 'void Client::put_request(MetaRequest*)' thread 7f7210ff9640 time 2025-06-03T09:34:45.634974+0000 /home/vshankar/ceph/src/client/Client.cc: 2290: FAILED ceph_assert(request->ref >= 1) ceph version 20.3.0-673-gdd152807f7e (dd15280) tentacle (dev - Debug) 1: (ceph::__ceph_assert_fail(char const*, char const*, int, char const*)+0x119) [0x7f72222ebb98] 2: (ceph::__ceph_assert_fail(ceph::assert_data const&)+0x17) [0x7f72222ebedc] 3: /home/vshankar/ceph/build/lib/libcephfs.so.2(+0x6a075) [0x7f7222e6a075] 4: /home/vshankar/ceph/build/lib/libcephfs.so.2(+0xb8289) [0x7f7222eb8289] 5: /home/vshankar/ceph/build/lib/libcephfs.so.2(+0xee951) [0x7f7222eee951] 6: /home/vshankar/ceph/build/lib/libcephfs.so.2(+0xf167c) [0x7f7222ef167c] 7: (Context::complete(int)+0x9) [0x7f7222e5949d] 8: /home/vshankar/ceph/build/lib/libcephfs.so.2(+0x16a853) [0x7f7222f6a853] 9: /home/vshankar/ceph/build/lib/libcephfs.so.2(+0xa7cc5) [0x7f7222ea7cc5] 10: /home/vshankar/ceph/build/lib/libcephfs.so.2(+0xf128d) [0x7f7222ef128d] 11: /home/vshankar/ceph/build/lib/libcephfs.so.2(+0x16e09d) [0x7f7222f6e09d] 12: (Context::complete(int)+0x9) [0x7f7222e5949d] 13: /home/vshankar/ceph/build/lib/libcephfs.so.2(+0x6d108) [0x7f7222e6d108] 14: (Context::complete(int)+0x9) [0x7f7222e5949d] 15: (Finisher::finisher_thread_entry()+0x665) [0x7f722226fdc1] 16: (Finisher::FinisherThread::entry()+0xd) [0x7f7222270ddf] 17: (Thread::entry_wrapper()+0x2f) [0x7f72222b88f5] 18: (Thread::_entry_func(void*)+0x9) [0x7f72222b8907] 19: /lib64/libc.so.6(+0x89e92) [0x7f7221089e92] 20: /lib64/libc.so.6(+0x10ef20) [0x7f722110ef20] [1] 2162689 IOT instruction (core dumped) ./bin/ceph_test_libcephfs --gtest_filter=LibCephFS.ConcurrentWriteAndFsync ``` [0]: ceph#63619 Fixes: http://tracker.ceph.com/issues/71515 Signed-off-by: Venky Shankar <vshankar@redhat.com>
…rrently This synthetic reproducer does three things: - setup a client mount with a configuration to delay write operations and initiates a write operation via a thread. - a thread that invokes asynchronous fsync - a thread that invokes setxattr for the client to track early replies Without the fix[0], the test reproduces the following crash: ``` /home/vshankar/ceph/src/client/Client.cc: In function 'void Client::put_request(MetaRequest*)' thread 7f7210ff9640 time 2025-06-03T09:34:45.634974+0000 /home/vshankar/ceph/src/client/Client.cc: 2290: FAILED ceph_assert(request->ref >= 1) ceph version 20.3.0-673-gdd152807f7e (dd15280) tentacle (dev - Debug) 1: (ceph::__ceph_assert_fail(char const*, char const*, int, char const*)+0x119) [0x7f72222ebb98] 2: (ceph::__ceph_assert_fail(ceph::assert_data const&)+0x17) [0x7f72222ebedc] 3: /home/vshankar/ceph/build/lib/libcephfs.so.2(+0x6a075) [0x7f7222e6a075] 4: /home/vshankar/ceph/build/lib/libcephfs.so.2(+0xb8289) [0x7f7222eb8289] 5: /home/vshankar/ceph/build/lib/libcephfs.so.2(+0xee951) [0x7f7222eee951] 6: /home/vshankar/ceph/build/lib/libcephfs.so.2(+0xf167c) [0x7f7222ef167c] 7: (Context::complete(int)+0x9) [0x7f7222e5949d] 8: /home/vshankar/ceph/build/lib/libcephfs.so.2(+0x16a853) [0x7f7222f6a853] 9: /home/vshankar/ceph/build/lib/libcephfs.so.2(+0xa7cc5) [0x7f7222ea7cc5] 10: /home/vshankar/ceph/build/lib/libcephfs.so.2(+0xf128d) [0x7f7222ef128d] 11: /home/vshankar/ceph/build/lib/libcephfs.so.2(+0x16e09d) [0x7f7222f6e09d] 12: (Context::complete(int)+0x9) [0x7f7222e5949d] 13: /home/vshankar/ceph/build/lib/libcephfs.so.2(+0x6d108) [0x7f7222e6d108] 14: (Context::complete(int)+0x9) [0x7f7222e5949d] 15: (Finisher::finisher_thread_entry()+0x665) [0x7f722226fdc1] 16: (Finisher::FinisherThread::entry()+0xd) [0x7f7222270ddf] 17: (Thread::entry_wrapper()+0x2f) [0x7f72222b88f5] 18: (Thread::_entry_func(void*)+0x9) [0x7f72222b8907] 19: /lib64/libc.so.6(+0x89e92) [0x7f7221089e92] 20: /lib64/libc.so.6(+0x10ef20) [0x7f722110ef20] [1] 2162689 IOT instruction (core dumped) ./bin/ceph_test_libcephfs --gtest_filter=LibCephFS.ConcurrentWriteAndFsync ``` [0]: ceph#63619 Fixes: http://tracker.ceph.com/issues/71515 Signed-off-by: Venky Shankar <vshankar@redhat.com>
…rrently This synthetic reproducer does three things: - setup a client mount with a configuration to delay write operations and initiates a write operation via a thread. - a thread that invokes asynchronous fsync - a thread that invokes setxattr for the client to track early replies Without the fix[0], the test reproduces the following crash: ``` /home/vshankar/ceph/src/client/Client.cc: In function 'void Client::put_request(MetaRequest*)' thread 7f7210ff9640 time 2025-06-03T09:34:45.634974+0000 /home/vshankar/ceph/src/client/Client.cc: 2290: FAILED ceph_assert(request->ref >= 1) ceph version 20.3.0-673-gdd152807f7e (dd15280) tentacle (dev - Debug) 1: (ceph::__ceph_assert_fail(char const*, char const*, int, char const*)+0x119) [0x7f72222ebb98] 2: (ceph::__ceph_assert_fail(ceph::assert_data const&)+0x17) [0x7f72222ebedc] 3: /home/vshankar/ceph/build/lib/libcephfs.so.2(+0x6a075) [0x7f7222e6a075] 4: /home/vshankar/ceph/build/lib/libcephfs.so.2(+0xb8289) [0x7f7222eb8289] 5: /home/vshankar/ceph/build/lib/libcephfs.so.2(+0xee951) [0x7f7222eee951] 6: /home/vshankar/ceph/build/lib/libcephfs.so.2(+0xf167c) [0x7f7222ef167c] 7: (Context::complete(int)+0x9) [0x7f7222e5949d] 8: /home/vshankar/ceph/build/lib/libcephfs.so.2(+0x16a853) [0x7f7222f6a853] 9: /home/vshankar/ceph/build/lib/libcephfs.so.2(+0xa7cc5) [0x7f7222ea7cc5] 10: /home/vshankar/ceph/build/lib/libcephfs.so.2(+0xf128d) [0x7f7222ef128d] 11: /home/vshankar/ceph/build/lib/libcephfs.so.2(+0x16e09d) [0x7f7222f6e09d] 12: (Context::complete(int)+0x9) [0x7f7222e5949d] 13: /home/vshankar/ceph/build/lib/libcephfs.so.2(+0x6d108) [0x7f7222e6d108] 14: (Context::complete(int)+0x9) [0x7f7222e5949d] 15: (Finisher::finisher_thread_entry()+0x665) [0x7f722226fdc1] 16: (Finisher::FinisherThread::entry()+0xd) [0x7f7222270ddf] 17: (Thread::entry_wrapper()+0x2f) [0x7f72222b88f5] 18: (Thread::_entry_func(void*)+0x9) [0x7f72222b8907] 19: /lib64/libc.so.6(+0x89e92) [0x7f7221089e92] 20: /lib64/libc.so.6(+0x10ef20) [0x7f722110ef20] [1] 2162689 IOT instruction (core dumped) ./bin/ceph_test_libcephfs --gtest_filter=LibCephFS.ConcurrentWriteAndFsync ``` [0]: ceph#63619 Fixes: http://tracker.ceph.com/issues/71515 Signed-off-by: Venky Shankar <vshankar@redhat.com>
After the asynchronous execution context is woken up when waiting
for Fb caps reference to be released causing the clien to crash
as per:
```
0x00007f3115b2452c in __pthread_kill_implementation () from /lib64/libc.so.6
0x00007f3115ad7686 in raise () from /lib64/libc.so.6
0x00007f3115ac1833 in abort () from /lib64/libc.so.6
0x00007f3113375d0a in ceph::__ceph_assert_fail (assertion=<optimized out>, file=<optimized out>, line=<optimized out>, func=<optimized out>) at /usr/src/debug/ceph-19.2.0-124.el9cp.x86_64/src/common/assert.cc:74
0x00007f3113375e6f in ceph::__ceph_assert_fail (ctx=...) at /usr/src/debug/ceph-19.2.0-124.el9cp.x86_64/src/common/assert.cc:79
0x00007f311237db1d in xlist<MetaRequest*>::item::~item (this=<optimized out>, this=<optimized out>) at /usr/src/debug/ceph-19.2.0-124.el9cp.x86_64/src/include/xlist.h:31
MetaRequest::~MetaRequest (this=<optimized out>, this=<optimized out>) at /usr/src/debug/ceph-19.2.0-124.el9cp.x86_64/src/client/MetaRequest.cc:65
Client::put_request (this=0x564b491726c0, request=0x7f301c0165c0) at /usr/src/debug/ceph-19.2.0-124.el9cp.x86_64/src/client/Client.cc:2140
0x00007f31123c88ad in Client::C_nonblocking_fsync_state::advance (this=0x7f307002e9f0) at /usr/src/debug/ceph-19.2.0-124.el9cp.x86_64/src/client/Client.cc:11905
0x00007f3112331ccd in Context::complete (this=0x7f3070009250, r=<optimized out>) at /usr/src/debug/ceph-19.2.0-124.el9cp.x86_64/src/include/Context.h:99
0x00007f311246a964 in Client::signal_context_list(std::__cxx11::list<Context*, std::allocator<Context*> >&) [clone .constprop.0] (ls=std::__cxx11::list = {...}, this=<optimized out>)
at /usr/src/debug/ceph-19.2.0-124.el9cp.x86_64/src/client/Client.cc:4257
0x00007f3112395f45 in Client::put_cap_ref (this=0x564b491726c0, in=0x7f306807be90, cap=<optimized out>) at /usr/src/debug/ceph-19.2.0-124.el9cp.x86_64/src/client/Client.cc:3611
0x00007f31123331f3 in Client::C_Write_Finisher::finish_io (r=0, this=0x7f30240442d0) at /usr/src/debug/ceph-19.2.0-124.el9cp.x86_64/src/client/Client.cc:11381
Client::CWF_iofinish::finish (this=<optimized out>, r=0) at /usr/src/debug/ceph-19.2.0-124.el9cp.x86_64/src/client/Client.h:1481
0x00007f3112331ccd in Context::complete (this=0x7f302401afd0, r=<optimized out>) at /usr/src/debug/ceph-19.2.0-124.el9cp.x86_64/src/include/Context.h:99
0x00007f31123c5242 in Client::C_Lock_Client_Finisher::finish (this=0x7f302403c9d0, r=0) at /usr/src/debug/ceph-19.2.0-124.el9cp.x86_64/src/client/Client.cc:11372
0x00007f3112331ccd in Context::complete (this=0x7f302403c9d0, r=<optimized out>) at /usr/src/debug/ceph-19.2.0-124.el9cp.x86_64/src/include/Context.h:99
0x00007f31134374ad in Finisher::finisher_thread_entry (this=0x564b491730b0) at /usr/src/debug/ceph-19.2.0-124.el9cp.x86_64/src/common/Finisher.cc:72
0x00007f3115b227e2 in start_thread () from /lib64/libc.so.6
0x00007f3115ba7800 in clone3 () from /lib64/libc.so.6
0x0000000000000000 in ?? ()
```
Fixes: http://tracker.ceph.com/issues/71510
Signed-off-by: Venky Shankar <vshankar@redhat.com>
|
(Incorrectly pushed the test case brach to this -- fixed that real quick) No changes in the commit/fix. |
|
jenkins retest this please |
|
fs suite is currently experiencing unrelated test failures which is being debugged. will restart testing when its resolved. |
…rrently This synthetic reproducer does three things: - setup a client mount with a configuration to delay write operations and initiates a write operation via a thread. - a thread that invokes asynchronous fsync - a thread that invokes setxattr for the client to track early replies Without the fix[0], the test reproduces the following crash: ``` /home/vshankar/ceph/src/client/Client.cc: In function 'void Client::put_request(MetaRequest*)' thread 7f7210ff9640 time 2025-06-03T09:34:45.634974+0000 /home/vshankar/ceph/src/client/Client.cc: 2290: FAILED ceph_assert(request->ref >= 1) ceph version 20.3.0-673-gdd152807f7e (dd15280) tentacle (dev - Debug) 1: (ceph::__ceph_assert_fail(char const*, char const*, int, char const*)+0x119) [0x7f72222ebb98] 2: (ceph::__ceph_assert_fail(ceph::assert_data const&)+0x17) [0x7f72222ebedc] 3: /home/vshankar/ceph/build/lib/libcephfs.so.2(+0x6a075) [0x7f7222e6a075] 4: /home/vshankar/ceph/build/lib/libcephfs.so.2(+0xb8289) [0x7f7222eb8289] 5: /home/vshankar/ceph/build/lib/libcephfs.so.2(+0xee951) [0x7f7222eee951] 6: /home/vshankar/ceph/build/lib/libcephfs.so.2(+0xf167c) [0x7f7222ef167c] 7: (Context::complete(int)+0x9) [0x7f7222e5949d] 8: /home/vshankar/ceph/build/lib/libcephfs.so.2(+0x16a853) [0x7f7222f6a853] 9: /home/vshankar/ceph/build/lib/libcephfs.so.2(+0xa7cc5) [0x7f7222ea7cc5] 10: /home/vshankar/ceph/build/lib/libcephfs.so.2(+0xf128d) [0x7f7222ef128d] 11: /home/vshankar/ceph/build/lib/libcephfs.so.2(+0x16e09d) [0x7f7222f6e09d] 12: (Context::complete(int)+0x9) [0x7f7222e5949d] 13: /home/vshankar/ceph/build/lib/libcephfs.so.2(+0x6d108) [0x7f7222e6d108] 14: (Context::complete(int)+0x9) [0x7f7222e5949d] 15: (Finisher::finisher_thread_entry()+0x665) [0x7f722226fdc1] 16: (Finisher::FinisherThread::entry()+0xd) [0x7f7222270ddf] 17: (Thread::entry_wrapper()+0x2f) [0x7f72222b88f5] 18: (Thread::_entry_func(void*)+0x9) [0x7f72222b8907] 19: /lib64/libc.so.6(+0x89e92) [0x7f7221089e92] 20: /lib64/libc.so.6(+0x10ef20) [0x7f722110ef20] [1] 2162689 IOT instruction (core dumped) ./bin/ceph_test_libcephfs --gtest_filter=LibCephFS.ConcurrentWriteAndFsync ``` [0]: ceph#63619 Fixes: http://tracker.ceph.com/issues/71515 Signed-off-by: Venky Shankar <vshankar@redhat.com>
…rrently This synthetic reproducer does three things: - setup a client mount with a configuration to delay write operations and initiates a write operation via a thread. - a thread that invokes asynchronous fsync - a thread that invokes setxattr for the client to track early replies Without the fix[0], the test reproduces the following crash: ``` /home/vshankar/ceph/src/client/Client.cc: In function 'void Client::put_request(MetaRequest*)' thread 7f7210ff9640 time 2025-06-03T09:34:45.634974+0000 /home/vshankar/ceph/src/client/Client.cc: 2290: FAILED ceph_assert(request->ref >= 1) ceph version 20.3.0-673-gdd152807f7e (dd15280) tentacle (dev - Debug) 1: (ceph::__ceph_assert_fail(char const*, char const*, int, char const*)+0x119) [0x7f72222ebb98] 2: (ceph::__ceph_assert_fail(ceph::assert_data const&)+0x17) [0x7f72222ebedc] 3: /home/vshankar/ceph/build/lib/libcephfs.so.2(+0x6a075) [0x7f7222e6a075] 4: /home/vshankar/ceph/build/lib/libcephfs.so.2(+0xb8289) [0x7f7222eb8289] 5: /home/vshankar/ceph/build/lib/libcephfs.so.2(+0xee951) [0x7f7222eee951] 6: /home/vshankar/ceph/build/lib/libcephfs.so.2(+0xf167c) [0x7f7222ef167c] 7: (Context::complete(int)+0x9) [0x7f7222e5949d] 8: /home/vshankar/ceph/build/lib/libcephfs.so.2(+0x16a853) [0x7f7222f6a853] 9: /home/vshankar/ceph/build/lib/libcephfs.so.2(+0xa7cc5) [0x7f7222ea7cc5] 10: /home/vshankar/ceph/build/lib/libcephfs.so.2(+0xf128d) [0x7f7222ef128d] 11: /home/vshankar/ceph/build/lib/libcephfs.so.2(+0x16e09d) [0x7f7222f6e09d] 12: (Context::complete(int)+0x9) [0x7f7222e5949d] 13: /home/vshankar/ceph/build/lib/libcephfs.so.2(+0x6d108) [0x7f7222e6d108] 14: (Context::complete(int)+0x9) [0x7f7222e5949d] 15: (Finisher::finisher_thread_entry()+0x665) [0x7f722226fdc1] 16: (Finisher::FinisherThread::entry()+0xd) [0x7f7222270ddf] 17: (Thread::entry_wrapper()+0x2f) [0x7f72222b88f5] 18: (Thread::_entry_func(void*)+0x9) [0x7f72222b8907] 19: /lib64/libc.so.6(+0x89e92) [0x7f7221089e92] 20: /lib64/libc.so.6(+0x10ef20) [0x7f722110ef20] [1] 2162689 IOT instruction (core dumped) ./bin/ceph_test_libcephfs --gtest_filter=LibCephFS.ConcurrentWriteAndFsync ``` [0]: ceph#63619 Fixes: http://tracker.ceph.com/issues/71515 Signed-off-by: Venky Shankar <vshankar@redhat.com>
|
Testing update: https://tracker.ceph.com/issues/71514#note-12 |
…rrently This synthetic reproducer does three things: - setup a client mount with a configuration to delay write operations and initiates a write operation via a thread. - a thread that invokes asynchronous fsync - a thread that invokes setxattr for the client to track early replies Without the fix[0], the test reproduces the following crash: ``` /home/vshankar/ceph/src/client/Client.cc: In function 'void Client::put_request(MetaRequest*)' thread 7f7210ff9640 time 2025-06-03T09:34:45.634974+0000 /home/vshankar/ceph/src/client/Client.cc: 2290: FAILED ceph_assert(request->ref >= 1) ceph version 20.3.0-673-gdd152807f7e (dd15280) tentacle (dev - Debug) 1: (ceph::__ceph_assert_fail(char const*, char const*, int, char const*)+0x119) [0x7f72222ebb98] 2: (ceph::__ceph_assert_fail(ceph::assert_data const&)+0x17) [0x7f72222ebedc] 3: /home/vshankar/ceph/build/lib/libcephfs.so.2(+0x6a075) [0x7f7222e6a075] 4: /home/vshankar/ceph/build/lib/libcephfs.so.2(+0xb8289) [0x7f7222eb8289] 5: /home/vshankar/ceph/build/lib/libcephfs.so.2(+0xee951) [0x7f7222eee951] 6: /home/vshankar/ceph/build/lib/libcephfs.so.2(+0xf167c) [0x7f7222ef167c] 7: (Context::complete(int)+0x9) [0x7f7222e5949d] 8: /home/vshankar/ceph/build/lib/libcephfs.so.2(+0x16a853) [0x7f7222f6a853] 9: /home/vshankar/ceph/build/lib/libcephfs.so.2(+0xa7cc5) [0x7f7222ea7cc5] 10: /home/vshankar/ceph/build/lib/libcephfs.so.2(+0xf128d) [0x7f7222ef128d] 11: /home/vshankar/ceph/build/lib/libcephfs.so.2(+0x16e09d) [0x7f7222f6e09d] 12: (Context::complete(int)+0x9) [0x7f7222e5949d] 13: /home/vshankar/ceph/build/lib/libcephfs.so.2(+0x6d108) [0x7f7222e6d108] 14: (Context::complete(int)+0x9) [0x7f7222e5949d] 15: (Finisher::finisher_thread_entry()+0x665) [0x7f722226fdc1] 16: (Finisher::FinisherThread::entry()+0xd) [0x7f7222270ddf] 17: (Thread::entry_wrapper()+0x2f) [0x7f72222b88f5] 18: (Thread::_entry_func(void*)+0x9) [0x7f72222b8907] 19: /lib64/libc.so.6(+0x89e92) [0x7f7221089e92] 20: /lib64/libc.so.6(+0x10ef20) [0x7f722110ef20] [1] 2162689 IOT instruction (core dumped) ./bin/ceph_test_libcephfs --gtest_filter=LibCephFS.ConcurrentWriteAndFsync ``` [0]: ceph#63619 Fixes: http://tracker.ceph.com/issues/71515 Signed-off-by: Venky Shankar <vshankar@redhat.com>
…rrently This synthetic reproducer does three things: - setup a client mount with a configuration to delay write operations and initiates a write operation via a thread. - a thread that invokes asynchronous fsync - a thread that invokes setxattr for the client to track early replies Without the fix[0], the test reproduces the following crash: ``` /home/vshankar/ceph/src/client/Client.cc: In function 'void Client::put_request(MetaRequest*)' thread 7f7210ff9640 time 2025-06-03T09:34:45.634974+0000 /home/vshankar/ceph/src/client/Client.cc: 2290: FAILED ceph_assert(request->ref >= 1) ceph version 20.3.0-673-gdd152807f7e (dd15280) tentacle (dev - Debug) 1: (ceph::__ceph_assert_fail(char const*, char const*, int, char const*)+0x119) [0x7f72222ebb98] 2: (ceph::__ceph_assert_fail(ceph::assert_data const&)+0x17) [0x7f72222ebedc] 3: /home/vshankar/ceph/build/lib/libcephfs.so.2(+0x6a075) [0x7f7222e6a075] 4: /home/vshankar/ceph/build/lib/libcephfs.so.2(+0xb8289) [0x7f7222eb8289] 5: /home/vshankar/ceph/build/lib/libcephfs.so.2(+0xee951) [0x7f7222eee951] 6: /home/vshankar/ceph/build/lib/libcephfs.so.2(+0xf167c) [0x7f7222ef167c] 7: (Context::complete(int)+0x9) [0x7f7222e5949d] 8: /home/vshankar/ceph/build/lib/libcephfs.so.2(+0x16a853) [0x7f7222f6a853] 9: /home/vshankar/ceph/build/lib/libcephfs.so.2(+0xa7cc5) [0x7f7222ea7cc5] 10: /home/vshankar/ceph/build/lib/libcephfs.so.2(+0xf128d) [0x7f7222ef128d] 11: /home/vshankar/ceph/build/lib/libcephfs.so.2(+0x16e09d) [0x7f7222f6e09d] 12: (Context::complete(int)+0x9) [0x7f7222e5949d] 13: /home/vshankar/ceph/build/lib/libcephfs.so.2(+0x6d108) [0x7f7222e6d108] 14: (Context::complete(int)+0x9) [0x7f7222e5949d] 15: (Finisher::finisher_thread_entry()+0x665) [0x7f722226fdc1] 16: (Finisher::FinisherThread::entry()+0xd) [0x7f7222270ddf] 17: (Thread::entry_wrapper()+0x2f) [0x7f72222b88f5] 18: (Thread::_entry_func(void*)+0x9) [0x7f72222b8907] 19: /lib64/libc.so.6(+0x89e92) [0x7f7221089e92] 20: /lib64/libc.so.6(+0x10ef20) [0x7f722110ef20] [1] 2162689 IOT instruction (core dumped) ./bin/ceph_test_libcephfs --gtest_filter=LibCephFS.ConcurrentWriteAndFsync ``` [0]: ceph#63619 Fixes: http://tracker.ceph.com/issues/71515 Signed-off-by: Venky Shankar <vshankar@redhat.com>
…rrently This synthetic reproducer does three things: - setup a client mount with a configuration to delay write operations and initiates a write operation via a thread. - a thread that invokes asynchronous fsync - a thread that invokes setxattr for the client to track early replies Without the fix[0], the test reproduces the following crash: ``` /home/vshankar/ceph/src/client/Client.cc: In function 'void Client::put_request(MetaRequest*)' thread 7f7210ff9640 time 2025-06-03T09:34:45.634974+0000 /home/vshankar/ceph/src/client/Client.cc: 2290: FAILED ceph_assert(request->ref >= 1) ceph version 20.3.0-673-gdd152807f7e (dd15280) tentacle (dev - Debug) 1: (ceph::__ceph_assert_fail(char const*, char const*, int, char const*)+0x119) [0x7f72222ebb98] 2: (ceph::__ceph_assert_fail(ceph::assert_data const&)+0x17) [0x7f72222ebedc] 3: /home/vshankar/ceph/build/lib/libcephfs.so.2(+0x6a075) [0x7f7222e6a075] 4: /home/vshankar/ceph/build/lib/libcephfs.so.2(+0xb8289) [0x7f7222eb8289] 5: /home/vshankar/ceph/build/lib/libcephfs.so.2(+0xee951) [0x7f7222eee951] 6: /home/vshankar/ceph/build/lib/libcephfs.so.2(+0xf167c) [0x7f7222ef167c] 7: (Context::complete(int)+0x9) [0x7f7222e5949d] 8: /home/vshankar/ceph/build/lib/libcephfs.so.2(+0x16a853) [0x7f7222f6a853] 9: /home/vshankar/ceph/build/lib/libcephfs.so.2(+0xa7cc5) [0x7f7222ea7cc5] 10: /home/vshankar/ceph/build/lib/libcephfs.so.2(+0xf128d) [0x7f7222ef128d] 11: /home/vshankar/ceph/build/lib/libcephfs.so.2(+0x16e09d) [0x7f7222f6e09d] 12: (Context::complete(int)+0x9) [0x7f7222e5949d] 13: /home/vshankar/ceph/build/lib/libcephfs.so.2(+0x6d108) [0x7f7222e6d108] 14: (Context::complete(int)+0x9) [0x7f7222e5949d] 15: (Finisher::finisher_thread_entry()+0x665) [0x7f722226fdc1] 16: (Finisher::FinisherThread::entry()+0xd) [0x7f7222270ddf] 17: (Thread::entry_wrapper()+0x2f) [0x7f72222b88f5] 18: (Thread::_entry_func(void*)+0x9) [0x7f72222b8907] 19: /lib64/libc.so.6(+0x89e92) [0x7f7221089e92] 20: /lib64/libc.so.6(+0x10ef20) [0x7f722110ef20] [1] 2162689 IOT instruction (core dumped) ./bin/ceph_test_libcephfs --gtest_filter=LibCephFS.ConcurrentWriteAndFsync ``` [0]: ceph#63619 Fixes: http://tracker.ceph.com/issues/71515 Signed-off-by: Venky Shankar <vshankar@redhat.com>
…rrently This synthetic reproducer does three things: - setup a client mount with a configuration to delay write operations and initiates a write operation via a thread. - a thread that invokes asynchronous fsync - a thread that invokes setxattr for the client to track early replies Without the fix[0], the test reproduces the following crash: ``` /home/vshankar/ceph/src/client/Client.cc: In function 'void Client::put_request(MetaRequest*)' thread 7f7210ff9640 time 2025-06-03T09:34:45.634974+0000 /home/vshankar/ceph/src/client/Client.cc: 2290: FAILED ceph_assert(request->ref >= 1) ceph version 20.3.0-673-gdd152807f7e (dd15280) tentacle (dev - Debug) 1: (ceph::__ceph_assert_fail(char const*, char const*, int, char const*)+0x119) [0x7f72222ebb98] 2: (ceph::__ceph_assert_fail(ceph::assert_data const&)+0x17) [0x7f72222ebedc] 3: /home/vshankar/ceph/build/lib/libcephfs.so.2(+0x6a075) [0x7f7222e6a075] 4: /home/vshankar/ceph/build/lib/libcephfs.so.2(+0xb8289) [0x7f7222eb8289] 5: /home/vshankar/ceph/build/lib/libcephfs.so.2(+0xee951) [0x7f7222eee951] 6: /home/vshankar/ceph/build/lib/libcephfs.so.2(+0xf167c) [0x7f7222ef167c] 7: (Context::complete(int)+0x9) [0x7f7222e5949d] 8: /home/vshankar/ceph/build/lib/libcephfs.so.2(+0x16a853) [0x7f7222f6a853] 9: /home/vshankar/ceph/build/lib/libcephfs.so.2(+0xa7cc5) [0x7f7222ea7cc5] 10: /home/vshankar/ceph/build/lib/libcephfs.so.2(+0xf128d) [0x7f7222ef128d] 11: /home/vshankar/ceph/build/lib/libcephfs.so.2(+0x16e09d) [0x7f7222f6e09d] 12: (Context::complete(int)+0x9) [0x7f7222e5949d] 13: /home/vshankar/ceph/build/lib/libcephfs.so.2(+0x6d108) [0x7f7222e6d108] 14: (Context::complete(int)+0x9) [0x7f7222e5949d] 15: (Finisher::finisher_thread_entry()+0x665) [0x7f722226fdc1] 16: (Finisher::FinisherThread::entry()+0xd) [0x7f7222270ddf] 17: (Thread::entry_wrapper()+0x2f) [0x7f72222b88f5] 18: (Thread::_entry_func(void*)+0x9) [0x7f72222b8907] 19: /lib64/libc.so.6(+0x89e92) [0x7f7221089e92] 20: /lib64/libc.so.6(+0x10ef20) [0x7f722110ef20] [1] 2162689 IOT instruction (core dumped) ./bin/ceph_test_libcephfs --gtest_filter=LibCephFS.ConcurrentWriteAndFsync ``` [0]: ceph#63619 Fixes: http://tracker.ceph.com/issues/71515 Signed-off-by: Venky Shankar <vshankar@redhat.com>
…rrently This synthetic reproducer does three things: - setup a client mount with a configuration to delay write operations and initiates a write operation via a thread. - a thread that invokes asynchronous fsync - a thread that invokes setxattr for the client to track early replies Without the fix[0], the test reproduces the following crash: ``` /home/vshankar/ceph/src/client/Client.cc: In function 'void Client::put_request(MetaRequest*)' thread 7f7210ff9640 time 2025-06-03T09:34:45.634974+0000 /home/vshankar/ceph/src/client/Client.cc: 2290: FAILED ceph_assert(request->ref >= 1) ceph version 20.3.0-673-gdd152807f7e (dd15280) tentacle (dev - Debug) 1: (ceph::__ceph_assert_fail(char const*, char const*, int, char const*)+0x119) [0x7f72222ebb98] 2: (ceph::__ceph_assert_fail(ceph::assert_data const&)+0x17) [0x7f72222ebedc] 3: /home/vshankar/ceph/build/lib/libcephfs.so.2(+0x6a075) [0x7f7222e6a075] 4: /home/vshankar/ceph/build/lib/libcephfs.so.2(+0xb8289) [0x7f7222eb8289] 5: /home/vshankar/ceph/build/lib/libcephfs.so.2(+0xee951) [0x7f7222eee951] 6: /home/vshankar/ceph/build/lib/libcephfs.so.2(+0xf167c) [0x7f7222ef167c] 7: (Context::complete(int)+0x9) [0x7f7222e5949d] 8: /home/vshankar/ceph/build/lib/libcephfs.so.2(+0x16a853) [0x7f7222f6a853] 9: /home/vshankar/ceph/build/lib/libcephfs.so.2(+0xa7cc5) [0x7f7222ea7cc5] 10: /home/vshankar/ceph/build/lib/libcephfs.so.2(+0xf128d) [0x7f7222ef128d] 11: /home/vshankar/ceph/build/lib/libcephfs.so.2(+0x16e09d) [0x7f7222f6e09d] 12: (Context::complete(int)+0x9) [0x7f7222e5949d] 13: /home/vshankar/ceph/build/lib/libcephfs.so.2(+0x6d108) [0x7f7222e6d108] 14: (Context::complete(int)+0x9) [0x7f7222e5949d] 15: (Finisher::finisher_thread_entry()+0x665) [0x7f722226fdc1] 16: (Finisher::FinisherThread::entry()+0xd) [0x7f7222270ddf] 17: (Thread::entry_wrapper()+0x2f) [0x7f72222b88f5] 18: (Thread::_entry_func(void*)+0x9) [0x7f72222b8907] 19: /lib64/libc.so.6(+0x89e92) [0x7f7221089e92] 20: /lib64/libc.so.6(+0x10ef20) [0x7f722110ef20] [1] 2162689 IOT instruction (core dumped) ./bin/ceph_test_libcephfs --gtest_filter=LibCephFS.ConcurrentWriteAndFsync ``` [0]: ceph#63619 Fixes: http://tracker.ceph.com/issues/71515 Signed-off-by: Venky Shankar <vshankar@redhat.com>
…rrently This synthetic reproducer does three things: - setup a client mount with a configuration to delay write operations and initiates a write operation via a thread. - a thread that invokes asynchronous fsync - a thread that invokes setxattr for the client to track early replies Without the fix[0], the test reproduces the following crash: ``` /home/vshankar/ceph/src/client/Client.cc: In function 'void Client::put_request(MetaRequest*)' thread 7f7210ff9640 time 2025-06-03T09:34:45.634974+0000 /home/vshankar/ceph/src/client/Client.cc: 2290: FAILED ceph_assert(request->ref >= 1) ceph version 20.3.0-673-gdd152807f7e (dd15280) tentacle (dev - Debug) 1: (ceph::__ceph_assert_fail(char const*, char const*, int, char const*)+0x119) [0x7f72222ebb98] 2: (ceph::__ceph_assert_fail(ceph::assert_data const&)+0x17) [0x7f72222ebedc] 3: /home/vshankar/ceph/build/lib/libcephfs.so.2(+0x6a075) [0x7f7222e6a075] 4: /home/vshankar/ceph/build/lib/libcephfs.so.2(+0xb8289) [0x7f7222eb8289] 5: /home/vshankar/ceph/build/lib/libcephfs.so.2(+0xee951) [0x7f7222eee951] 6: /home/vshankar/ceph/build/lib/libcephfs.so.2(+0xf167c) [0x7f7222ef167c] 7: (Context::complete(int)+0x9) [0x7f7222e5949d] 8: /home/vshankar/ceph/build/lib/libcephfs.so.2(+0x16a853) [0x7f7222f6a853] 9: /home/vshankar/ceph/build/lib/libcephfs.so.2(+0xa7cc5) [0x7f7222ea7cc5] 10: /home/vshankar/ceph/build/lib/libcephfs.so.2(+0xf128d) [0x7f7222ef128d] 11: /home/vshankar/ceph/build/lib/libcephfs.so.2(+0x16e09d) [0x7f7222f6e09d] 12: (Context::complete(int)+0x9) [0x7f7222e5949d] 13: /home/vshankar/ceph/build/lib/libcephfs.so.2(+0x6d108) [0x7f7222e6d108] 14: (Context::complete(int)+0x9) [0x7f7222e5949d] 15: (Finisher::finisher_thread_entry()+0x665) [0x7f722226fdc1] 16: (Finisher::FinisherThread::entry()+0xd) [0x7f7222270ddf] 17: (Thread::entry_wrapper()+0x2f) [0x7f72222b88f5] 18: (Thread::_entry_func(void*)+0x9) [0x7f72222b8907] 19: /lib64/libc.so.6(+0x89e92) [0x7f7221089e92] 20: /lib64/libc.so.6(+0x10ef20) [0x7f722110ef20] [1] 2162689 IOT instruction (core dumped) ./bin/ceph_test_libcephfs --gtest_filter=LibCephFS.ConcurrentWriteAndFsync ``` [0]: ceph#63619 Fixes: http://tracker.ceph.com/issues/71515 Signed-off-by: Venky Shankar <vshankar@redhat.com>
…rrently This synthetic reproducer does three things: - setup a client mount with a configuration to delay write operations and initiates a write operation via a thread. - a thread that invokes asynchronous fsync - a thread that invokes setxattr for the client to track early replies Without the fix[0], the test reproduces the following crash: ``` /home/vshankar/ceph/src/client/Client.cc: In function 'void Client::put_request(MetaRequest*)' thread 7f7210ff9640 time 2025-06-03T09:34:45.634974+0000 /home/vshankar/ceph/src/client/Client.cc: 2290: FAILED ceph_assert(request->ref >= 1) ceph version 20.3.0-673-gdd152807f7e (dd15280) tentacle (dev - Debug) 1: (ceph::__ceph_assert_fail(char const*, char const*, int, char const*)+0x119) [0x7f72222ebb98] 2: (ceph::__ceph_assert_fail(ceph::assert_data const&)+0x17) [0x7f72222ebedc] 3: /home/vshankar/ceph/build/lib/libcephfs.so.2(+0x6a075) [0x7f7222e6a075] 4: /home/vshankar/ceph/build/lib/libcephfs.so.2(+0xb8289) [0x7f7222eb8289] 5: /home/vshankar/ceph/build/lib/libcephfs.so.2(+0xee951) [0x7f7222eee951] 6: /home/vshankar/ceph/build/lib/libcephfs.so.2(+0xf167c) [0x7f7222ef167c] 7: (Context::complete(int)+0x9) [0x7f7222e5949d] 8: /home/vshankar/ceph/build/lib/libcephfs.so.2(+0x16a853) [0x7f7222f6a853] 9: /home/vshankar/ceph/build/lib/libcephfs.so.2(+0xa7cc5) [0x7f7222ea7cc5] 10: /home/vshankar/ceph/build/lib/libcephfs.so.2(+0xf128d) [0x7f7222ef128d] 11: /home/vshankar/ceph/build/lib/libcephfs.so.2(+0x16e09d) [0x7f7222f6e09d] 12: (Context::complete(int)+0x9) [0x7f7222e5949d] 13: /home/vshankar/ceph/build/lib/libcephfs.so.2(+0x6d108) [0x7f7222e6d108] 14: (Context::complete(int)+0x9) [0x7f7222e5949d] 15: (Finisher::finisher_thread_entry()+0x665) [0x7f722226fdc1] 16: (Finisher::FinisherThread::entry()+0xd) [0x7f7222270ddf] 17: (Thread::entry_wrapper()+0x2f) [0x7f72222b88f5] 18: (Thread::_entry_func(void*)+0x9) [0x7f72222b8907] 19: /lib64/libc.so.6(+0x89e92) [0x7f7221089e92] 20: /lib64/libc.so.6(+0x10ef20) [0x7f722110ef20] [1] 2162689 IOT instruction (core dumped) ./bin/ceph_test_libcephfs --gtest_filter=LibCephFS.ConcurrentWriteAndFsync ``` [0]: ceph#63619 Fixes: http://tracker.ceph.com/issues/71515 Signed-off-by: Venky Shankar <vshankar@redhat.com> (cherry picked from commit e2fe5f1) Conflicts: src/test/libcephfs/test.cc Adjust for missing tests in tentacle branch.
…rrently This synthetic reproducer does three things: - setup a client mount with a configuration to delay write operations and initiates a write operation via a thread. - a thread that invokes asynchronous fsync - a thread that invokes setxattr for the client to track early replies Without the fix[0], the test reproduces the following crash: ``` /home/vshankar/ceph/src/client/Client.cc: In function 'void Client::put_request(MetaRequest*)' thread 7f7210ff9640 time 2025-06-03T09:34:45.634974+0000 /home/vshankar/ceph/src/client/Client.cc: 2290: FAILED ceph_assert(request->ref >= 1) ceph version 20.3.0-673-gdd152807f7e (dd15280) tentacle (dev - Debug) 1: (ceph::__ceph_assert_fail(char const*, char const*, int, char const*)+0x119) [0x7f72222ebb98] 2: (ceph::__ceph_assert_fail(ceph::assert_data const&)+0x17) [0x7f72222ebedc] 3: /home/vshankar/ceph/build/lib/libcephfs.so.2(+0x6a075) [0x7f7222e6a075] 4: /home/vshankar/ceph/build/lib/libcephfs.so.2(+0xb8289) [0x7f7222eb8289] 5: /home/vshankar/ceph/build/lib/libcephfs.so.2(+0xee951) [0x7f7222eee951] 6: /home/vshankar/ceph/build/lib/libcephfs.so.2(+0xf167c) [0x7f7222ef167c] 7: (Context::complete(int)+0x9) [0x7f7222e5949d] 8: /home/vshankar/ceph/build/lib/libcephfs.so.2(+0x16a853) [0x7f7222f6a853] 9: /home/vshankar/ceph/build/lib/libcephfs.so.2(+0xa7cc5) [0x7f7222ea7cc5] 10: /home/vshankar/ceph/build/lib/libcephfs.so.2(+0xf128d) [0x7f7222ef128d] 11: /home/vshankar/ceph/build/lib/libcephfs.so.2(+0x16e09d) [0x7f7222f6e09d] 12: (Context::complete(int)+0x9) [0x7f7222e5949d] 13: /home/vshankar/ceph/build/lib/libcephfs.so.2(+0x6d108) [0x7f7222e6d108] 14: (Context::complete(int)+0x9) [0x7f7222e5949d] 15: (Finisher::finisher_thread_entry()+0x665) [0x7f722226fdc1] 16: (Finisher::FinisherThread::entry()+0xd) [0x7f7222270ddf] 17: (Thread::entry_wrapper()+0x2f) [0x7f72222b88f5] 18: (Thread::_entry_func(void*)+0x9) [0x7f72222b8907] 19: /lib64/libc.so.6(+0x89e92) [0x7f7221089e92] 20: /lib64/libc.so.6(+0x10ef20) [0x7f722110ef20] [1] 2162689 IOT instruction (core dumped) ./bin/ceph_test_libcephfs --gtest_filter=LibCephFS.ConcurrentWriteAndFsync ``` [0]: ceph#63619 Fixes: http://tracker.ceph.com/issues/71515 Signed-off-by: Venky Shankar <vshankar@redhat.com> (cherry picked from commit e2fe5f1) Conflicts: src/test/libcephfs/test.cc Adjust for missing tests in tentacle branch.
…rrently This synthetic reproducer does three things: - setup a client mount with a configuration to delay write operations and initiates a write operation via a thread. - a thread that invokes asynchronous fsync - a thread that invokes setxattr for the client to track early replies Without the fix[0], the test reproduces the following crash: ``` /home/vshankar/ceph/src/client/Client.cc: In function 'void Client::put_request(MetaRequest*)' thread 7f7210ff9640 time 2025-06-03T09:34:45.634974+0000 /home/vshankar/ceph/src/client/Client.cc: 2290: FAILED ceph_assert(request->ref >= 1) ceph version 20.3.0-673-gdd152807f7e (dd15280) tentacle (dev - Debug) 1: (ceph::__ceph_assert_fail(char const*, char const*, int, char const*)+0x119) [0x7f72222ebb98] 2: (ceph::__ceph_assert_fail(ceph::assert_data const&)+0x17) [0x7f72222ebedc] 3: /home/vshankar/ceph/build/lib/libcephfs.so.2(+0x6a075) [0x7f7222e6a075] 4: /home/vshankar/ceph/build/lib/libcephfs.so.2(+0xb8289) [0x7f7222eb8289] 5: /home/vshankar/ceph/build/lib/libcephfs.so.2(+0xee951) [0x7f7222eee951] 6: /home/vshankar/ceph/build/lib/libcephfs.so.2(+0xf167c) [0x7f7222ef167c] 7: (Context::complete(int)+0x9) [0x7f7222e5949d] 8: /home/vshankar/ceph/build/lib/libcephfs.so.2(+0x16a853) [0x7f7222f6a853] 9: /home/vshankar/ceph/build/lib/libcephfs.so.2(+0xa7cc5) [0x7f7222ea7cc5] 10: /home/vshankar/ceph/build/lib/libcephfs.so.2(+0xf128d) [0x7f7222ef128d] 11: /home/vshankar/ceph/build/lib/libcephfs.so.2(+0x16e09d) [0x7f7222f6e09d] 12: (Context::complete(int)+0x9) [0x7f7222e5949d] 13: /home/vshankar/ceph/build/lib/libcephfs.so.2(+0x6d108) [0x7f7222e6d108] 14: (Context::complete(int)+0x9) [0x7f7222e5949d] 15: (Finisher::finisher_thread_entry()+0x665) [0x7f722226fdc1] 16: (Finisher::FinisherThread::entry()+0xd) [0x7f7222270ddf] 17: (Thread::entry_wrapper()+0x2f) [0x7f72222b88f5] 18: (Thread::_entry_func(void*)+0x9) [0x7f72222b8907] 19: /lib64/libc.so.6(+0x89e92) [0x7f7221089e92] 20: /lib64/libc.so.6(+0x10ef20) [0x7f722110ef20] [1] 2162689 IOT instruction (core dumped) ./bin/ceph_test_libcephfs --gtest_filter=LibCephFS.ConcurrentWriteAndFsync ``` [0]: ceph#63619 Fixes: http://tracker.ceph.com/issues/71515 Signed-off-by: Venky Shankar <vshankar@redhat.com>
…rrently This synthetic reproducer does three things: - setup a client mount with a configuration to delay write operations and initiates a write operation via a thread. - a thread that invokes asynchronous fsync - a thread that invokes setxattr for the client to track early replies Without the fix[0], the test reproduces the following crash: ``` /home/vshankar/ceph/src/client/Client.cc: In function 'void Client::put_request(MetaRequest*)' thread 7f7210ff9640 time 2025-06-03T09:34:45.634974+0000 /home/vshankar/ceph/src/client/Client.cc: 2290: FAILED ceph_assert(request->ref >= 1) ceph version 20.3.0-673-gdd152807f7e (dd15280) tentacle (dev - Debug) 1: (ceph::__ceph_assert_fail(char const*, char const*, int, char const*)+0x119) [0x7f72222ebb98] 2: (ceph::__ceph_assert_fail(ceph::assert_data const&)+0x17) [0x7f72222ebedc] 3: /home/vshankar/ceph/build/lib/libcephfs.so.2(+0x6a075) [0x7f7222e6a075] 4: /home/vshankar/ceph/build/lib/libcephfs.so.2(+0xb8289) [0x7f7222eb8289] 5: /home/vshankar/ceph/build/lib/libcephfs.so.2(+0xee951) [0x7f7222eee951] 6: /home/vshankar/ceph/build/lib/libcephfs.so.2(+0xf167c) [0x7f7222ef167c] 7: (Context::complete(int)+0x9) [0x7f7222e5949d] 8: /home/vshankar/ceph/build/lib/libcephfs.so.2(+0x16a853) [0x7f7222f6a853] 9: /home/vshankar/ceph/build/lib/libcephfs.so.2(+0xa7cc5) [0x7f7222ea7cc5] 10: /home/vshankar/ceph/build/lib/libcephfs.so.2(+0xf128d) [0x7f7222ef128d] 11: /home/vshankar/ceph/build/lib/libcephfs.so.2(+0x16e09d) [0x7f7222f6e09d] 12: (Context::complete(int)+0x9) [0x7f7222e5949d] 13: /home/vshankar/ceph/build/lib/libcephfs.so.2(+0x6d108) [0x7f7222e6d108] 14: (Context::complete(int)+0x9) [0x7f7222e5949d] 15: (Finisher::finisher_thread_entry()+0x665) [0x7f722226fdc1] 16: (Finisher::FinisherThread::entry()+0xd) [0x7f7222270ddf] 17: (Thread::entry_wrapper()+0x2f) [0x7f72222b88f5] 18: (Thread::_entry_func(void*)+0x9) [0x7f72222b8907] 19: /lib64/libc.so.6(+0x89e92) [0x7f7221089e92] 20: /lib64/libc.so.6(+0x10ef20) [0x7f722110ef20] [1] 2162689 IOT instruction (core dumped) ./bin/ceph_test_libcephfs --gtest_filter=LibCephFS.ConcurrentWriteAndFsync ``` [0]: ceph#63619 Fixes: http://tracker.ceph.com/issues/71515 Signed-off-by: Venky Shankar <vshankar@redhat.com>
After the asynchronous execution context is woken up when waiting for Fb caps reference to be released.
Fixes: http://tracker.ceph.com/issues/71510
Contribution Guidelines
To sign and title your commits, please refer to Submitting Patches to Ceph.
If you are submitting a fix for a stable branch (e.g. "quincy"), please refer to Submitting Patches to Ceph - Backports for the proper workflow.
When filling out the below checklist, you may click boxes directly in the GitHub web UI. When entering or editing the entire PR message in the GitHub web UI editor, you may also select a checklist item by adding an
xbetween the brackets:[x]. Spaces and capitalization matter when checking off items this way.Checklist
Show available Jenkins commands
jenkins test classic perfJenkins Job | Jenkins Job Definitionjenkins test crimson perfJenkins Job | Jenkins Job Definitionjenkins test signedJenkins Job | Jenkins Job Definitionjenkins test make checkJenkins Job | Jenkins Job Definitionjenkins test make check arm64Jenkins Job | Jenkins Job Definitionjenkins test submodulesJenkins Job | Jenkins Job Definitionjenkins test dashboardJenkins Job | Jenkins Job Definitionjenkins test dashboard cephadmJenkins Job | Jenkins Job Definitionjenkins test apiJenkins Job | Jenkins Job Definitionjenkins test docsReadTheDocs | Github Workflow Definitionjenkins test ceph-volume allJenkins Jobs | Jenkins Jobs Definitionjenkins test windowsJenkins Job | Jenkins Job Definitionjenkins test rook e2eJenkins Job | Jenkins Job Definition