On Wed, 2014-07-09 at 12:12 -0500, Rex Dieter wrote: > Started seeing crashes reported on fedora recently now that I'm making a > push to update to pulseaudio-5.0. The symptoms seem to stem from card > profile structs (sometimes?) not getting fully initialized. Backtraces > available in these bugs I filed today: > > pavucontrol: > https://bugs.freedesktop.org/show_bug.cgi?id=81116 > > libgnome-volume-control: > https://bugzilla.gnome.org/show_bug.cgi?id=732952 > > Any advice or suggestions on how best to further debug/fix this? The comment in the Gnome bug is correct: PulseAudio should be fixed to never set card profile names to NULL. How to debug: first see the code in src/pulse/introspect.c and figure out how it could pass NULL names to applications. Even if the server sends NULL names, libpulse should handle that by closing the connection due to protocol error, and not pass the NULL names to applications. I see that both fill_card_port_info() fill_card_profile_info() have insufficient input validation regarding profile names. If you fix that, and the result is that now clients get disconnected due to bad data from the server, the next step is to add assertions about NULL names to the server code (src/pulsecore/protocol-native.c) to the places where profile names are sent to clients. The assertions should cause the server to crash, and hopefully the backtraces from those crashes can point to the root cause of the problem. -- Tanu