Project

General

Profile

Bug #23940

recursive lock of objecter session::lock on cancel

Added by Sage Weil over 1 year ago. Updated 11 months ago.

Status:
Resolved
Priority:
High
Assignee:
Category:
-
Target version:
-
Start date:
04/30/2018
Due date:
% Done:

0%

Source:
Tags:
Backport:
luminous
Regression:
No
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
Component(RADOS):
Pull request ID:

Description

#6  0x00007f76c9a92cae in std::__throw_system_error(int) () from /usr/lib/ceph/libceph-common.so.0
#7  0x00007f76d26f893c in std::unique_lock<std::shared_mutex>::lock (this=0x7f76be7fb0b0) at /usr/include/c++/7/bits/std_mutex.h:264
#8  0x00007f76d26d8a3d in std::unique_lock<std::shared_mutex>::unique_lock (__m=..., this=0x7f76be7fb0b0) at /usr/include/c++/7/bits/std_mutex.h:197
#9  Objecter::_finish_command (this=this@entry=0x7f76c00aeb30, c=c@entry=0x7f76b0000b10, r=<optimized out>, rs="osd down") at /build/ceph-13.0.2-1932-g458b4fb/src/osdc/Objecter.cc:4950
#10 0x00007f76d26de106 in Objecter::_check_command_map_dne (this=this@entry=0x7f76c00aeb30, c=c@entry=0x7f76b0000b10) at /build/ceph-13.0.2-1932-g458b4fb/src/osdc/Objecter.cc:1726
#11 0x00007f76d26e52e4 in Objecter::_scan_requests (this=this@entry=0x7f76c00aeb30, s=0x7f76c00af8a0, skipped_map=skipped_map@entry=false, cluster_full=cluster_full@entry=false, pool_full_map=0x7f76be7fb330, need_resend=..., need_resend_linger=..., need_resend_command=std::map with 0 elements, sul=..., 
    gap_removed_snaps=0x7f76ac0016f8) at /build/ceph-13.0.2-1932-g458b4fb/src/osdc/Objecter.cc:1120
#12 0x00007f76d26eded5 in Objecter::handle_osd_map (this=this@entry=0x7f76c00aeb30, m=m@entry=0x7f76ac0014a0) at /build/ceph-13.0.2-1932-g458b4fb/src/osdc/Objecter.cc:1228
#13 0x00007f76d26ef4bb in Objecter::ms_dispatch (this=0x7f76c00aeb30, m=0x7f76ac0014a0) at /build/ceph-13.0.2-1932-g458b4fb/src/osdc/Objecter.cc:1005
#14 0x00007f76c963d992 in Messenger::ms_deliver_dispatch (m=0x7f76ac0014a0, this=0x7f76c00adfe0) at /build/ceph-13.0.2-1932-g458b4fb/src/msg/Messenger.h:667
#15 DispatchQueue::entry (this=0x7f76c00ae188) at /build/ceph-13.0.2-1932-g458b4fb/src/msg/DispatchQueue.cc:201
#16 0x00007f76c96dbb9d in DispatchQueue::DispatchThread::entry (this=<optimized out>) at /build/ceph-13.0.2-1932-g458b4fb/src/msg/DispatchQueue.h:101
#17 0x00007f76d40156ba in start_thread (arg=0x7f76be7fc700) at pthread_create.c:333
#18 0x00007f76d3d4b41d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

/a/sage-2018-04-27_18:20:52-rados:thrash-old-clients-wip-sage-testing-2018-04-27-0852-distro-basic-smithi/2445581

session is first locked by _scan_requests. and again, when we try to cancel, in _finish_command.


Related issues

Copied to RADOS - Backport #23986: luminous: recursive lock of objecter session::lock on cancel Resolved

History

#1 Updated by Sage Weil over 1 year ago

  • Status changed from Verified to Need Review

#2 Updated by Sage Weil over 1 year ago

  • Status changed from Need Review to Pending Backport
  • Backport set to luminous

#3 Updated by Nathan Cutler over 1 year ago

  • Copied to Backport #23986: luminous: recursive lock of objecter session::lock on cancel added

#4 Updated by Nathan Cutler 11 months ago

  • Status changed from Pending Backport to Resolved

Also available in: Atom PDF