wild@nessie.cs.id.ethz.ch (Markus Wild) (05/17/91)
I'm having a problem with a process that keeps sleeping in a non-killable state. This happens roughly once every 50 times the program is run, and it's quite a problem, because since the process can't be killed, the filesystem on which it is running can't be unmounted, and so the system can't be shut down as cleanly as necessary (work for fsck on next run). Examining the pcb with 'crash' showed that the process was hanging in the close() system call. Now my release-notes say, that ufs is buggy, but they only say that from time to time it panics the kernel (which it really did on a few rare occasions;-)), they don't mention a problem like this. What I'd like to know is: is there a way around this problem? Can I do something before calling close(2) to get around this bug? Does it have something to do with mmap()s? Does an fsync() help? If it can help, this is the relevant information I gathered together with /bin/ps and /usr/ucb/ps: F S PID PPID CP PRI NI ADDR SZ RSS WCHAN S TT TIME COMMAND 18 S 361 1 0 98 20 40170e50 302 129 4005638c S term/con5 0:02 gcc-as This is quite a nasty problem, and I wouldn't mind if somehow I could get rid of it. (No, don't tell me to use the s5 fs, I can't stand the 14 character limit, and it's really ways slower than ufs.) -Markus -- Markus M. Wild - mwild@iiic.ethz.ch | wild@nessie.cs.id.ethz.ch -- Still looking for a REAL debugger for System V Release 4 ...