Red Hat Bugzilla – Bug 444859
haldaemon (and avahi) does not start at boot
Last modified: 2008-05-07 13:33:57 EDT
Description of problem:
This bug is very similar to bugs #443602 and #444410. However while these two
bugs are for rawhide/fc9 mine happened on a Fedora 8 production machine, which
is why I started a new bug report. I put a Severy "urgent" since this is
working machine: therefore I stick as much as possible to Fedora 8 stable
distribution without any rawhide package (there are few exception though).
In a nutshell, after an upgrade suggested by pup the booting phase no longer
- Avahi-daemon fails and haldamon hangs and fails after a long delay
- If I do not start avahi then haldaemon fails immediately (no delay).
Log messages are not very useful since they only show failures of different
components to connect to hal.
Bizarrely, starting haldamon (and avahi as well as other services that depend on
by hand after the boot works without any error, however the behaviour of the
machine is not satisfactory (e.g. pulseaudio does not work).
This behaviour happens consistently with all the kernels I have on my machine
The problem appeared after that I upgraded the following packages:
Initially I thought it could be due to the upgrade of selinux-policy (even
though I have selinux disabled) so I rolled back to
selinux-policy-targeted-3.0.8-95.fc8 Thu 01 May 2008 01:19:31 AM CEST
selinux-policy-devel-3.0.8-95.fc8 Thu 01 May 2008 01:19:04 AM CEST
selinux-policy-3.0.8-95.fc8 Thu 01 May 2008 01:18:58 AM CEST
But with no result.
Created attachment 304563 [details]
Haldaemon /var/log/messages log
More info on this:
ConsoleKit does not start at boot time. I activated sys-log when launching
haldaemon at boot by --use-syslog --verbose=yes. I attach the log, from the
last lines it looks as a dbus error. Notice that I use stable dbus packages:
Ok, I now understood what happened, but I do not kno why it happened. There is a
whole bunch of services whose priority order was changed to S99. Look at here
[beppe@mirto rc5.d]$ ls -l /etc/rc.d/rc5.d | grep 2008 | grep 06
lrwxrwxrwx 1 root root 15 2008-05-06 16:31 K00httpd -> ../init.d/httpd
lrwxrwxrwx 1 root root 18 2008-05-06 16:31 K00sendmail -> ../init.d/sendmail
lrwxrwxrwx 1 root root 24 2008-05-06 16:31 K00setroubleshoot ->
lrwxrwxrwx 1 root root 16 2008-05-06 16:31 K00smartd -> ../init.d/smartd
lrwxrwxrwx 1 root root 24 2008-05-06 16:31 K00wpa_supplicant ->
lrwxrwxrwx 1 root root 14 2008-05-06 16:31 K74nscd -> ../init.d/nscd
lrwxrwxrwx 1 root root 14 2008-05-06 16:31 K89dund -> ../init.d/dund
lrwxrwxrwx 1 root root 14 2008-05-06 16:31 K89pand -> ../init.d/pand
lrwxrwxrwx 1 root root 19 2008-05-06 16:31 K92ip6tables -> ../init.d/ip6tables
lrwxrwxrwx 1 root root 15 2008-05-06 16:31 S99acpid -> ../init.d/acpid
lrwxrwxrwx 1 root root 19 2008-05-06 16:31 S99bluetooth -> ../init.d/bluetooth
lrwxrwxrwx 1 root root 20 2008-05-06 16:31 S99ConsoleKit -> ../init.d/ConsoleKit
lrwxrwxrwx 1 root root 20 2008-05-06 16:31 S99messagebus -> ../init.d/messagebus
lrwxrwxrwx 1 root root 24 2008-05-06 16:31 S99NetworkManager ->
lrwxrwxrwx 1 root root 34 2008-05-06 16:31 S99NetworkManagerDispatcher ->
lrwxrwxrwx 1 root root 14 2008-05-06 16:31 S99ntpd -> ../init.d/ntpd
lrwxrwxrwx 1 root root 17 2008-05-06 16:31 S99rsyslog -> ../init.d/rsyslog
lrwxrwxrwx 1 root root 22 2008-05-06 16:31 S99yum-updatesd -> ../init.d/yum-updatesd
So messagebus starts AFTER haldaemon ... QED.
I do not know why this happened, but I think the culpright must be something
called by serviceconf. Indeed the listing above was obtained right after that at
16:31 I saved in serviceconf after having disabled kudzu (just for a try). Note
that all the files above are "touched".
Now that I restored the original order:
[root@mirto rc5.d]# mv S99acpid S44acpid
[root@mirto rc5.d]# mv S99bluetooth S50bluetooth
[root@mirto rc5.d]# mv S99ConsoleKit S90ConsoleKit
[root@mirto rc5.d]# mv S99messagebus S27messagebus
[root@mirto rc5.d]# mv S99ntpd S58ntpd
[root@mirto rc5.d]# mv S99NetworkManagerDispatcher S98NetworkManagerDispatcher
[root@mirto rc5.d]# mv S99rsyslog S26rsyslog
[root@mirto rc5.d]# mv S99yum-updatesd S97yum-updatesd
Everything works fine, and boot as perfect as usual. However I am no longer to
reproduce the bug with serviceconf.
If I launch it the only services "touched" are does that I do modify. ....
Also I tried to reset priorities by using resetpriorities by chkconfig and it
does not to work
Actually I checked and it is a chkconfig bug (so I updated the componenet).
Indeed if I do
chkconfig <somename> resetpriorities
The following services are given a priority S99.
lrwxrwxrwx 1 root root 15 2008-05-06 17:54 S99acpid -> ../init.d/acpid
lrwxrwxrwx 1 root root 19 2008-05-06 17:54 S99bluetooth -> ../init.d/bluetooth
lrwxrwxrwx 1 root root 20 2008-05-06 17:54 S99ConsoleKit -> ../init.d/ConsoleKit
lrwxrwxrwx 1 root root 11 2007-11-10 00:25 S99local -> ../rc.local
lrwxrwxrwx 1 root root 20 2008-05-06 17:54 S99messagebus -> ../init.d/messagebus
lrwxrwxrwx 1 root root 24 2008-05-06 17:54 S99NetworkManager ->
lrwxrwxrwx 1 root root 14 2008-05-06 17:54 S99ntpd -> ../init.d/ntpd
lrwxrwxrwx 1 root root 17 2008-05-06 17:54 S99rsyslog -> ../init.d/rsyslog
lrwxrwxrwx 1 root root 22 2008-05-06 17:54 S99yum-updatesd -> ../init.d/yum-updatesd
However notice that the chkconfig are corrctly specified (apart from in bluetooth)
[root@mirto rc5.d]# head S99*
==> S99acpid <==
# Starts the acpi daemon
# chkconfig: 345 44 56
# description: Listen and dispatch ACPI events from the kernel
# processname: acpid
==> S99bluetooth <==
### BEGIN INIT INFO
# Required-Start: $syslog messagebus
# Default-Start: 2 3 4 5
# Short-Description: Bluetooth services
# Description: Bluetooth services for service discovery, authentication,
# Human Interface Devices, etc.
### END INIT INFO
==> S99ConsoleKit <==
# ConsoleKit: ConsoleKit daemon
# chkconfig: 345 90 10
# description: The ConsoleKit maintains a list of sessions
# processname: console-kit-daemon
# pidfile: /var/run/console-kit-daemon.pid
==> S99local <==
# This script will be executed *after* all the other init scripts.
# You can put your own initialization stuff in here if you don't
# want to do the full Sys V style init stuff.
==> S99messagebus <==
# messagebus: The D-BUS systemwide message bus
# chkconfig: 345 22 85
# description: This is a daemon which broadcasts notifications of system events \
# and other messages. See http://www.freedesktop.org/software/dbus/
# processname: dbus-daemon
# pidfile: /var/run/messagebus.pid
==> S99NetworkManager <==
# NetworkManager: NetworkManager daemon
# chkconfig: - 27 73
# description: This is a daemon for automatically switching network \
# connections to the best available connection.
# processname: NetworkManager
# pidfile: /var/run/NetworkManager/NetworkManager.pid
==> S99ntpd <==
# ntpd This shell script takes care of starting and stopping
# ntpd (NTPv4 daemon).
# chkconfig: - 58 74
# description: ntpd is the NTPv4 daemon. \
# The Network Time Protocol (NTP) is used to synchronize the time of \
# a computer client or server to another server or reference time source, \
# such as a radio or satellite receiver or modem.
==> S99rsyslog <==
# rsyslog Starts rsyslogd/rklogd.
# chkconfig: 2345 12 88
# description: Syslog is the facility by which many daemons use to log \
# messages to various system log files. It is a good idea to always \
# run rsyslog.
### BEGIN INIT INFO
==> S99yum-updatesd <==
# yum Update notification daemon
# Author: Jeremy Katz <firstname.lastname@example.org>
# chkconfig: 345 97 03
# description: This is a daemon which periodically checks for updates \
# and can send notifications via mail, dbus or syslog.
Please attach the entire header for all scripts, including any '## BEGIN INIT
Created attachment 304787 [details]
This is the output of head -n 58 /etc/init.d/*
Hope this is what you need. I printed the first 58 lines since the deepest :###
END INIT INFO is at line 58 (it is hsqldb). FYI, I use the following version of
Dan - having NM provide $network requires that rsyslog, messagebus, etc. init
scripts match their F9 versions, or this sort of thing happens.
gc - if you remove the $network from the Provides: of NetworkManager and
resetpriorities, things should reorganize themselves somewhat better.
Ok, I closed this bug as a NOTABUG. As I said I have a "nearly" stable
distribution. The only differences are cduce packages from testing, Bluetooth
from rawhide and ... NetworkManager also compiled from rawhide src.
So it is not a bug but it is my fault. Sorry for the useless bother, and thanks