Date: Sat, 29 Jul 2000 23:38:17 -0400 From: Jim Bloom <bloom@acm.org> To: Jonathan Lemon <jlemon@FreeBSD.ORG> Cc: current@FreeBSD.ORG Subject: Re: cvs commit: src/sys/kern kern_event.c Message-ID: <3983A329.B37CE8BA@acm.org> References: <200007272306.QAA41002@freefall.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
I am having problems with "tail -f" hanging the machine. I don't know if this change is related, but I suspect that it might be. I commonly do a "tail -f" of my log file while doing a buildworld. As soon as I interrupted the tail, the machine hung. I then tried to figure out what was causing the problem. Eventually, I tracked the problem down to tail. The machine would respond to pings, but the keyboard was useless. It would not shutdown as well. One test I tried was to run tail -f under truss. This actually kept the machine somewhat usable. Top showed truss using 75% of the CPU and tail using the other 25%. System time was running over 80%. Truss reported that tail kept receiving the signal (indefinitely as far as I could tell) at a high rate of speed. I tried to get a kernel core dump several times by breaking into ddb, but I never had any luck. Here is the backtrace copied by hand: vec1(c0f8d540,1,bfbffa9c,0,c81b76c0) at vec1+0x2 kevent(c81b76c0,c8bd1f80,280f6b40,4,4) at kevent+0x152 syscall2(2f,2f,2f,4,4) at syscall2+0x1f1 Xinit0x80_syscall() at Xint0x80_syscall+0x25 My kernel and source tree both date from 20:00-22:00 EDT on July 28. I found the problem to be quite repeatable by simply going "tail -f file" (the file does not need to change) and then hitting an interrupt on the keyboard. Let me know if I can be of any assistance in tracking this problem down. I might try to spend some time tomorrow figuring out what is happening. Jim Bloom bloom@acm.org Jonathan Lemon wrote: > > jlemon 2000/07/27 16:06:15 PDT > > Modified files: > sys/kern kern_event.c > Log: > Have kevent() automatically restart if interrupted by a signal. If this > is not desired, then the user can register an EV_SIGNAL filter to > explicitly catch a signal event. > > Change requested by: jayanth, ps, peter > "Why is kevent non-restartable after a signal?" > > Revision Changes Path > 1.12 +3 -6 src/sys/kern/kern_event.c To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3983A329.B37CE8BA>