Comment 13 for bug 8678

Revision history for this message
Matt Zimmerman (mdz) wrote :

mdz@potpal:~ $ ps ux | grep settings
mdz 7885 0.0 3.2 17692 8384 ? S 02:51 0:00
/usr/lib/control-center/gnome-settings-daemon
--oaf-activate-iid=OAFIID:GNOME_SettingsDaemon --oaf-ior-fd=22
mdz 7494 0.0 3.2 17692 8384 ? S 02:51 0:00
/usr/lib/control-center/gnome-settings-daemon
--oaf-activate-iid=OAFIID:GNOME_SettingsDaemon --oaf-ior-fd=22
mdz 8315 0.0 0.1 1532 452 pts/0 S+ 03:01 0:00 grep settings
mdz@potpal:~ $ strace -p 7494
Process 7494 attached - interrupt to quit
waitpid(7885, <unfinished ...>
Process 7494 detached
mdz@potpal:~ $ strace -p 7885
Process 7885 attached - interrupt to quit
write(33, "\21\0\0\0\316\36\0\0\0\2\0\0", 12 <unfinished ...>
Process 7885 detached
mdz@potpal:~ $ ls -l /proc/7885/fd/33
l-wx------ 1 mdz mdz 64 Oct 2 02:58 /proc/7885/fd/33 ->
pipe:[22088]
mdz@potpal:~ $ ls -l /proc/*/fd/* | grep 22088
ls: /proc/8319/fd/255: No such file or directory
ls: /proc/8319/fd/3: No such file or directory
ls: /proc/self/fd/255: No such file or directory
ls: /proc/self/fd/3: No such file or directory
lr-x------ 1 mdz mdz 64 Oct 2 02:58 /proc/7494/fd/31 ->
pipe:[22088]
l-wx------ 1 mdz mdz 64 Oct 2 02:58 /proc/7494/fd/33 ->
pipe:[22088]
lr-x------ 1 mdz mdz 64 Oct 2 02:58 /proc/7885/fd/31 ->
pipe:[22088]
l-wx------ 1 mdz mdz 64 Oct 2 02:58 /proc/7885/fd/33 ->
pipe:[22088]
mdz@potpal:~ $

In other words:

- There are two gnome-settings-daemon processes, one of which has been forked by
the other.
- There is a pipe open between the two processes
- It appears that both processes have both ends of the pipe open, which is
wrong, but perhaps unrelated
- The child is blocked writing to the pipe
- The parent is blocked in waitpid()
- Therefore the two processes are deadlocked

I have no idea what any of this has to do with sound, but I can reproduce the
problem with:

1. Log out of GNOME
2. lsmod | grep '^snd' | awk '{ print $1 }' | xargs -n1 sudo rmmod
3. Log into GNOME

I get the splash screen with 0 icons on it, and this odd pair of wedged
gnome-settings-daemon processes.