Actions
Bug #7389
closedsmbd: hung threads when session is terminated or disconnected
Status:
Closed
Priority:
High
Assignee:
-
Category:
cifs - CIFS server and client
Start date:
2016-09-17
Due date:
% Done:
100%
Estimated time:
Difficulty:
Medium
Tags:
needs-triage
Gerrit CR:
External Bug:
Description
Stacks of all hung threads are the same:
swtch+0x12e
cv_wait+0x57
smb_net_send_uio+0x4b
smb_session_send+0x1a8
smb2_send_reply+0x25
smb2sr_work+0x354
smb2_tq_work+0x47
taskq_d_thread+0xae
thread_start+8
TASKQ: smb_workers
The problem is in missed cv_broadcast or cv_signal for error path in smb_net_send_uio() function:
DTRACE_PROBE1(send__wait__done, struct smb_session_t *, s);
if (rc != 0)
return (rc);
Files
Updated by Gordon Ross about 7 years ago
This can happen if a client has several requests running when it disconnects.
Updated by Electric Monk almost 7 years ago
- Status changed from New to Closed
- % Done changed from 0 to 100
git commit 88c10719b37fbb198caa2923d45715f6d98f7e87
commit 88c10719b37fbb198caa2923d45715f6d98f7e87 Author: Gordon Ross <gwr@nexenta.com> Date: 2016-09-30T17:44:41.000Z 7389 smbd: hung threads when session is terminated or disconnected Reviewed by: Matt Barden <matt.barden@nexenta.com> Reviewed by: Yuri Pankov <yuri.pankov@nexenta.com> Reviewed by: Evan Layton <evan.layton@nexenta.com> Reviewed by: Vitaliy Gusev <gusev.vitaliy@gmail.com>
Actions