[Crash-utility] crash CPU bound waiting for user response
D. Hugh Redelmeier
hugh at mimosa.com
Tue Jul 3 05:04:14 UTC 2007
I am running crash in a shell window of JOVE. JOVE is an EMACS-subset
editor.
crash isn't really happy. Here is an example:
crash> task
WARNING: terminal is not fully functional
- (press RETURN)
==> It does not say in what way the terminal is not fully functional. That seems like a bug.
==> Worse: while it is awaiting my RETURN, it is burning 100% of the CPU!
Here is what "ps laxgwf" says about the crash process and its child.
F UID PID PPID PRI NI VSZ RSS WCHAN STAT TTY TIME COMMAND
4 0 4426 4406 25 0 416812 332764 - R+ pts/5 80:36 | | \_ crash --readnow /usr/lib/debug/lib/modules/2.6.21-1.3228.fc7/vmlinux /var/crash/2007-07-02-13:42/vmcore
0 0 4989 4426 18 0 73976 740 - S+ pts/5 0:00 | | \_ /usr/bin/less -E -X -Ps -- MORE -- forward\: <SPACE>, <ENTER> or j backward\: b or k quit\: q
strace of the crash process shows an infinite sequence of:
wait4(4989, 0x7fffcd9cae90, WNOHANG, NULL) = 0
wait4(4989, 0x7fffcd9cae90, WNOHANG, NULL) = 0
wait4(4989, 0x7fffcd9cae90, WNOHANG, NULL) = 0
wait4(4989, 0x7fffcd9cae90, WNOHANG, NULL) = 0
This is very wasteful.
There are other ways to get into this state. Other places less is
being used and is waiting. Probably wherever less is used even if it
isn't waiting.
I just tested: this problem exists when using a normal xterm.
More information about the Crash-utility
mailing list