[alsa-devel] seg fault in libasound

Jerry Geis geisj at pagestation.com
Thu Jun 26 14:37:15 CEST 2008


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"
}





More information about the Alsa-devel mailing list