I think it is a race condition made worse with slow file systems.
It seems that by stracing /usr/lib/gdm/gdm-session-worker (with -fp option) the error always happens. Here is the strace result.
I can't work out why these various system calls are all "unfinished". (I know what it means, but did the calls ever finished? And yet the .ICEauthority-c was eventually made.
Below is strace of a session that failed, grep'd for .ICEauthority
Code:
[pid 3624] stat64("/home/anne/.ICEauthority-c", <unfinished ...>
[pid 3624] creat("/home/anne/.ICEauthority-c", 0666 <unfinished ...>
[pid 3624] link("/home/anne/.ICEauthority-c", "/home/anne/.ICEauthority-l" <unfinished ...>
[pid 3624] open("/home/anne/.ICEauthority", O_RDWR <unfinished ...>
[pid 3624] access("/home/anne/.ICEauthority", F_OK <unfinished ...>
[pid 3624] unlink("/home/anne/.ICEauthority-c" <unfinished ...>
[pid 3624] unlink("/home/anne/.ICEauthority-l" <unfinished ...>
^C was hit on the strace -fp after the error about failing /ICEauthority was shown.
Bookmarks