Bug 158554

Summary: `obj->type == SND_CTL_ELEM_TYPE_ENUMERATED' failed
Product: [Fedora] Fedora Reporter: Dave Maley <dmaley>
Component: alsa-utilsAssignee: Martin Stransky <stransky>
Status: CLOSED WONTFIX QA Contact:
Severity: medium Docs Contact:
Priority: medium    
Version: 4CC: wtogami
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2005-06-17 11:51:01 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
strace of rmedigicontrol when error is encountered
none
strace of rmedigicontrol when working none

Description Dave Maley 2005-05-23 15:01:15 UTC
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.6) Gecko/20050322 Firefox/1.0.2 Red Hat/1.0.2-1.4.1

Description of problem:
I'm running into a problem w/ the latest FC3 kernel (2.6.11-1.14_FC3).  The problem occurs when I try to run rmedigicontol (gui mixer tool for RME soundcards) from alsa-tools.  This was working just fine up to and including kernel 2.6.10-1.770_FC3.  However now with 2.6.11-1.14_FC3 I'm getting the following error:

[dave@homer tunes]$ rmedigicontrol
rmedigicontrol: control.c:1686: snd_ctl_elem_info_get_items: Assertion
`obj->type == SND_CTL_ELEM_TYPE_ENUMERATED' failed.
Aborted
[dave@homer tunes]


In looking at the attached strace output it appears that it's unable to find some needed ioctls:

ioctl(3, USBDEVFS_CONNECTINFO, 0x807daf8) = -1 ENOENT (No such file or directory)
ioctl(3, USBDEVFS_IOCTL, 0x807dc10)     = -1 ENOENT (No such file or directory)
write(2, "rmedigicontrol: control.c:1686: "..., 123) = 123
rt_sigprocmask(SIG_UNBLOCK, [ABRT], NULL, 8) = 0
tgkill(4714, 4714, SIGABRT)             = 0
--- SIGABRT (Aborted) @ 0 (0) ---
+++ killed by SIGABRT +++


Any thoughts as to what's changed in the 2.6.11 kernel that could be causing this problem?


Version-Release number of selected component (if applicable):
kernel-smp-2.6.11-1.14_FC3.i686

How reproducible:
Always

Steps to Reproduce:
1. run rmedigicontrol
2.
3.
  

Actual Results:  error mentioned above

Expected Results:  rmedigicontrol mixer interface to run properly

Additional info:

Comment 1 Dave Maley 2005-05-23 15:02:46 UTC
Created attachment 114719 [details]
strace of rmedigicontrol when error is encountered

Comment 2 Dave Maley 2005-05-23 15:03:27 UTC
Created attachment 114720 [details]
strace of rmedigicontrol when working

Comment 3 Martin Stransky 2005-05-24 06:19:35 UTC
Which soundcard?
It is connected/detected properly?
Have you tried aplay?

Comment 4 Dave Maley 2005-05-25 03:17:01 UTC
> Which soundcard?

RME Digi96/8 PST

> It is connected/detected properly?

Works great.

> Have you tried aplay?

Yup, works just fine.


The sound on this machine is working just fine.  The only problem (that I've
hit) is the error when running rmedigicontrol.  If I boot the box back into
2.6.10-1.770_FC3 rmedigicontrol works just fine.

Comment 5 Dave Maley 2005-05-25 03:18:05 UTC
[dave@homer DOWNLOADS]$ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: PST [RME Digi96/8 PST], device 0: Digi96 IEC958 [Digi96 IEC958] 
Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: PST [RME Digi96/8 PST], device 1: Digi96 ADAT [Digi96 ADAT]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
[dave@homer DOWNLOADS]$ aplay -L
PCM list:
hw {
        @args.0 CARD
        @args.1 DEV
        @args.2 SUBDEV
        @args.CARD {
                type string
                default {
                        @func getenv
                        vars {
                                0 ALSA_PCM_CARD
                                1 ALSA_CARD
                        }
                        default {
                                @func refer
                                name 'defaults.pcm.card'
                        }
                }
        }
        @args.DEV {
                type integer
                default {
                        @func igetenv
                        vars {
                                0 ALSA_PCM_DEVICE
                        }
                        default {
                                @func refer
                                name 'defaults.pcm.device'
                        }
                }
        }
        @args.SUBDEV {
                type integer
                default {
                        @func refer
                        name 'defaults.pcm.subdevice'
                }
        }
        type hw
        card $CARD
        device $DEV
        subdevice $SUBDEV
}
plughw {
        @args.0 CARD
        @args.1 DEV
        @args.2 SUBDEV
        @args.CARD {
                type string
                default {
                        @func getenv
                        vars {
                                0 ALSA_PCM_CARD
                                1 ALSA_CARD
                        }
                        default {
                                @func refer
                                name 'defaults.pcm.card'
                        }
                }
        }
        @args.DEV {
                type integer
                default {
                        @func igetenv
                        vars {
                                0 ALSA_PCM_DEVICE
                        }
                        default {
                                @func refer
                                name 'defaults.pcm.device'
                        }
                }
        }
        @args.SUBDEV {
                type integer
                default {
                        @func refer
                        name 'defaults.pcm.subdevice'
                }
        }
        type plug
        slave.pcm {
                type hw
                card $CARD
                device $DEV
                subdevice $SUBDEV
        }
}
plug {
        @args.0 SLAVE
        @args.SLAVE {
                type string
        }
        type plug
        slave.pcm $SLAVE
}
dmix {
        @args.0 SLAVE
        @args.1 FORMAT
        @args.2 RATE
        @args.SLAVE {
                type string
                default 'hw:0,0'
        }
        @args.FORMAT {
                type string
                default S16_LE
        }
        @args.RATE {
                type integer
                default 48000
        }
        type dmix
        ipc_key 5678293
        ipc_key_add_uid yes
        slave {
                pcm $SLAVE
                format $FORMAT
                rate $RATE
        }
}
dsnoop {
        @args.0 SLAVE
        @args.1 FORMAT
        @args.2 RATE
        @args.SLAVE {
                type string
                default 'hw:0,0'
        }
        @args.FORMAT {
                type string
                default S16_LE
        }
        @args.RATE {
                type integer
                default 48000
        }
        type dsnoop
        ipc_key 5778293
        ipc_key_add_uid yes
        slave {
                pcm $SLAVE
                format $FORMAT
                rate $RATE
        }
}
shm {
        @args.0 SOCKET
        @args.1 PCM
        @args.SOCKET {
                type string
        }
        @args.PCM {
                type string
        }
        type shm
        server $SOCKET
        pcm $PCM
}
tee {
        @args.0 SLAVE
        @args.1 FILE
        @args.2 FORMAT
        @args.SLAVE {
                type string
        }
        @args.FILE {
                type string
        }
        @args.FORMAT {
                type string
                default raw
        }
        type file
        slave.pcm $SLAVE
        file $FILE
        format $FORMAT
}
file {
        @args.0 FILE
        @args.1 FORMAT
        @args.FILE {
                type string
        }
        @args.FORMAT {
                type string
                default raw
        }
        type file
        slave.pcm null
        file $FILE
        format $FORMAT
}
null {
        type null
}
default {
        type plug
        slave.pcm {
                type hw
                card {
                        @func getenv
                        vars {
                                0 ALSA_PCM_CARD
                                1 ALSA_CARD
                        }
                        default {
                                @func refer
                                name 'defaults.pcm.card'
                        }
                }
                device {
                        @func igetenv
                        vars {
                                0 ALSA_PCM_DEVICE
                        }
                        default {
                                @func refer
                                name 'defaults.pcm.device'
                        }
                }
                subdevice {
                        @func refer
                        name 'defaults.pcm.subdevice'
                }
        }
}
cards 'cards.pcm'
front 'cards.pcm.front'
rear 'cards.pcm.rear'
center_lfe 'cards.pcm.center_lfe'
side 'cards.pcm.side'
surround40 'cards.pcm.surround40'
surround41 'cards.pcm.surround41'
surround50 'cards.pcm.surround50'
surround51 'cards.pcm.surround51'
surround71 'cards.pcm.surround71'
iec958 'cards.pcm.iec958'
spdif 'cards.pcm.iec958'
modem 'cards.pcm.modem'
rme96 {
        type hw
        card 0
}
[dave@homer DOWNLOADS]$

Comment 6 Martin Stransky 2005-06-17 11:51:01 UTC
Report this bug to alsa-project, please.

Comment 7 Dave Maley 2005-06-17 17:21:55 UTC
alsa-project bug 0001200 opened:

  https://bugtrack.alsa-project.org/alsa-bug/view.php?id=1200