Messages in this thread | | | Date | Fri, 22 Jan 1999 11:04:04 -0500 | From | Andrew Lewycky <> | Subject | Processes freezing in D state |
| |
Once under 2.2.0-pre8 and once under 2.2.0-final, I've had many of the processes on my system simultaneously enter the D state. This kernel and computer are UP x86, and nothing like this was happening in pre7 or earlier. (But it is difficult to trigger. Today it occurred after running for about an hour, while yesterday my computer was on for ~16 hours, doing roughly the same things, without any trouble.)
What happened was that I was working under X, when I noticed that both Netscape and apt had frozen. ps ax reported that 11 processes were in the D state, including update, syslogd, login, nmbd, communicator, http (for apt), sync, bash and xterm. Alt-SysRq-T claimed that they all had EIPs of C01B4000, which is init_task_union. (I guess that software task switching broke thread_saved_pc.) Attempts to login on the console or start another xterm froze. However I was able to determine the following:
ls /tmp -> ok touch /tmp/foo -> D ls /tmp -> D ls /tmp/foo -> no such file
cat /tmp/bar > /dev/null -> D (where /tmp/bar exists) touch /tmp/bar -> D
here's what an strace of ls /tmp looked like:
open("/tmp", O_RDONLY | O_NONBLOCK) = 3 fcntl(3, F_SETFD, FD_CLOEXEC) = 0 lseek(3, 0, SEEK_CUR) = 0 getdents(3, <strace hangs here until CTRL-C>
here's what an strace of touch /tmp/foo looked like:
stat("/tmp/foo", 0xbffffc84) = -1 ENOENT open("/tmp/foo", O_WRONLY | O_CREAT | O_TRUNC, 0666
That's all I've got so far. If there's a way that I can get the stack trace for a frozen process, I'll try it next time this happens.
Thanks in advance. Andrew Lewycky amplewycky@undergrad.math.uwaterloo.ca
P.S. I'm not subscribed to linux-kernel, but I do read it on the web. There's a long lag before messages show up there, so please CC me.
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/
| |