0

我有一个挂起的进程,在 proc/sysrq-trigger 输出中我看到调用堆栈卡在:

test_code         S 0000000101fcf430     0 15181      1         15182 15180 (NOTLB)
ffff810080997d28 0000000000200086 0000000000000006 0000000000000009 
ffff81012a8a0a28 ffff81012a8a07d0 ffff81010003b980 000079a97155a4a6 
0000000000001474 000000022a8a0808 

Call Trace:
<ffffffff802f3618>{schedule_timeout+30}
<ffffffff8014c1ef>{get_futex_key+71} <ffffffff80149a88>{add_wait_queue+21}
<ffffffff8014c597>{futex_wait_abstime+565}
<ffffffff8010a1da{do_notify_resume+180}
ffffffff8012d7d5>{default_wake_function+0} <ffffffff8014c9c7>{do_futex+104}
<ffffffff801886a7>{pwrite+328} <ffffffff8015692e>{compat_sys_futex+186}
<ffffffff801234b0>{sysenter_do_call+27}

Strace 显示进程停滞在:

[pid  7867] accept(12,  <unfinished ...>

我可以在调用堆栈中的函数上读取任何好的链接并调试问题吗?

4

1 回答 1

1

如果它在接受 (2)中,它没有挂起,它正在等待传入连接。

于 2013-10-11T15:04:50.280 回答