Project

General

Profile

Actions

Bug #37766

closed

rados_shutdown hang forever in ~objecter()

Added by peng wang over 5 years ago. Updated about 5 years ago.

Status:
Resolved
Priority:
Normal
Assignee:
-
Category:
Performance/Resource Usage
Target version:
-
% Done:

0%

Source:
Community (dev)
Tags:
Backport:
luminous,mimic
Regression:
No
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
rbd
Component(RADOS):
Objecter
Pull request ID:
Crash signature (v1):
Crash signature (v2):

Description

we use tbd todo some test over, and shutdown our client, then it hang for a long time, and did't go on ever.

it looks like code has some question :
src/common/ceph_timer.h

void timer_thread() {
...
l.unlock();
e.f();
l.lock();

...
if (schedule.empty())
cond.wait(l);
else
cond.wait_until(l, schedule.begin()->t);
...
}
~timer() {
suspend();
cancel_all_events();
}
// Suspend operation of the timer (and let its thread die).
void suspend() {
unique_lock l(lock);
if (suspended)
return;
suspended = true;
cond.notify_one();
l.unlock();
thread.join();
}

once called suspend ,but thread is in e.f(),
and schedule is empty, it will hang forever.
shutdown will not go on.


Files

bug.jpg (369 KB) bug.jpg peng wang, 12/27/2018 08:40 AM

Related issues 2 (0 open2 closed)

Copied to RADOS - Backport #38398: mimic: rados_shutdown hang forever in ~objecter()ResolvedPrashant DActions
Copied to RADOS - Backport #38400: luminous: rados_shutdown hang forever in ~objecter()ResolvedPrashant DActions
Actions #1

Updated by Kefu Chai over 5 years ago

  • Status changed from New to Fix Under Review
  • Target version deleted (v10.2.11)
  • Backport set to luminous,mimic
Actions #2

Updated by Kefu Chai about 5 years ago

  • Pull request ID set to 26469
Actions #3

Updated by Kefu Chai about 5 years ago

  • Status changed from Fix Under Review to Pending Backport
Actions #4

Updated by Nathan Cutler about 5 years ago

  • Copied to Backport #38398: mimic: rados_shutdown hang forever in ~objecter() added
Actions #5

Updated by Nathan Cutler about 5 years ago

  • Copied to Backport #38400: luminous: rados_shutdown hang forever in ~objecter() added
Actions #6

Updated by Nathan Cutler about 5 years ago

  • Status changed from Pending Backport to Resolved
Actions

Also available in: Atom PDF