dpkg in uninterruptible sleep
- by Khaled
I have several Ubuntu servers 10.04. Today, I tried to upgrade some packages on one of these servers and the process got stuck. I logged in using another SSH session and I found that dpkg is in D state (uninterruptible sleep).
According to what I have read, this state results generally from I/O waiting like waiting for NFS share. I can not understand why dpkg will block in this state. I can not see any obvious problems other than this.
Here is the output of ps to show the blocking process:
$ ps axo pid,cmd,s,wchan | grep dpkg
22571 /usr/bin/dpkg --status-fd 2 D call_rwsem_down_read_failed
This process can not be killed even with kill -9. So, I will not be able to install/upgrade any package unless I reboot the server. What makes it worse is that the remote reboot does not succeed in such a case (having processes in D state).
Can anyone help with this? How can I avoid this in the future.