Comment 0 for bug 1338603

Revision history for this message
RichardNeill (ubuntu-richardneill) wrote :

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.