Messages in this thread | | | Date | Tue, 19 Jun 2001 14:37:33 +0200 (CEST) | From | Martin Devera <> | Subject | possible deadlock in 2.4.4 sys_getdents ? |
| |
Hello all,
after weeks of uptime, 2.4.4 kernel freezed several of my processes. It seems like deadlock. I typed "whereis perl" and system got frozen. After quick look I found that I typed the command while "makedb" script was running. All processes are on down: budha:~# ps -A -o pid,cmd,eip,wchan|grep down 1131 find / /dev/pts 400cd923 down 5740 ls --color /usr/ 400bb923 down 5738 whereis perl 400bb79e down
budha:~# ls /proc/1131/fd -l total 0 lr-x------ 1 root root 64 Jun 19 14:37 0 -> /dev/null l-wx------ 1 root root 64 Jun 19 14:37 1 -> pipe:[2577] l-wx------ 1 root root 64 Jun 19 14:37 2 -> pipe:[2558] lr-x------ 1 root root 64 Jun 19 14:37 3 -> / lr-x------ 1 root root 64 Jun 19 14:37 4 -> /usr/share/man/man1
Now see strace output of whereis: 5738 getdents(5, /* 0 entries */, 3933) = 0 5738 close(5) = 0 5738 stat("/usr/share/man/man1", {st_mode=S_IFDIR|0755, st_size=22528, ...}) = 0 5738 open("/usr/share/man/man1", O_RDONLY|O_NONBLOCK|0x10000) = 5 5738 fstat(5, {st_mode=S_IFDIR|0755, st_size=22528, ...}) = 0 5738 fcntl(5, F_SETFD, FD_CLOEXEC) = 0 5738 getdents(5,
It stops at getdents. I don't know how to trace it further down .. I have to reboot machine and probably will not be able to simulate it again. Only it is evident that it is possible to hang it up and kill -9 doesn't work (uninteruptible sleep).
I hope this helps improve stability. devik
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |