[alsa-devel] amixer cget :Assertion `ctl && info && (info->id.name[0] || info->id.numid)' failed. Aborted

Raymond Yau superquad.vortex2 at gmail.com
Wed Oct 5 09:25:44 CEST 2011


2011/10/3 Takashi Iwai <tiwai at suse.de>:
> At Sat, 1 Oct 2011 11:30:44 +0800,
> Raymond Yau wrote:
>>
>> There is assertion when specify iface=PCM  or iface=PCM,name='' when
>> using amixer -c0 cget
>>
>> according to the synthax
>>
>> [[iface=<iface>,][name='name',][index=<index>,][device=<device>,][subdevice=<subdevice>]]|[numid=<numid>]
>>
>>
>> amixer -c0 cget iface=PCM
>> amixer: control.c:258: snd_ctl_elem_info: Assertion `ctl && info &&
>> (info->id.name[0] || info->id.numid)' failed.
>> Aborted
>>
>> amixer -c0 cget iface=PCM,name=''
>> amixer: control.c:258: snd_ctl_elem_info: Assertion `ctl && info &&
>> (info->id.name[0] || info->id.numid)' failed.
>> Aborted
>
> So, the empty string isn't checked before assert().  It's bad.
> It must be easy to fix.  Care to create and send a patch?
>
>

The syntax seem also wrong.

[[iface=<iface>,][name='name',][index=<index>,][device=<device>,][subdevice=subdevice>]]|[numid=<numid>]


it should be
 [numid=<numid>] |
 [[iface=<iface>,name='name'][,index=<index>][,device=<device>]] |
 [[iface=<iface>,name='name'][,device=<device>][,subdevice=<subdevice>]]

since you cannot specify index and subdevice at the same time


More information about the Alsa-devel mailing list