[Pkg-utopia-maintainers] Bug#480552: fails to stop hald on upgrade...

Jens Seidel jensseidel at users.sf.net
Wed Jun 24 10:41:44 UTC 2009


hal version upgrade: 0.5.11-8 -> 0.5.12~git20090406.46dc48-2

Hi,

I also had big trouble configuring hal during an upgrade of hal from 0.5.11-8
to 0.5.12~git20090406.46dc48-2 (sorry, do no longer remember whether I started
the upgrade from lenny to squeeze, it happened weeks ago (May 18, 2009) and
I hoped the problem will go away). I solved it finally by killing hald but from
my first attempts to solve it I copied from the console:

# LANG=C dpkg --configure -a
Setting up hal (0.5.12~git20090406.46dc48-2) ...   
usermod: no changes
 * Reloading system message bus config...
   ...done.
insserv: warning: current stop runlevel(s) (S) of script `hwclockfirst.sh' overwrites defaults (empty).
insserv: warning: script 'resolvconf' missing LSB tags and overrides
 * Starting Hardware abstraction layer hald
invoke-rc.d: initscript hal, action "start" failed.
dpkg: error processing hal (--configure):
 subprocess installed post-installation script returned error exit status 1

Attention: The exit status changes from (initially???) 1 to 2 to 1, ... on
further attempts (it doesn't converge :-)).

Note the missing "OK" output, exit status of the init script was never 0:

debian:/home/jens# /etc/init.d/hal stop
 * Stopping Hardware abstraction layer hald
   ...done.
debian:/home/jens# /etc/init.d/hal start
 * Starting Hardware abstraction layer hald
debian:/home/jens# /etc/init.d/hal start && echo ok
 * Starting Hardware abstraction layer hald
debian:/home/jens# /etc/init.d/hal stop
 * Stopping Hardware abstraction layer hald
   ...done.
debian:/home/jens# /etc/init.d/hal start && echo ok
 * Starting Hardware abstraction layer hald
#

Calling "dpkg --configure hal" took many minutes until it failed. The
problematic command in /etc/init.d/hal was:

start-stop-daemon --start --oknodo --pidfile /var/run/hald/hald.pid --exec /usr/sbin/hald --

I tried also without --oknodo but got the same problem.

I stopped the time for the start-stop-daemon command and got:

debian:/home/jens# time start-stop-daemon --start --oknodo --pidfile /var/run/hald/hald.pid --exec /usr/sbin/hald -- && echo OK

real    0m0.013s
user    0m0.004s
sys     0m0.000s
debian:/home/jens# time start-stop-daemon --start --oknodo --pidfile /var/run/hald/hald.pid --exec /usr/sbin/hald -- && echo OK

real    4m10.011s
user    0m0.000s
sys     0m0.004s

I checked at this moment for the PID file:
(The bug reporter mentioned /var/run/hal/hald.pid instead of
/var/run/hald/hald.pid, did this change recently???)

# cat /var/run/hald/hal*
cat: /var/run/hald/hal*: No such file or directory


debian:/home/jens# time start-stop-daemon --start --oknodo --pidfile /var/run/hald/hald.pid --exec /usr/sbin/hald -- && echo OK

real    4m10.012s
user    0m0.000s
sys     0m0.004s
debian:/home/jens# time start-stop-daemon --start --oknodo --pidfile /var/run/hald/hald.pid --exec /usr/sbin/hald -- && echo OK

real    0m0.014s
user    0m0.004s
sys     0m0.000s
debian:/home/jens# time start-stop-daemon --start --oknodo --pidfile /var/run/hald/hald.pid --exec /usr/sbin/hald -- && echo OK

real    0m0.013s
user    0m0.000s
sys     0m0.004s
debian:/home/jens# time start-stop-daemon --start --oknodo --pidfile /var/run/hald/hald.pid --exec /usr/sbin/hald -- && echo OK

real    0m0.014s
user    0m0.004s
sys     0m0.000s
debian:/home/jens# time start-stop-daemon --start --oknodo --pidfile /var/run/hald/hald.pid --exec /usr/sbin/hald -- && echo OK
^C

real    1m1.142s
user    0m0.000s
sys     0m0.004s
debian:/home/jens# time start-stop-daemon --start --oknodo --pidfile /var/run/hald/hald.pid --exec /usr/sbin/hald -- && echo OK

real    0m0.013s
user    0m0.004s
sys     0m0.000s

Why is it sometimes fast and sometimes not?


I first suspected that /usr/sbin/hald cannot be started, but this is not true.
Starting /usr/sbin/hald works flawlessly (independant of whether it is already
running or not IIRC).

With set -xe in the init script:

# LANG=C dpkg --configure hal
Setting up hal (0.5.12~git20090406.46dc48-2) ...
usermod: no changes
 * Reloading system message bus config...
   ...done.
insserv: warning: current stop runlevel(s) (S) of script `hwclockfirst.sh' overwrites defaults (empty).
insserv: warning: script 'resolvconf' missing LSB tags and overrides
 * Starting Hardware abstraction layer hald
[snip]
+ do_start
+ [ ! -d /var/run/hald ]
+ start-stop-daemon --start --oknodo --pidfile /var/run/hald/hald.pid --exec /usr/sbin/hald --
invoke-rc.d: initscript hal, action "start" failed.
dpkg: error processing hal (--configure):
 subprocess installed post-installation script returned error exit status 1

(Does the last message make sense? I would drop "installed" especially as dpkg
was called manually and not during the extraction phase so that no subprocess of
the current dpkg installed the post-inst script.)

According to this bug report I tried killing hald first and this worked
indeed! There was also no delay during "dpkg --configure hal". Great!

PS: Don't know whether it's important but I run hal in a Xen guest domain.

Does my verbosity help to fix this problem?

Jens

-- System Information:
Debian Release: squeeze/sid
  APT prefers testing
  APT policy: (900, 'testing'), (800, 'unstable'), (500, 'stable')
Architecture: i386 (i686)

Kernel: Linux 2.6.26 (SMP w/1 CPU core)
Locale: LANG=de_DE.utf8, LC_CTYPE=de_DE.utf8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages hal depends on:
ii  acl          2.2.47-2                    Access control list utilities
ii  adduser      3.110                       add and remove users and groups
ii  consolekit   0.3.0-2                     framework for defining and trackin
ii  dbus         1.2.12-1                    simple interprocess messaging syst
ii  hal-info     20090309-1                  Hardware Abstraction Layer - fdi f
ii  libc6        2.9-12                      GNU C Library: Shared libraries
ii  libdbus-1-3  1.2.12-1                    simple interprocess messaging syst
ii  libdbus-glib 0.80-4                      simple interprocess messaging syst
ii  libexpat1    2.0.1-4                     XML parsing C library - runtime li
ii  libgcc1      1:4.4.0-5                   GCC support library
ii  libglib2.0-0 2.20.1-2                    The GLib library of C routines
ii  libhal-stora 0.5.12~git20090406.46dc48-2 Hardware Abstraction Layer - share
ii  libhal1      0.5.12~git20090406.46dc48-2 Hardware Abstraction Layer - share
ii  libpolkit2   0.9-3                       library for accessing PolicyKit
ii  libsmbios2   2.0.3.dfsg-1                Provide access to (SM)BIOS informa
ii  libstdc++6   4.4.0-5                     The GNU Standard C++ Library v3
ii  libusb-0.1-4 2:0.1.12-13                 userspace USB programming library
ii  libvolume-id 0.141-1                     libvolume_id shared library
ii  lsb-base     3.2-22                      Linux Standard Base 3.2 init scrip
ii  mount        2.15.1~rc1-1                Tools for mounting and manipulatin
ii  pciutils     1:3.1.2-5                   Linux PCI Utilities
ii  pm-utils     1.2.5-2                     utilities and scripts for power ma
ii  policykit    0.9-3                       framework for managing administrat
ii  udev         0.141-1                     /dev/ and hotplug management daemo
ii  usbutils     0.73-10                     Linux USB utilities

Versions of packages hal recommends:
ii  eject           2.1.5+deb1+cvs20081104-6 ejects CDs and operates CD-Changer
pn  libsmbios-bin   <none>                   (no description available)

Versions of packages hal suggests:
ii  gnome-device-manager          0.2-3      GNOME device manager based on HAL

dpkg: 1.15.2





More information about the Pkg-utopia-maintainers mailing list