Ticket #625 (new defect)

Opened 13 months ago

Last modified 13 months ago

module-hal-detect causes sigabrt if hal is not yet online

Reported by: rustyl Owned by: lennart
Milestone: Component: module-hal-detect
Keywords: Cc: rusty.lynch@…

Description

on systems that boot fast it is possible for pulseaudio to startup before hal has started. This results in module-hal-detect (via libdbus) triggering a sigabrt which triggers an exit on the pulseaudio process.

Attachments

0001-hal-detect-Add-logic-to-wait-for-hal-to-startup.patch (6.8 kB) - added by rustyl 13 months ago.
Proposed patch to fix the bug

Change History

Changed 13 months ago by rustyl

Proposed patch to fix the bug

Changed 13 months ago by rustyl

  • cc rusty.lynch@… added
  • component changed from daemon to module-hal-detect

Changed 13 months ago by coling

Hi Rusty, this is just a FYI comment :)

Just so you know, hal support is now deprecated.

I'd imagine Lennart will still apply your patch, but I'm afraid it will be short lived... while module-hal-detect will still be included in this upcoming release, it's not used by default. I'd imagine it will be removed completely in the next release (0.9.17) or the one after that.

You may know all this already, bit figured it's worth mentioning :)

Changed 13 months ago by lennart

Yes, Colin is right, the HAL stuff is a bit obselete these days. It's better to focus on the udev logic.

Nonetheless this is worth to be merged. However, there are a couple of issues in the patch:

Please add all matches via pa_dbus_add_matches() in painit() and remove them again in padone().

Also, all D-Bus signal handlers in PA MUST return DBUS_HANDLER_RESULT_NOT_YET_HANDLED. This is necessary so that other parts in PA that might be interested in those signals get those signals delivered properly, too.

What's this thing about dbus_connection_register_object_path? This makes no sense at all to me. You are implementing an object on the client side under the object path /org/freedesktop/DBus? Uh? Also the vtable you hand in there is not declared static, so this will break big time.

Also, please try to follow the coding style guidelines (http://pulseaudio.org/wiki/CodingStyle)

Hmm, I am wondering what you are trying to achieve? Allowing parallel startup of PA and HAL? I am not sure this is really a good idea. I thought about doing this in the past, but the problem is that playing a login/welcome sound then is already incredibly complex since you need to wait for the audio device to be available.

Note: See TracTickets for help on using tickets.