oh boy I ran into my FAVOURITE Linux “feature” again, uninterruptible sleep, reproducibly, while at work
-
Show this thread
-
what is uninterruptible sleep, you ask. well:pic.twitter.com/oF0wPt3LiT
1 reply 2 retweets 12 likesShow this thread -
“no but what is it actually” if your process does certain kinds of system calls, including certain I/O system calls, then it is impossible to kill the process while it is waiting for it to return. yes, not even SIGKILL. yes, the only fix is a hard reboot. yes. I know. I knowwwwww
2 replies 0 retweets 12 likesShow this thread -
I hate uninterruptible sleep so fucking much, fuck backwards compatibility, every system call should be able to return EINTR or, hell, pretend the operation failed in some other way or whatever, just let me kill misbehaving processes ;_________;
4 replies 0 retweets 13 likesShow this thread -
Replying to @hikari_no_yume
That's not a backwards compat thing though, it's a kernel bug. The point of uninterruptible sleep is that if your process is running *in kernel mode* then you can't kill it except where allowed, because that would kill *kernel code* at a random point and that's Bad™.
1 reply 0 retweets 3 likes -
Replying to @marcan42 @hikari_no_yume
So in theory in any non-pathological system state, the kernel shouldn't be leaving a process in uninterruptible sleep for any significant length of time. If it does, either you have a problem or it's a kernel bug or misfeature.
1 reply 0 retweets 4 likes -
Replying to @marcan42 @hikari_no_yume
The worst cases of "really the kernel folks should fix this" that I've seen are NFS and FUSE. Like, I can see how it's hard to do because both of those smush something complicated behind an API designed for local disk FS access, but come on, figure out how to do it already.
2 replies 0 retweets 4 likes
At least in the case of FUSE, you can unwedge the problem process by killing the (presumably unresponsive) FUSE server daemon involved. For NFS I forget if there's some force unmount incantation that works.
-
-
Replying to @marcan42 @hikari_no_yume
`umount -l` "hides" the problem, as far as I understood. Yeah, those zombie processes are *incredibly* annoying.
1 reply 0 retweets 0 likes -
Replying to @jeeger @hikari_no_yume
It has to be umount.nfs foo -l IIRC, or else umount itself hangs!
0 replies 0 retweets 4 likes
End of conversation
New conversation -
Loading seems to be taking a while.
Twitter may be over capacity or experiencing a momentary hiccup. Try again or visit Twitter Status for more information.