Re: sound: -EPERM on first mplayer invocation

From: Takashi Iwai
Date: Tue Aug 04 2009 - 05:16:27 EST


At Tue, 4 Aug 2009 11:01:43 +0200,
Denys Vlasenko wrote:
>
> On Monday 03 August 2009 08:55, Takashi Iwai wrote:
> > Denys Vlasenko wrote:
> > > Hi,
> > >
> > > For a long time I observe the following nuisance:
> > > when I run mplayer for the very first time after boot,
> > > I can't adjust the volume. mplayer spews this to stderr:
> > >
> > > alsa-control: error setting left channel, Operation not permitted
> > >
> > > This happens even if I login as root and run mplayer as root.
> > >
> > > I tracked it down to snd_ctl_elem_write in sound/core/control.c
> > >
> ...
> > >
> > > Thus, vd->owner != file.
> > >
> > > As I said, it only happens on very first run of mplayer,
> > > and it isn't a recent change, I think I saw it at least
> > > for one year with different kernels.
> > >
> > > Takashi, any idea what might be happening here?
> > > How can I help you more with tracking it down?
> >
> > This implies that another process (e.g. a sound daemon like PA)
> > already opened the device and locked this specific control element.
> > If so, this is no bug but the right behavior.
> > Check "fuser /dev/snd/controlC*".
>
> Nothing uses them:
>
> shadow:~# lsof -nP | grep '/dev/.*control'
> shadow:~# fuser /dev/snd/controlC*
> shadow:~#
>
> I tried running bare X with only xterm and mplayer,

Hm, but according to your debug session, the vd->owner is set
to a different value, right? Check vd->owner_pid in the error path.
It'll show the pid blocking that control element.


Takashi
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/