This has happened to me only once on Linux. I still tell stories about it.
It was a CD burning program stuck in uninterruptible sleep! Trapped in a system call into the kernel that can never be interrupted by a signal, it was truly unkillable. The SIGKILLs simply piled up never to be delivered.
In this case it was a driver holding that thread captive and making an assumption about the hardware eventually responding to a request which never completes.
So yes indeed it was the kernel, and ideally the driver could be written better, but that’s probably easier said than done when the hardware can do weird things.
This was a long time ago, so for all I know the issue has been long corrected.
Yeah… It doesn’t happen often and when it does, it’s usually a driver and/or hw issue that is likely to leak memory and/or hold file descriptors but procs in D (uninterruptible_sleep) state do happen. It’s really obnoxious that murdering them with SIGKILL does nothing.
All the damn time. I typically use Linux, so having a process I can’t even force kill is a severely annoying concept.
This has happened to me only once on Linux. I still tell stories about it.
It was a CD burning program stuck in uninterruptible sleep! Trapped in a system call into the kernel that can never be interrupted by a signal, it was truly unkillable. The SIGKILLs simply piled up never to be delivered.
I would assume that was a kernel issue.
In this case it was a driver holding that thread captive and making an assumption about the hardware eventually responding to a request which never completes.
So yes indeed it was the kernel, and ideally the driver could be written better, but that’s probably easier said than done when the hardware can do weird things.
This was a long time ago, so for all I know the issue has been long corrected.
It honestly was the thing that pushed me to Linux. Once I could no longer kill programs at-will I couldn’t handle it. xkill ftw.
Yeah… It doesn’t happen often and when it does, it’s usually a driver and/or hw issue that is likely to leak memory and/or hold file descriptors but procs in
D
(uninterruptible_sleep) state do happen. It’s really obnoxious that murdering them withSIGKILL
does nothing.