hald started segfaulting on startup on my laptop. I booted the laptop and all was well. I then installed fxload and moved a firmware file, installed a new udev rule, and added a patch to usb.ids to support a piece of hardware I'm working on. I HUP'd udevd and all was well. I had also installed a PAM console.perm rule that, as it turns out, doesn't work with F11 because that is not taken care of by hal. The rule had worked under F8-F10. So, I removed the rule, and started work on a hal rule which I installed. It didn't work, even after bouncing hal. A short while later, I rebooted and while the system booted all the way to the GUI login screen, I couldn't type or use the mouse to log in. So I hit the power switch which let it shutdown gracefully and rebooted to run level 1. I manually changed run levels up through 5 to watch the process which is when I noticed that hald failed to start.
Okay, reboot again to run level 3, remove all the changes I had made and try again. hal still wouldn't start, but I could just type "hald" on the command line and it would start just fine. I remove /var/cache/hald/fdi-cache to make sure there wasn't a copy of my (since removed) hal rule for the new device. I had already removed the rule, the firmware file, the udev rule and the unused pam console permission rule. I even uninstalled fxload. Reboot, hal won't start.
At this point, I'm back to where I started a couple of hours earlier and hal won't start. To make it even weirder,
sh /etc/rc.d/init.dhaldaemon start
A typical syslog message looks like this:
Jan 1 00:39:12 leavitt kernel: hald: segfault at 0 ip 08065ffa sp bfe830b0 error 4 in hald[8047000+5b000]
Only the sp value changes with each failure.
Aaarrrggg! Can anyone throw me a clue?