apcupsd <defunct> process death
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
apcupsd (Ubuntu) |
Confirmed
|
Undecided
|
Unassigned |
Bug Description
Binary package hint: apcupsd
On Kubuntu Jaunty 9.04 connected to an APC SUA750I, I installed the stock apcupsd 3.14.4-1 via apt-get. A couple configuration tweaks (ISCONFIGURED=yes, USPCABLE usb, UPSTYPE usb, Device <blank>), and it worked great - running apcaccess shows the status correctly.
However, after a reboot, or after an indeterminate amount of time passes, running apcaccess results in a connection error, and ps shows the apcupsd process dead as "apcupsd <defunct>". I've also seen variants in which apcupsd is ok and apccontrol is <defunct>, or when both are <defunct>. Once this state is reached, the only way out of it is to kill -9 apcupsd, and start it again manually (sudo /etc/init.d/apcupsd start), after which apcaccess once again works. Sometimes within a few seconds, or the next consecutive call to apcaccess, it is already dead again, and sometimes it can keep working for a long while before this recurs. This may be caused by losing USB connectivity (I've seen some indication in the logs), though of course the pc and ups remain on and physically connected the whole time.
So the bug is twofold:
First, apcupsd should never die because of an error accessing the usb - it should keep polling as usual until it's reconnected, and report the appropriate status in any case, whether online or disconnected.
Second, it shouldn't be losing connectivity when everything remains connected. This may or may not be a bug in apcupsd - maybe it's the usb drivers or something else - I don't know. But it's a problem.
I still see this happening on Kubuntu Lucid 10.04 amd64.