[Pkg-alsa-devel] Bug#589896: Bug#589896: openarena: segfaults when using pulse-via-ALSA output and PulseAudio capture

Simon McVittie smcv at debian.org
Sat Aug 21 18:07:03 UTC 2010


(You didn't cc me or the bug, so I didn't see this until I tried replying
with bts show --mbox to attach a proposed patch; please cc bugs and submitters
if you expect a response :-)

On Fri, 20 Aug 2010 at 23:56:02 +0200, Elimar Riesebieter wrote:
> There are already bugs in thet ALSA-BTS. So what do you expect?
> Another forward? I've tested openarena on my ppc-box and can't
> reproduce.....

I suggested removing the call to snd_dlobj_cache_cleanup(); I've now tested
this and confirmed that it works, see attached (trivial) patch.

There seem to be quite a few preconditions for the crash, since it's a bad
interaction between several layers of libraries and plugins. I can reproduce it
in sid with libpulse0 and libportaudio2 installed, pulseaudio running, ALSA
configured to use the pulse backend by default, the default OpenAL
configuration, and the following OpenArena command line:

    openarena +set s_alDevice \"ALSA Software\" +set s_alCapture 1

Note the strange quoting (because the command line is parsed once by the shell
then again by the Quake 3 engine), and that PortAudio is necessary to tickle
this bug; most other users of ALSA don't seem to call
snd_config_update_free_global(), possibly because this bug makes it unusable
for them.

This configuration may seem rather contrived, but it's surprisingly easy to get
by just upgrading things, because the Quake 3 engine auto-detects audio
devices, saves the chosen audio device in user configuration, and repeats
auto-detection if the saved or configured device no longer works.
The crash I originally reported was arrived at by upgrading, and Jordan
Metzmeier has seen a similar crash by running OA without PulseAudio
installed, with leftover configuration from when he previously did have it.

I can confirm that after reverting the other possible workarounds I've tried,
the OpenArena crash still occurs, but the attached patch prevents the crash
for me, with the "cost" that calling snd_config_update_free_global() no longer
unloads the plugins (but from its name and documentation, I wouldn't expect
it to do that anyway).

See the mail with which I reassigned to you for some other possible
ways to resolve this crash, if you don't think this is an ALSA bug.

    Simon
-------------- next part --------------
A non-text attachment was scrubbed...
Name: snd_config_update_free_global.patch
Type: text/x-diff
Size: 966 bytes
Desc: not available
URL: <http://lists.alioth.debian.org/pipermail/pkg-alsa-devel/attachments/20100821/5aea7300/attachment.patch>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 793 bytes
Desc: Digital signature
URL: <http://lists.alioth.debian.org/pipermail/pkg-alsa-devel/attachments/20100821/5aea7300/attachment.pgp>


More information about the Pkg-alsa-devel mailing list