Bug #15701
deadlock in OSD::_committed_osd_maps
0%
Description
Thread 15 (Thread 0x7fc5cd3e6700 (LWP 1631)):
#0 0x00007fc5e523e705 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1 0x0000000000b73e8d in Finisher::wait_for_empty() ()
#2 0x00000000009e316c in FileStore::flush() ()
#3 0x0000000000694337 in OSD::shutdown() ()
#4 0x00000000006cbf5d in OSD::_committed_osd_maps(unsigned int, unsigned int, MOSDMap*) ()
#5 0x00000000006d69f9 in Context::complete(int) ()
#6 0x0000000000b74468 in Finisher::finisher_thread_entry() ()
#7 0x00007fc5e523adf5 in start_thread () from /lib64/libpthread.so.0
#8 0x00007fc5e35f71ad in clone () from /lib64/libc.so.6
The callback function in Finisher would wait for the callback finish (wait_for_empty). This is deadlock.
Related issues
History
#1 Updated by Sage Weil almost 7 years ago
Ah, right. Need to trigger shutdown in a different thread.
#2 Updated by Xinze Chi almost 7 years ago
#3 Updated by Kefu Chai almost 7 years ago
- Status changed from New to Fix Under Review
- Assignee set to Xinze Chi
#4 Updated by Sage Weil almost 7 years ago
- Status changed from Fix Under Review to Pending Backport
- Backport set to jewel
#5 Updated by Nathan Cutler almost 7 years ago
- Copied to Backport #15797: jewel: deadlock in OSD::_committed_osd_maps added
#6 Updated by Nathan Cutler almost 7 years ago
- Status changed from Pending Backport to Resolved