** 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
