Project

General

Profile

Actions

Bug #17195

closed

There seems to be a thread waiting indefinitely in krbd.cc

Added by Abhi N over 7 years ago. Updated about 5 years ago.

Status:
Resolved
Priority:
Low
Assignee:
-
Target version:
-
% Done:

0%

Source:
other
Tags:
Backport:
Regression:
No
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
Pull request ID:
Crash signature (v1):
Crash signature (v2):

Description

We recently encountered this issue where rbd map hangs. From the thread trace we identified this piece of code:
if (poll(fds, 1, -1) < 0)
return -errno;

in krbd.cc does not have a timeout associated with it. It might be nicer to have some timeout even if it is 2-3 minutes otherwise the call hangs forever.
if (poll(fds, 1, 120000) < 0)
return -errno;

Actions #1

Updated by Jason Dillaman over 7 years ago

  • Project changed from Ceph to rbd
  • Priority changed from Normal to Low
Actions #2

Updated by Jason Dillaman almost 7 years ago

  • Status changed from New to Resolved
Actions #3

Updated by Yang Dongsheng about 5 years ago

Abhi N wrote:

We recently encountered this issue where rbd map hangs. From the thread trace we identified this piece of code:
if (poll(fds, 1, -1) < 0)
return -errno;

in krbd.cc does not have a timeout associated with it. It might be nicer to have some timeout even if it is 2-3 minutes otherwise the call hangs forever.
if (poll(fds, 1, 120000) < 0)
return -errno;

https://github.com/ceph/ceph/pull/14051
This PR tried to fix this bug, but I found it doesn't work well. Because poll return 0 in timeout, rather than negative value.

I send a new PR to fix it:

https://github.com/ceph/ceph/pull/27025

Actions

Also available in: Atom PDF