2013-10-11 106 views
0

我有挂以及proc/SysRq的触发输出I看到的调用堆栈在翘起的方法:挂起的进程,调试

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} 
<ffffffff8b0>{sysenter_do_call+27} 

strace的显示过程在卡住了:

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

有什么好的链接可以读取调用堆栈中的函数并调试问题?

+1

这是完全正常的,accept()被认为是“挂起”,直到有人连接到端口。 –

+0

感谢hans的回复。 – RKum

回答

1

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

+0

非常感谢您的回复。 – RKum

+0

proc/sysrq-trigger输出在get_futex_key上显示一些等待的输出如何? 这是什么意思? – RKum