[alsa-devel] seg fault in libasound
I am running asterisk on debian Etch , i486 with math emulation in kernel. Verified by /boot/config-file. I am getting a seg fault in alsa. First I ran straight debian with alsa install. I got the same seg fault. Second I installed 1.0.16 and I still get the seg fault. Third I installed 1.0.17rc2 and I still get the seg fault. Posted to users first and stan suggested I post to devel.
Below is the trace. I am only using the Console/Dsp from asterisk at this point. Which is the interface to the soundcard and alsa.
What shall I do?
Jerry
--------------------------
Program received signal SIGABRT, Aborted. [Switching to Thread -1224033360 (LWP 2440)] 0xb7d77947 in raise () from /lib/tls/libc.so.6 (gdb) where #0 0xb7d77947 in raise () from /lib/tls/libc.so.6 #1 0xb7d790c9 in abort () from /lib/tls/libc.so.6 #2 0xb7d7105f in __assert_fail () from /lib/tls/libc.so.6 #3 0xb741861f in snd_pcm_area_copy (dst_area=0x81cc62c, dst_offset=0, src_area=0x81cb7ec, src_offset=5223, samples=816, format=SND_PCM_FORMAT_S16_LE) at pcm_local.h:499 #4 0xb744b7b7 in snd_pcm_dsnoop_sync_ptr (pcm=0x81cb930) at pcm_dsnoop.c:77 #5 0xb7410b11 in snd_pcm_hwsync (pcm=0x81cb930) at pcm.c:932 #6 0xb7422b55 in snd1_pcm_generic_hwsync (pcm=0x81cc1c8) at pcm_generic.c:143 #7 0xb7410b11 in snd_pcm_hwsync (pcm=0x81cc1c8) at pcm.c:932 #8 0xb742fb4d in snd_pcm_rate_hwsync (pcm=0x81cc3f8) at pcm_rate.c:624 #9 0xb7410b11 in snd_pcm_hwsync (pcm=0x81cc3f8) at pcm.c:932 #10 0xb7417817 in snd1_pcm_read_areas (pcm=0x81cc3f8, areas=0xb70a5b70, offset=0, size=160, func=0xb7421e10 <snd_pcm_mmap_read_areas>) at pcm.c:6376 #11 0xb742111f in snd_pcm_mmap_readi (pcm=0x81cc3f8, buffer=0xb74a5a40, size=160) at pcm_mmap.c:236 #12 0xb740fff4 in snd_pcm_readi (pcm=0x81cc038, buffer=0xb74a5a40, size=2440) at pcm_local.h:521 #13 0xb749579b in alsa_read (chan=0x8213f18) at chan_alsa.c:683 #14 0x080855b1 in __ast_read (chan=0x8213f18, dropaudio=0) at channel.c:2100 #15 0x08087725 in ast_channel_bridge (c0=0x8212858, c1=0x817cf68, config=0xb70a6eac, fo=0xb70a5fe8, rc=0xb70a5fe4) at channel.c:2380 #16 0xb7c75592 in ast_bridge_call (chan=0x8212858, peer=0x8213f18, config=0xb70a6eac) at res_features.c:1490 #17 0xb75c38fd in dial_exec_full (chan=0x8212858, data=0xb70a8fd8, peerflags=0xb70a6f84, continue_exec=0x0) at app_dial.c:1773 #18 0xb75c519d in dial_exec (chan=0x8212858, data=0xb70a8fd8) at app_dial.c:1827 #19 0x080c6e3f in pbx_extension_helper (c=0x8212858, con=0x0, context=0x82129d8 "smvoice", exten=0x8212a28 "s", priority=3, label=0x0, callerid=0x8215450 "404", action=E_SPAWN) at pbx.c:537 #20 0x080c9185 in __ast_pbx_run (c=0x8212858) at pbx.c:2317 #21 0x080c9ebe in pbx_thread (data=0x8212858) at pbx.c:2636 #22 0x080f51d2 in dummy_start (data=0x8213178) at utils.c:909 #23 0xb7eff0bd in start_thread () from /lib/tls/libpthread.so.0 #24 0xb7e1b01e in clone () from /lib/tls/libc.so.6
name=root&type=33&description=/tmp/alsa-info.txt&expiry=&s=Submit+Post&content= !!################################ !!ALSA Information Script v 0.4.48 !!################################
!!Script ran on: Wed Jun 25 13:40:41 EDT 2008
!!Linux Distribution !!------------------
Debian GNU/Linux 4.0 \n \l
!!Kernel Information !!------------------
Kernel release: 2.6.18-6-486 Operating System: GNU/Linux Architecture: i486 Processor: unknown SMP Enabled: No
!!ALSA Version !!------------
Driver version: 1.0.17rc2 Library version: 1.0.17rc2 Utilities version: 1.0.17rc2
!!Loaded ALSA modules !!-------------------
snd_usb_audio
!!Soundcards recognised by ALSA !!-----------------------------
0 [default ]: USB-Audio - C-Media USB Headphone Set C-Media USB Headphone Set at usb-0000:00:0a.0-1, full speed
!!PCI Soundcards installed in the system !!--------------------------------------
!!Advanced information - PCI Vendor/Device/Susbsystem ID's !!--------------------------------------------------------
!!Modprobe options (Sound related) !!--------------------------------
snd-bt87x: index=-2 snd-cx88_alsa: index=-2 snd-atiixp-modem: index=-2 snd-intel8x0m: index=-2 snd-via82xx-modem: index=-2
!!Loaded sound module options !!--------------------------
!!Module: snd_usb_audio async_unlink : Y device_setup : 0,0,0,0,0,0,0,0 enable : Y,Y,Y,Y,Y,Y,Y,Y id : <NULL>,<NULL>,<NULL>,<NULL>,<NULL>,<NULL>,<NULL>,<NULL> index : -1,-1,-1,-1,-1,-1,-1,-1 nrpacks : 8 pid : -1,-1,-1,-1,-1,-1,-1,-1 vid : -1,-1,-1,-1,-1,-1,-1,-1
Jerry Geis wrote:
I am running asterisk on debian Etch , i486 with math emulation in kernel. Verified by /boot/config-file. I am getting a seg fault in alsa. First I ran straight debian with alsa install. I got the same seg fault. Second I installed 1.0.16 and I still get the seg fault. Third I installed 1.0.17rc2 and I still get the seg fault. Posted to users first and stan suggested I post to devel.
Below is the trace. I am only using the Console/Dsp from asterisk at this point. Which is the interface to the soundcard and alsa. What shall I do?
Jerry
Program received signal SIGABRT, Aborted. [Switching to Thread -1224033360 (LWP 2440)] 0xb7d77947 in raise () from /lib/tls/libc.so.6 (gdb) where #0 0xb7d77947 in raise () from /lib/tls/libc.so.6 #1 0xb7d790c9 in abort () from /lib/tls/libc.so.6 #2 0xb7d7105f in __assert_fail () from /lib/tls/libc.so.6 #3 0xb741861f in snd_pcm_area_copy (dst_area=0x81cc62c, dst_offset=0, src_area=0x81cb7ec, src_offset=5223, samples=816, format=SND_PCM_FORMAT_S16_LE) at pcm_local.h:499 #4 0xb744b7b7 in snd_pcm_dsnoop_sync_ptr (pcm=0x81cb930) at pcm_dsnoop.c:77 #5 0xb7410b11 in snd_pcm_hwsync (pcm=0x81cb930) at pcm.c:932 #6 0xb7422b55 in snd1_pcm_generic_hwsync (pcm=0x81cc1c8) at pcm_generic.c:143 #7 0xb7410b11 in snd_pcm_hwsync (pcm=0x81cc1c8) at pcm.c:932 #8 0xb742fb4d in snd_pcm_rate_hwsync (pcm=0x81cc3f8) at pcm_rate.c:624 #9 0xb7410b11 in snd_pcm_hwsync (pcm=0x81cc3f8) at pcm.c:932 #10 0xb7417817 in snd1_pcm_read_areas (pcm=0x81cc3f8, areas=0xb70a5b70, offset=0, size=160, func=0xb7421e10 <snd_pcm_mmap_read_areas>) at pcm.c:6376 #11 0xb742111f in snd_pcm_mmap_readi (pcm=0x81cc3f8, buffer=0xb74a5a40, size=160) at pcm_mmap.c:236 #12 0xb740fff4 in snd_pcm_readi (pcm=0x81cc038, buffer=0xb74a5a40, size=2440) at pcm_local.h:521 #13 0xb749579b in alsa_read (chan=0x8213f18) at chan_alsa.c:683 #14 0x080855b1 in __ast_read (chan=0x8213f18, dropaudio=0) at channel.c:2100 #15 0x08087725 in ast_channel_bridge (c0=0x8212858, c1=0x817cf68, config=0xb70a6eac, fo=0xb70a5fe8, rc=0xb70a5fe4) at channel.c:2380 #16 0xb7c75592 in ast_bridge_call (chan=0x8212858, peer=0x8213f18, config=0xb70a6eac) at res_features.c:1490 #17 0xb75c38fd in dial_exec_full (chan=0x8212858, data=0xb70a8fd8, peerflags=0xb70a6f84, continue_exec=0x0) at app_dial.c:1773 #18 0xb75c519d in dial_exec (chan=0x8212858, data=0xb70a8fd8) at app_dial.c:1827 #19 0x080c6e3f in pbx_extension_helper (c=0x8212858, con=0x0, context=0x82129d8 "smvoice", exten=0x8212a28 "s", priority=3, label=0x0, callerid=0x8215450 "404", action=E_SPAWN) at pbx.c:537 #20 0x080c9185 in __ast_pbx_run (c=0x8212858) at pbx.c:2317 #21 0x080c9ebe in pbx_thread (data=0x8212858) at pbx.c:2636 #22 0x080f51d2 in dummy_start (data=0x8213178) at utils.c:909 #23 0xb7eff0bd in start_thread () from /lib/tls/libpthread.so.0 #24 0xb7e1b01e in clone () from /lib/tls/libc.so.6
This seems to be 100% realted to usb-audio. I Bus 002 Device 003: ID 0d8c:000c C-Media Electronics, Inc. Audio Adapter
I had a centos box worked fine. I disabled the on board audio. put my usb device in and it is behaving the same way. plays wave files but asterisk dies.
I have been searching for a know issue on this or fix but have not found one yet.
Any help is appreciated.
Jerry
Jerry Geis wrote:
I am getting a seg fault in alsa.
#2 0xb7d7105f in __assert_fail () from /lib/tls/libc.so.6 #3 0xb741861f in snd_pcm_area_copy (dst_area=0x81cc62c, dst_offset=0, src_area=0x81cb7ec, src_offset=5223, samples=816, format=SND_PCM_FORMAT_S16_LE) at pcm_local.h:499
This is the "assert(bitofs % 8 == 0)" in snd_pcm_channel_area_addr() in pcm_local.h. In theory, this means that some sample is not aligned to a byte boundary, but it should be impossible to get this error.
Do you have any .asoundrc or asound.conf file? If yes, please remove them and try again.
Regards, Clemens
Clemens Ladisch wrote:
Jerry Geis wrote:
I am getting a seg fault in alsa.
#2 0xb7d7105f in __assert_fail () from /lib/tls/libc.so.6 #3 0xb741861f in snd_pcm_area_copy (dst_area=0x81cc62c, dst_offset=0, src_area=0x81cb7ec, src_offset=5223, samples=816, format=SND_PCM_FORMAT_S16_LE) at pcm_local.h:499
This is the "assert(bitofs % 8 == 0)" in snd_pcm_channel_area_addr() in pcm_local.h. In theory, this means that some sample is not aligned to a byte boundary, but it should be impossible to get this error.
Do you have any .asoundrc or asound.conf file? If yes, please remove them and try again.
Regards, Clemens
You are correct. I removed my /etc/asound.conf file and now it does not seg fault. Below is my file. What is wrong with it?
aplay -l **** List of PLAYBACK Hardware Devices **** card 0: default [C-Media USB Headphone Set ], device 0: USB Audio [USB Audio] Subdevices: 0/1 Subdevice #0: subdevice #0
lsusb Bus 004 Device 001: ID 0000:0000 Bus 003 Device 002: ID 0d8c:000c C-Media Electronics, Inc. Audio Adapter Bus 003 Device 001: ID 0000:0000 Bus 002 Device 002: ID 13fe:1f00 Bus 002 Device 001: ID 0000:0000 Bus 001 Device 001: ID 0000:0000
I have used this file many times with NON USB sound devices and it has been fine.
Also - after removing the asound.conf file my sound is a little choppy. Anything I can do about that?
Thank you.
Jerry
-----
# Set default sound card # Useful so that all settings can be changed to a different card here. pcm.snd_card { type hw card 0 device 0 }
# Allow mixing of multiple output streams to this device pcm.output { type dmix ipc_key 1024 ipc_perm 0660 # Sound for everybody in your group! slave.pcm "snd_card"
slave { # This stuff provides some fixes for latency issues. # buffer_size should be set for your audio chipset. period_time 0 period_size 1024 buffer_size 8192 }
bindings { 0 0 1 1 } }
# Allow reading from the default device. # Also known as record or capture. pcm.input { type dsnoop ipc_key 2048 slave.pcm "snd_card"
## Possible artsd full duplex fix: # slave { # period_time 0 # period_size 1024 # buffer_size 8192 # }
bindings { 0 0 1 1 } }
# This is what we want as our default device # a fully duplex (read/write) audio device. pcm.duplex { type asym playback.pcm "output" capture.pcm "input" }
################### # CONVERSION PLUG # ################### # Setting the default pcm device allows the conversion # rate to be selected on the fly. # duplex mode allows any alsa enabled app to read/write # to the dmix plug (Fixes a problem with wine). pcm.!default { type plug slave.pcm "duplex" }
# Apparently this is wrong (breaks mplayer for me opening the device) #ctl.!default { # type plug # slave.pcm "snd_card" #}
######## # AOSS # ######## # OSS dsp0 device (OSS needs only output support, duplex will break some stuff) pcm.dsp0 { type plug slave.pcm "output" }
# OSS control for dsp0 (needed?...this might not be useful) ctl.dsp0 { type plug slave.pcm "snd_card" }
# OSS control for dsp0 (default old OSS is mixer0) ctl.mixer0 { type plug slave.pcm "snd_card" }
participants (2)
-
Clemens Ladisch
-
Jerry Geis