[pulseaudio-discuss] pulseaudio-5.0 (and newer) crashes in pavucontrol, gnome

Tanu Kaskinen tanu.kaskinen at linux.intel.com
Wed Jul 9 11:27:30 PDT 2014


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



More information about the pulseaudio-discuss mailing list