Latest update for hal on Karmic causes failure to start completely

Bug #375169 reported by Michael Marley
20
This bug affects 3 people
Affects Status Importance Assigned to Milestone
dbus (Ubuntu)
Fix Released
Critical
Scott James Remnant (Canonical)

Bug Description

Binary package hint: hal

I just updated my Karmic test box to the latest version of the HAL, and the new version will not start properly by default. It just sits there saying "Starting hardware abstraction layer hald:" At this point, hald is actually running, but the script to start it has not terminated, locking the process. I found that I could work-around the problem by adding "--background" to the options for start-stop-daemon in the /etc/init.d/hal file, like this:

do_start() {
 if [ ! -d $PIDDIR ]; then
  mkdir -p $PIDDIR
  chmod 770 $PIDDIR
  chown $DAEMONUSER:$DAEMONUSER $PIDDIR
 fi
 start-stop-daemon --start --background --oknodo --pidfile $PIDFILE \
  --exec $DAEMON -- $DAEMON_OPTS
}

Related branches

Revision history for this message
Scott James Remnant (Canonical) (canonical-scott) wrote :

This is caused by a bug in the D-Bus timeout patches.

The HAL author was involved in the original discussions about those, so had pre-empted the use of INT_MAX in pending call timeout arguments - thus HAL was using code that had never been tested, since a version of D-Bus that supported INT_MAX to mean "no timeout" had not yet been written.

The first of the patches uploaded was the wrong one that had missing code; this has been rectified

affects: hal (Ubuntu) → dbus (Ubuntu)
Changed in dbus (Ubuntu):
assignee: nobody → Scott James Remnant (scott)
importance: Undecided → Critical
status: New → Fix Committed
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package dbus - 1.2.14-2ubuntu4

---------------
dbus (1.2.14-2ubuntu4) karmic; urgency=low

  * Refresh the previous patch set.

  * debian/patches/50-timeout-01_null-for-pending-call.patch: Apply the
    working version of the patch, the previous had code inside the if()
    that was required in the else clause as well. LP: #375169.
  * debian/patches/50-timeout-11_tests.patch: Add test cases for the
    INT_MAX code path.

 -- Scott James Remnant <email address hidden> Mon, 11 May 2009 23:33:54 +0100

Changed in dbus (Ubuntu):
status: Fix Committed → Fix Released
Revision history for this message
Michael Marley (mamarley) wrote :

This doesn't seem to fix it. I applied all the updates (in the failsafe console, because HAL is necessary for Xorg to properly start), and hal started once. I rejoiced, and rebooted the computer, but then it failed again with exactly the same problem.

Changed in dbus (Ubuntu):
status: Fix Released → Confirmed
Revision history for this message
Markus Matuszczak (markus-matuszczak) wrote :

The last update (1.2.14-2ubuntu5) fix it.

Revision history for this message
jraregris (jraregris) wrote :

Out of frustration I ‘apt-get remove hal’ and reinstalled it. Now, thanks to the ‘--background’-hack in /etc/init.d/hal at least the computer boots. But since I removed hal, all the packages that depended on it went as well, and the computer only boots to the command prompt - not the desktop.

Any quick meta-package or anything similar i can install to get the desktop back?

Changed in dbus (Ubuntu):
status: Confirmed → Fix Released
Revision history for this message
Michael Marley (mamarley) wrote :

Its working now. Sorry about that; I think I updated it before the latest version had actually reached the repo. Thanks!

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.