Dear Maintainer,
The harmful effect of this bug is greater than the original
description. It not only causes the failure to poweroff during
a fault, but also causes unexpected poweroffs when there's no
fault.
If nut-monitor is used, and the UPS has undergone a calibration
cycle, with the "CAL" flag active, the "CAL" status would remain
active permanently. Later, if nut-monitor disconnects from the
server (e.g. due to a server reboot), nut-monitor would determine
incorrectly that the UPS went offline in the middle of a
calibration, interpreting as a failed UPS, thus shutting down the
client.
As a result, any server reboots may cause unexpected poweroffs on
the client. All downstream distributions are affected, an example
on Debian 13.5 is provided.
nut-monitor[1644]: Poll UPS [[email protected]] failed - Server
disconnected
nut-monitor[1644]: Communications with UPS [email protected] lost
nut-monitor[1644]: UPS [[email protected]] was last known to be
calibrating and currently is not communicating, assuming dead
nut-monitor[1644]: FSD set on UPS [email protected] failed: Driver not
connected
nut-monitor[1644]: Executing automatic power-fail shutdown
nut-monitor[1644]: Auto logout and shutdown proceeding
nut-monitor[2622026]: Network UPS Tools upsmon 2.8.1
This problem has already been fixed on NUT 2.8.2. But since Debian
Stable will continue to be based on NUT 2.8.1 for over a year, please
consider cherry-picking the patch. Namely, the ups_is_notcal() logic
from NUT 2.8.2 to NUT 2.8.1.
For more information, see:
* Nut shutdown assuming dead ups #2794
https://github.com/networkupstools/nut/issues/2794
* Commit c174a8f: clients/upsmon.{c,h} et al: add notification support for
NOTCAL state change [#2169]
https://github.com/networkupstools/nut/commit/c174a8f387ce0337aea9ef611831be5ca2b828d3
Thanks,
Tom Li