Bug 444859 - haldaemon (and avahi) does not start at boot
Summary: haldaemon (and avahi) does not start at boot
Keywords:
Status: CLOSED NOTABUG
Alias: None
Product: Fedora
Classification: Fedora
Component: NetworkManager
Version: 8
Hardware: i386
OS: Linux
low
urgent
Target Milestone: ---
Assignee: Dan Williams
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2008-05-01 09:51 UTC by Giuseppe Castagna
Modified: 2008-05-07 17:33 UTC (History)
2 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2008-05-07 17:30:58 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)
Haldaemon /var/log/messages log (329.22 KB, text/plain)
2008-05-05 21:26 UTC, Giuseppe Castagna
no flags Details
This is the output of head -n 58 /etc/init.d/* (108.55 KB, application/octet-stream)
2008-05-07 17:12 UTC, Giuseppe Castagna
no flags Details

Description Giuseppe Castagna 2008-05-01 09:51:29 UTC
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
goes smoothly:

- 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
hal)
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

kernel-2.6.24.3-34.fc8
kernel-2.6.24.3-50.fc8
kernel-2.6.24.4-64.fc8
kernel-2.6.24.5-85.fc8

The problem appeared after that I upgraded the following packages:

perl-ExtUtils-Embed-1.26-39.fc8               
perl-ExtUtils-MakeMaker-6.30-39.fc8           
perl-Test-Harness-2.56-39.fc8                 
perl-devel-5.8.8-39.fc8                       
libgnomeprint22-devel-2.18.4-1.fc8            
squid-2.6.STABLE19-1.fc8                      
libgnomeprint22-2.18.4-1.fc8                  
perl-5.8.8-39.fc8                             
perl-libs-5.8.8-39.fc8                        
epiphany-2.20.3-4.fc8                         
psmisc-22.6-2.1.fc8                           
audit-1.7.2-5.fc8                             
audit-libs-python-1.7.2-5.fc8                 
util-linux-ng-2.13.1-2.fc8                    
xine-lib-extras-nonfree-1.1.12-1.lvn8         
gtk-sharp2-2.10.3-2.fc8                       
libraw1394-1.3.0-6.fc8                        
qt4-x11-4.3.4-11.fc8                          
xine-lib-1.1.12-2.fc8                         
qt4-4.3.4-11.fc8                              
audit-libs-1.7.2-5.fc8                        
kde-filesystem-4-14.fc8                       
selinux-policy-targeted-3.0.8-98.fc8          
selinux-policy-devel-3.0.8-98.fc8             
selinux-policy-3.0.8-98.fc8                   

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.

Comment 1 Giuseppe Castagna 2008-05-05 21:26:13 UTC
Created attachment 304563 [details]
Haldaemon /var/log/messages log

Comment 2 Giuseppe Castagna 2008-05-05 21:27:21 UTC
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:

dbus-devel-1.1.2-9.fc8
dbus-glib-devel-0.73-7.fc8
dbus-python-0.82.0-2.fc8
dbus-libs-1.1.2-9.fc8
dbus-glib-0.73-7.fc8
dbus-x11-1.1.2-9.fc8
dbus-1.1.2-9.fc8


Comment 3 Giuseppe Castagna 2008-05-06 15:21:02 UTC
PARTIALLY SOLVED:

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 ->
../init.d/setroubleshoot
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 ->
../init.d/wpa_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 ->
../init.d/NetworkManager
lrwxrwxrwx 1 root root 34 2008-05-06 16:31 S99NetworkManagerDispatcher ->
../init.d/NetworkManagerDispatcher
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. ....
Pretty misterious.

Also I tried to reset priorities by using resetpriorities by chkconfig and it
does not to work

Comment 4 Giuseppe Castagna 2008-05-06 15:57:13 UTC
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 ->
../init.d/NetworkManager
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 <==
#!/bin/bash
#
#       /etc/rc.d/init.d/acpid
#
# Starts the acpi daemon
#
# chkconfig: 345 44 56
# description: Listen and dispatch ACPI events from the kernel
# processname: acpid


==> S99bluetooth <==
#!/bin/sh

### 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 <==
#!/bin/sh
#
# 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 <==
#!/bin/sh
#
# 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.

touch /var/lock/subsys/local

==> S99messagebus <==
#!/bin/sh
#
# 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 <==
#!/bin/sh
#
# 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 <==
#!/bin/bash
#
# 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 <==
#!/bin/bash
#
# 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 <==
#!/bin/bash
#
# yum           Update notification daemon
#
# Author:       Jeremy Katz <katzj>
#
# chkconfig:    345 97 03
#
# description:  This is a daemon which periodically checks for updates \
#               and can send notifications via mail, dbus or syslog.


Comment 5 Bill Nottingham 2008-05-07 16:28:56 UTC
Please attach the entire header for all scripts, including any '## BEGIN INIT
INFO' blocks.

Comment 6 Giuseppe Castagna 2008-05-07 17:12:18 UTC
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
chkconfig

chkconfig-1.3.36-1

Comment 7 Bill Nottingham 2008-05-07 17:21:44 UTC
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.

Comment 8 Giuseppe Castagna 2008-05-07 17:33:57 UTC
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

---Beppe----


Note You need to log in before you can comment on or make changes to this bug.