hald is a daemon that maintains a database of the devices connected to the system system in real-time. The daemon connects to the D-Bus system message bus to provide an API that applications can use to discover, monitor and invoke operations on devices. For more information about both the big picture and specific API details, refer to the HAL spec which can be found in /usr/share/doc/hal-doc/spec/hal-spec.html depending on the distribution.
Please send bug reports to either the distribution or the HAL mailing list, see http://lists.freedesktop.org/mailman/listinfo/hal on how to subscribe.
First, to obtain useful debug traces you will need to have debuginfo packages installed. On a Fedora system this is in the hal-debuginfo package and can be installed via the yum update program.
Second, shut down the existing hald daemon instance; on a Fedora system this is achieved by
After having shut down the daemon, you might want to run
to ensure that all the helper processe of hald are killed too. To start the HAL daemon, use
/usr/sbin/hald --daemon=no --verbose=yes
If the daemon crashes, you can start it under a debugger via
and then typing
run --daemon=no --verbose=yes
at the (gdb) prompt. To capture a back trace, use the bt command and attach this to the bug report.
Please also attach the output of lshal(1) in the bug report if possible (it's not possible if the hald daemon crashed). If the nature of the bug has to do with hotplugging, attach two outputs of lshal(1) - one before the device hotplug event and one after.
udev(7), dbus-daemon(1), lshal(1), hal-set-property(1), hal-get-property(1), hal-find-by-property(1), hal-find-by-capability(1), hal-is-caller-locked-out(1)