Hi, I have found a use-case for this bug that I can repeat every single time. I have a USB webcam (Logitech C600). If I have the webcam plugged in when xfce4-mixer (and xfc4-volumed) starts, everything is fine. However, if I then unplug the webcam, both processes begin racing out of control. I removed xfce4-volumed to see if this behavior continues with just xfce4-mixer. I ran the webcam disconnect test again, revealing that even without volumed installed, xfce4-mixer still races to 100% CPU the moment after I unplug the USB cam.
I think what might be happening (in my case) is that because the device is removed, perhaps the mixer doesn't expect a device to just disappear, and still attempts to query it.
Hi, I have found a use-case for this bug that I can repeat every single time. I have a USB webcam (Logitech C600). If I have the webcam plugged in when xfce4-mixer (and xfc4-volumed) starts, everything is fine. However, if I then unplug the webcam, both processes begin racing out of control. I removed xfce4-volumed to see if this behavior continues with just xfce4-mixer. I ran the webcam disconnect test again, revealing that even without volumed installed, xfce4-mixer still races to 100% CPU the moment after I unplug the USB cam.
I think what might be happening (in my case) is that because the device is removed, perhaps the mixer doesn't expect a device to just disappear, and still attempts to query it.
Release: Xubuntu 9.10 (with updates)
Before removing the webcam:
kyle@caeleo:~$ ls -l /proc/20580/fd .xsession- errors .xsession- errors
total 0
lr-x------ 1 kyle kyle 64 2010-02-24 11:33 0 -> /dev/null
lrwx------ 1 kyle kyle 64 2010-02-24 11:33 1 -> /home/kyle/
lr-x------ 1 kyle kyle 64 2010-02-24 11:33 10 -> pipe:[287424]
l-wx------ 1 kyle kyle 64 2010-02-24 11:33 11 -> pipe:[287424]
lrwx------ 1 kyle kyle 64 2010-02-24 11:33 12 -> /dev/snd/controlC0
lr-x------ 1 kyle kyle 64 2010-02-24 11:33 13 -> pipe:[9197]
l-wx------ 1 kyle kyle 64 2010-02-24 11:33 14 -> pipe:[9197]
lr-x------ 1 kyle kyle 64 2010-02-24 11:33 15 -> pipe:[287425]
l-wx------ 1 kyle kyle 64 2010-02-24 11:33 16 -> pipe:[287425]
lrwx------ 1 kyle kyle 64 2010-02-24 11:33 17 -> /dev/snd/controlC1
lrwx------ 1 kyle kyle 64 2010-02-24 11:33 18 -> /dev/mixer
lrwx------ 1 kyle kyle 64 2010-02-24 11:33 19 -> socket:[287426]
lrwx------ 1 kyle kyle 64 2010-02-24 11:33 2 -> /home/kyle/
l-wx------ 1 kyle kyle 64 2010-02-24 11:33 21 -> pipe:[9206]
lrwx------ 1 kyle kyle 64 2010-02-24 11:33 3 -> socket:[287416]
lr-x------ 1 kyle kyle 64 2010-02-24 11:33 4 -> pipe:[7647]
l-wx------ 1 kyle kyle 64 2010-02-24 11:33 5 -> pipe:[7647]
lr-x------ 1 kyle kyle 64 2010-02-24 11:33 6 -> pipe:[9270]
l-wx------ 1 kyle kyle 64 2010-02-24 11:33 7 -> pipe:[9270]
lr-x------ 1 kyle kyle 64 2010-02-24 11:33 8 -> pipe:[287422]
l-wx------ 1 kyle kyle 64 2010-02-24 11:33 9 -> pipe:[287422]
After removing:
kyle@caeleo:~$ ls -l /proc/20580/fd .xsession- errors .xsession- errors
total 0
lr-x------ 1 kyle kyle 64 2010-02-24 11:33 0 -> /dev/null
lrwx------ 1 kyle kyle 64 2010-02-24 11:33 1 -> /home/kyle/
lr-x------ 1 kyle kyle 64 2010-02-24 11:33 10 -> pipe:[287424]
l-wx------ 1 kyle kyle 64 2010-02-24 11:33 11 -> pipe:[287424]
lrwx------ 1 kyle kyle 64 2010-02-24 11:33 12 -> /dev/snd/controlC0
lr-x------ 1 kyle kyle 64 2010-02-24 11:33 13 -> pipe:[9197]
l-wx------ 1 kyle kyle 64 2010-02-24 11:33 14 -> pipe:[9197]
lr-x------ 1 kyle kyle 64 2010-02-24 11:33 15 -> pipe:[287425]
l-wx------ 1 kyle kyle 64 2010-02-24 11:33 16 -> pipe:[287425]
lrwx------ 1 kyle kyle 64 2010-02-24 11:33 17 -> /dev/snd/controlC1 (deleted)
lrwx------ 1 kyle kyle 64 2010-02-24 11:33 18 -> /dev/mixer
lrwx------ 1 kyle kyle 64 2010-02-24 11:33 19 -> socket:[287426]
lrwx------ 1 kyle kyle 64 2010-02-24 11:33 2 -> /home/kyle/
l-wx------ 1 kyle kyle 64 2010-02-24 11:33 21 -> pipe:[9206]
lrwx------ 1 kyle kyle 64 2010-02-24 11:33 3 -> socket:[287416]
lr-x------ 1 kyle kyle 64 2010-02-24 11:33 4 -> pipe:[7647]
l-wx------ 1 kyle kyle 64 2010-02-24 11:33 5 -> pipe:[7647]
lr-x------ 1 kyle kyle 64 2010-02-24 11:33 6 -> pipe:[9270]
l-wx------ 1 kyle kyle 64 2010-02-24 11:33 7 -> pipe:[9270]
lr-x------ 1 kyle kyle 64 2010-02-24 11:33 8 -> pipe:[287422]
l-wx------ 1 kyle kyle 64 2010-02-24 11:33 9 -> pipe:[287422]
Notice that /dev/snd/controlC1 is now deleted, where it was not.
See attached strace log for what happens when the webcam is unplugged.