I just installed fglrx (2:13.350.1-0ubuntu3) on Utopic.
It causes a CPU hang (see Bug 1338177), so I wanted to remove it.
Running:
sudo apt-get purge fglrx fglrx-amdcccle
silently hangs, indefinitely. The prompt just never returns (not even with Ctrl-C).
I tracked the bug down to this script:
/var/lib/dpkg/info/fglrx.postrm
whose process I was able to kill, and dpkg then continued (to a non-graceful exit);
--
Purging configuration files for fglrx (2:13.350.1-0ubuntu3) ...
dpkg: error processing package fglrx (--purge):
subprocess installed post-removal script was killed by signal (Terminated)
Errors were encountered while processing:
fglrx
E: Sub-process /usr/bin/dpkg returned an error code (1)
---
The offending line in the postrm script is this one:
update-rc.d atieventsd remove >/dev/null
Having commented it out, I was then able to re-run the
sudo apt-get purge fglrx fglrx-amdcccle
successfully.
The root cause seems to be that the command:
/usr/lib/insserv/insserv
will sit there interminably, inactively, and unkillably.
even sudo killall -9 insserv won't stop it.
To fully recover from the insserv hang, I had to shut down the machine, with shutdown -h now,
and even that didn't fully go down; I had to eventually physically reset the box.
There are really 3 bugs here:
1. The fglrx package cannot be gracefully uninstalled.
2. insserv needs to be killed with fire.
3. the kernel's reboot or shutdown commands fail if a process like insserv is stuck in the "D" state.
I just installed fglrx (2:13.350. 1-0ubuntu3) on Utopic.
It causes a CPU hang (see Bug 1338177), so I wanted to remove it.
Running:
sudo apt-get purge fglrx fglrx-amdcccle
silently hangs, indefinitely. The prompt just never returns (not even with Ctrl-C).
I tracked the bug down to this script: dpkg/info/ fglrx.postrm
/var/lib/
whose process I was able to kill, and dpkg then continued (to a non-graceful exit);
-- 1-0ubuntu3) ...
Purging configuration files for fglrx (2:13.350.
dpkg: error processing package fglrx (--purge):
subprocess installed post-removal script was killed by signal (Terminated)
Errors were encountered while processing:
fglrx
E: Sub-process /usr/bin/dpkg returned an error code (1)
---
The offending line in the postrm script is this one:
update-rc.d atieventsd remove >/dev/null
Having commented it out, I was then able to re-run the
sudo apt-get purge fglrx fglrx-amdcccle
successfully.
The root cause seems to be that the command: lib/insserv/ insserv
/usr/
will sit there interminably, inactively, and unkillably.
even sudo killall -9 insserv won't stop it.
To fully recover from the insserv hang, I had to shut down the machine, with shutdown -h now,
and even that didn't fully go down; I had to eventually physically reset the box.
There are really 3 bugs here:
1. The fglrx package cannot be gracefully uninstalled.
2. insserv needs to be killed with fire.
3. the kernel's reboot or shutdown commands fail if a process like insserv is stuck in the "D" state.