Comment 0 for bug 417778

Revision history for this message
Bernd Schubert (aakef) wrote :

I guess this is not a bug directly in xfce4-volumed, but somewhere else, but so far I don't know yet what happens exactly. Every time when my system is idle for some time and the display goes into suspend mode, xfce4-volumed will start to take 100% cpu. Definitely not what I want from an idle system...
From top output with threading enabled I see e.g.

Tasks: 490 total, 4 running, 400 sleeping, 0 stopped, 86 zombie
Cpu(s): 26.1%us, 31.5%sy, 0.0%ni, 42.2%id, 0.2%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 3927536k total, 1927212k used, 2000324k free, 94156k buffers
Swap: 4192924k total, 0k used, 4192924k free, 794384k cached

  PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
 5367 bernd 20 0 477m 7692 4508 R 99.6 0.2 53:17.69 xfce4-volumed

(without threading support the shown pid is 5353, so parent parent pid).

strace -p 5367:
poll([{fd=9, events=POLLIN|POLLERR|POLLNVAL}, {fd=7, events=POLLIN|POLLPRI|POLLERR|POLLHUP}], 2, -1) = 1 ([{fd=9, revents=POLLERR|POLLNVAL}])
poll([{fd=9, events=POLLIN|POLLERR|POLLNVAL}, {fd=7, events=POLLIN|POLLPRI|POLLERR|POLLHUP}], 2, -1) = 1 ([{fd=9, revents=POLLERR|POLLNVAL}])

bernd@bathl ~>ll /proc/5367/fd
total 0
lr-x------ 1 bernd users 64 2009-08-23 19:00 0 -> /dev/null
l-wx------ 1 bernd users 64 2009-08-23 19:00 1 -> /dev/null
lr-x------ 1 bernd users 64 2009-08-23 19:00 10 -> pipe:[15861]
l-wx------ 1 bernd users 64 2009-08-23 19:00 11 -> pipe:[15861]
lrwx------ 1 bernd users 64 2009-08-23 19:00 12 -> /dev/snd/controlC2
lr-x------ 1 bernd users 64 2009-08-23 19:00 13 -> pipe:[15868]
l-wx------ 1 bernd users 64 2009-08-23 19:00 14 -> pipe:[15868]
lrwx------ 1 bernd users 64 2009-08-23 19:00 15 -> socket:[15872]
lr-x------ 1 bernd users 64 2009-08-23 19:00 16 -> pipe:[15874]
l-wx------ 1 bernd users 64 2009-08-23 19:00 17 -> pipe:[15874]
lrwx------ 1 bernd users 64 2009-08-23 19:00 18 -> socket:[15878]
lr-x------ 1 bernd users 64 2009-08-23 19:00 19 -> pipe:[15886]
l-wx------ 1 bernd users 64 2009-08-23 19:00 2 -> /dev/null
l-wx------ 1 bernd users 64 2009-08-23 19:00 20 -> pipe:[15886]
lrwx------ 1 bernd users 64 2009-08-23 19:00 21 -> socket:[15891]
lr-x------ 1 bernd users 64 2009-08-23 19:00 22 -> pipe:[15893]
l-wx------ 1 bernd users 64 2009-08-23 19:00 23 -> pipe:[15893]
lrwx------ 1 bernd users 64 2009-08-23 19:00 24 -> socket:[15897]
lrwx------ 1 bernd users 64 2009-08-23 19:00 3 -> socket:[15691]
lr-x------ 1 bernd users 64 2009-08-23 19:00 4 -> pipe:[15693]
l-wx------ 1 bernd users 64 2009-08-23 19:00 5 -> pipe:[15693]
lrwx------ 1 bernd users 64 2009-08-23 19:00 6 -> socket:[15694]
lr-x------ 1 bernd users 64 2009-08-23 19:00 7 -> pipe:[15860]
l-wx------ 1 bernd users 64 2009-08-23 19:00 8 -> pipe:[15860]
lrwx------ 1 bernd users 64 2009-08-23 19:00 9 -> /dev/snd/controlC1 (deleted)

Hrm, somehow /dev/snd/controlC1 was deleted, while the filedescriptor was still open. What could be responsible for that?