[alsa-devel] Segfault in mix_areas3_smp with Edirol UA-25 in advance-mode
No asound.conf, just the default dmix configuration. Trying to play audio via this card randomly causes crashes. Might be a race condition between closing the PCM at the same time as opening a new one or something like that, but I didn't debug it further. I get this with both Xine and GStreamer, using ALSA as audio output.
Using other sound cards or using UA-25 without advance mode¹ there are no segfaults.
Advanced Linux Sound Architecture Driver Version 1.0.14 (Fri Jul 20 09:12:58 2007 UTC). alsa-lib version: 1.0.14a
GStreamer: #0 0x00002b54714d58dc in mix_areas3_smp () from /usr/lib/libasound.so.2 #1 0x00002b54714d6477 in snd_pcm_dmix_sync_area () from /usr/lib/libasound.so.2 #2 0x00002b54714d6a4e in snd_pcm_dmix_start () from /usr/lib/libasound.so.2 #3 0x00002b54714bff60 in snd_pcm_rate_start () from /usr/lib/libasound.so.2 #4 0x00002b54714ac357 in snd_pcm_write_areas () from /usr/lib/libasound.so.2 #5 0x00002b54714b4ca2 in snd_pcm_mmap_writei () from /usr/lib/libasound.so.2 #6 0x00002aaaaf89dc1c in gst_alsasink_write (asink=0x1bf1620, data=0x1a51a40, length=3760) at gstalsasink.c:786 #7 0x00002aaaadf46ca0 in audioringbuffer_thread_func (buf=<value optimized out>) at gstaudiosink.c:226 #8 0x00002b5472bf72b4 in g_thread_create_proxy () from /usr/lib/libglib-2.0.so.0 #9 0x00002b547202bfe7 in start_thread () from /lib/libpthread.so.0
Xine: #0 0x00002b9c574d88dc in mix_areas3_smp () from /usr/lib/libasound.so.2 #1 0x00002b9c574d9477 in snd_pcm_dmix_sync_area () from /usr/lib/libasound.so.2 #2 0x00002b9c574d98fa in snd_pcm_dmix_mmap_commit () from /usr/lib/libasound.so.2 #3 0x00002b9c574b96f0 in snd_pcm_plugin_write_areas () from /usr/lib/libasound.so.2 #4 0x00002b9c574af29a in snd_pcm_write_areas () from /usr/lib/libasound.so.2 #5 0x00002b9c574b9052 in snd_pcm_plugin_writei () from /usr/lib/libasound.so.2 #6 0x00002aaaaefa8078 in ao_alsa_write () from /usr/lib64/xine/plugins/1.1.8/xineplug_ao_out_alsa.so #7 0x00002b9c542397a7 in ao_loop () from /usr/lib/libxine.so.1 #8 0x00002b9c5802efe7 in start_thread () from /lib/libpthread.so.0
¹) There is a switch on this USB sound card for switching between modes. In advance mode the device is not standard USB Audio device, but it supports 24 bit packed samples and sample rates higher than 44.1 kHz. Otherwise it is a standard USB audio device, but only supports 16 bit 44.1 kHz.
Lasse Kärkkäinen wrote:
No asound.conf, just the default dmix configuration. Trying to play audio via this card randomly causes crashes.
Using other sound cards or using UA-25 without advance mode¹ there are no segfaults.
So it seems to be a problem with the 24-bit code.
Advanced Linux Sound Architecture Driver Version 1.0.14 (Fri Jul 20 09:12:58 2007 UTC). alsa-lib version: 1.0.14a
Does it also happen with alsa-lib 1.0.15?
Regards, Clemens
So it seems to be a problem with the 24-bit code.
This would also suggest so: https://bugtrack.alsa-project.org/wiki/wikka.php?wakka=emu&show_comments... (search mix_areas3_smp on that page)
Different card, but same problem with 24 bit packed samples.
Does it also happen with alsa-lib 1.0.15?
Can't test right now, but I'll do that tomorrow.
participants (2)
-
Clemens Ladisch
-
Lasse Kärkkäinen