Subject: nut: Lenny: NUT doesn't shutdown UPS on powerfail
Package: nut
Version: 2.2.2-6.4
Severity: grave
Justification: renders package unusable

This tells the essence of the story:

$ ldd /sbin/upsmon
        linux-gate.so.1 =>  (0xb7fad000)
        libupsclient.so.1 => /usr/lib/libupsclient.so.1 (0xb7f9e000)
        libc.so.6 => /lib/i686/cmov/libc.so.6 (0xb7e43000)
        /lib/ld-linux.so.2 (0xb7fae000)

The problem is that /sbin/upsmon, which is used by the powerdown function
of the nut init script, itself relies upon a library that is placed in
/usr/lib... but if /usr is a separate filesystem, it will have been unmounted
before the powerdown is invoked.  upsmon fails to run, setting $? to a
non-zero value, which causes the script to think that the flag isn't set
even though it is (confirmed: the file is present and upsmon correctly reports
so after rebooting; checked in maintenacne, of course, since otherwise nut's
startup will have removed it)... so the machine halts, but the UPS doesn't
power off (until the battery runs down far enough to kill it).

The obvious and simple fix would be to place libupsclient into /lib; otherwise
the check for the kill file must be done in a  way which doesn't rely upon the
unreliable upsmon.  (Etch's upsmon does not depend upon libupsclient,
BTW - luckily I'd only upgraded the one machine before I happened to
notice this!)

About the severity: in the classic, run on UPS as long as the battery
lasts and shutdown at the last moment, this leaves only a small window
(it fails if AC power returns after NUT has decided to shutdown and
before the battery gets so low the UPS shuts itself off - but I've seen
real setups where that window was tens of minutes long).  But if that
gamble were acceptable we wouldn't be using NUT, which solved that bug
(at least as well as a given UPS allows it to be solved) years ago...


-- System Information:
Debian Release: 5.0.1
  APT prefers stable
  APT policy: (500, 'stable')
Architecture: i386 (i686)

Kernel: Linux 2.6.26-2-686 (SMP w/1 CPU core)
Locale: LANG=en_US, LC_CTYPE=en_US (charmap=ISO-8859-1)
Shell: /bin/sh linked to /bin/bash

Versions of packages nut depends on:
ii  adduser                   3.110          add and remove users and groups
ii  debconf                   1.5.24         Debian configuration management sy
ii  libc6                     2.7-18         GNU C Library: Shared libraries
ii  libupsclient1             2.2.2-6.4      Client library for the nut - Netwo
ii  libusb-0.1-4              2:0.1.12-13    userspace USB programming library
ii  lsb-base                  3.2-20         Linux Standard Base 3.2 init scrip
ii  udev                      0.125-7+lenny1 /dev/ and hotplug management daemo

nut recommends no packages.

Versions of packages nut suggests:
pn  nut-cgi                       <none>     (no description available)
pn  nut-dev                       <none>     (no description available)
pn  nut-snmp                      <none>     (no description available)
pn  nut-xml                       <none>     (no description available)

-- debconf information:
  nut/major_conf_changes:
  nut/2_0_upstream_changes:
  nut/change_system_user:
* nut/major_upstream_changes:
  nut/remove_debian_conf:



-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to