#1138630 nut-monitor claims UPS was last known to be calibrating and currently is not communicating, assuming dead

Package:
nut-client
Source:
nut-client
Description:
network UPS tools - clients
Submitter:
Josip Rodin
Date:
2026-08-18 05:17:02 UTC
Severity:
normal
#1138630#5
Date:
2026-06-01 13:34:22 UTC
From:
To:
Hi,

One of my machines connected as a secondary went AWOL. It was shut down
after this sequence of events in the log:

May 29 23:19:15 mysecondary nut-monitor[4075438]: UPS nutdev3@myprimary.domain.tld: calibration in progress
May 29 23:19:15 mysecondary nut-monitor[155306]: Network UPS Tools upsmon 2.8.1
Jun 01 13:56:08 mysecondary nut-monitor[4075438]: Poll UPS [nutdev3@myprimary.domain.tld] failed - Server disconnected
Jun 01 13:56:08 mysecondary nut-monitor[4075438]: Communications with UPS nutdev3@myprimary.domain.tld lost
Jun 01 13:56:08 mysecondary nut-monitor[4075438]: UPS [nutdev3@myprimary.domain.tld] was last known to be calibrating and currently is not communicating, assuming dead
Jun 01 13:56:08 mysecondary nut-monitor[4075438]: Executing automatic power-fail shutdown
Jun 01 13:56:08 mysecondary nut-monitor[4075438]: Auto logout and shutdown proceeding
Jun 01 13:56:08 mysecondary nut-monitor[2735907]: Network UPS Tools upsmon 2.8.1
Jun 01 13:56:08 mysecondary nut-monitor[2735912]: Network UPS Tools upsmon 2.8.1
Jun 01 13:56:13 mysecondary nut-monitor[4075438]: Network UPS Tools upsmon 2.8.1

The primary at myprimary.domain.tld was idle throughout this time.
The secondary config is:

% sudo cat /etc/nut/nut.conf
MODE=standalone
% sudo cat /etc/nut/upsmon.conf
MONITOR nutdev3@myprimary.domain.tld 1 mysecondary censored secondary
SHUTDOWNCMD "/sbin/poweroff"

This sounds like it could be another manifestation of something like
https://bugs.debian.org/1056190 /
https://github.com/networkupstools/nut/issues/2168 ?

Either way, it seems to cause arbitrary downtime, so we probably shouldn't
have this in stable?

Please have a look. TIA.

#1138630#10
Date:
2026-08-18 01:42:29 UTC
From:
To:
Hello,

Package: nut-client
Version: 2.8.1-5

Confirming this on trixie, and asking whether it can go into stable.

Fixed upstream in 2.8.2 -- NEWS.adoc, "what's new since 2.8.1":

  * `upsmon` recognition of `CAL` state could linger after the calibration
    activity was completed by the hardware, which led to mis-processing of
    shutdown triggers. Also, notification was added to report "finished
    calibration". [issue #2168, PR #2169]

https://github.com/networkupstools/nut/pull/2169

(Same root cause as #1056190, fixed in 2.8.3-1, presenting the opposite way.)

Evidence, two secondaries on the same UPS, 2026-08-18. Weekly self-test at
06:40, 13 seconds of OB CAL. NUT 2.8.5 logged "calibration finished" and
cleared it; 2.8.1-5 never did. 22 minutes later a switch firmware upgrade cut
the path to the NUT server for 71 seconds, and 2.8.1-5 did this:

  UPS [...] was last known to be calibrating and currently is not
  communicating, assuming dead
  Executing automatic power-fail shutdown

It powered off a hypervisor and three guests, unattended. The 2.8.5 host lost
comms across the same 71 seconds and only logged warnings.

Why I think this warrants a stable update: the latch clears only on upsmon
restart, so it re-arms at every weekly self-test and persists for days. Mine
sat armed 04-08 and 11-15 August without incident, purely because nothing
interrupted the network in those windows. On stable, any UPS that self-tests
leaves the machine one interruption away from an unscheduled power-off, and
DEADTIME defaults to 15s -- shorter than a switch reboot.

The criteria look met: fixed in unstable (2.8.4+really-2.1), severity
important, and PR #2169 is small and self-contained, so a +deb13u1 with a
targeted patch rather than a version bump. trixie has no backports build of
nut, so stable users have no route to the fix today.

Happy to test a candidate package; the trigger reproduces weekly.

Appreciate the work.

Kind regards,
Dean

#1138630#15
Date:
2026-08-18 05:06:50 UTC
From:
To:
Following up with a tested source debdiff, in case it saves you the work.

I cherry-picked the upstream fix onto trixie's 2.8.1-5:

https://github.com/networkupstools/nut/pull/2169
https://github.com/networkupstools/nut/issues/2168

It applies cleanly on top of the ten existing Debian patches, and
builds cleanly in a clean trixie container. Source debdiff attached -- three
files only: d/changelog, d/patches/series, and the new DEP-3 patch
(upsmon-clear-CAL-flag.patch). NEWS.adoc and docs/nut.dict hunks from the
upstream PR are dropped, as they don't apply to 2.8.1 and aren't functional.

Verified at the binary level, /usr/lib/nut/upsmon:

                              2.8.1-5   +deb13u1
    "calibration in progress"     1         1
    "calibration finished"        0         1
    NOTCAL                        0         1

The stock trixie binary has no mechanism to report or clear that state at
all, which matches the observed symptom exactly.

The rebuild is installed and running on the affected host, with upsmon
reconnected to the UPS.

Thankyou.