** Description changed:

  Steps to reproduce:
  1. Open gnome-alsamixer
  2. Open gnome-volume-control
  3. Open alsamixer
  
  Adjust PCM volume with text-mode alsamixer.  The two channels get out of
  sync very quickly.
  
  Other example:
  1. Open gnome-volume-control on an SMP system
  2. Rapidly adjust PCM volume with the channels locked.  The channels will 
eventually loosen up or one will go to 0.
  
  sudo sh -c "echo 0 > /sys/devices/system/cpu/cpu1/online"
  
  This command actually fixes the GNOME volume control on one of my dual-
  core systems (Intrepid/emu10k1).  It is consistently reproducible and
  directly related to that command.  On the other system (Hardy custom
  2.6.26/cmipci), the command seems to have no effect and the problem
  remains.
  
  Something is wrong with the locking or mutexing of the volume controls
  in an underlying component of Ubuntu.  For some people, that means even
  rudimentary volume control with the keyboard is problematic.
  
  Affected drivers:
  - cmipci
  - emu10k1
  - possibly every audio driver
  
  It happens on systems even with the 2nd cpu disabled, just a little
  less.
  
  The volume for the channels does not just shoot down to zero all the
  time (possibly indicating a returned error).  Sometimes it just goes
  down by a little bit.  So there is some sort of race condition problem.
  
  Intrepid as of 7/24/2008 is affected.
  
  I was not able to demonstrate any inconsistencies with the text-mode
  alsamixer when GNOME or KDE was not open, but that does not mean the
  race is not somewhere in the kernel either.  Moving the volume controls
  with keys is a lot less stressful on the drivers than using a smooth
  slider or running apps that monitor the volume in real-time.
  
  I have tried every fix I have seen, and none have fixed the problem.
  
  Possibly related bugs:
  - Bug 126333
+ 
+ From my debugging, a zero is first being written to a volume channel for
+ some reason.  I am not sure why or the source of it.  Mixers then read
+ this zero and the mistake carries on from there.
+ 
+ I will attach some library call logs from my debugging, but I can not
+ say that they are reliable.  "workinglog" is from adjusting it slowly up
+ and then slowly down in the text-mode alsamixer program with no desktop
+ environment loaded, only a TTY.
+ 
+ "brokenlog" shows what happens when I use my keyboard to do the same
+ thing.  The volume is jumping down periodically or going to zero.
+ 
+ _snd_mixer_selem_set_volume s->str[0].vol[1] = 18
+ elem_write_volume s->str[0].vol[0] = 0
+ elem_write_volume s->str[0].vol[1] = 18
+ 
+ The second write command giving alsa a zero makes no sense, and
+ completely destroys the linearity of the adjustment.  But I don't know
+ where it's coming from.

** Tags added: alsa applet cmipci control emu10k1 race volume

** Attachment added: "brokenlogs.tar.gz"
   http://launchpadlibrarian.net/16342951/brokenlogs.tar.gz

-- 
volume control races render control useless, worse on SMP
https://bugs.launchpad.net/bugs/252237
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.

-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to