okay after about 20 reboots I got this to happen on my system with the latest
dbus and consolekit.
It looks like we're hitting *another* bug by being the first user to use
ConsoleKit.
There's one thing that looks suspicious in the ConsoleKit code. We take a name
on the bus before we register a handler for the call GDM is making.
So the race could be something like:
1) GDM calls OpenSessionWithParameters
2) d-bus notices consolekit isn't running and starts it
3) consolekit starts up and takes a name on the bus
4) consolekit registers handlers for the methods it supports
5) consolekit enters its event loop to process events
When the d-bus daemon notices ConsoleKit has taken a name (step 3) it delivers
the pending gdm call. If that happens before step 4 then it could explain this
behavior.
Downstream report is here:
https:/ /bugzilla. redhat. com/show_ bug.cgi? id=545267
Relevant quote:
okay after about 20 reboots I got this to happen on my system with the latest
dbus and consolekit.
It looks like we're hitting *another* bug by being the first user to use
ConsoleKit.
There's one thing that looks suspicious in the ConsoleKit code. We take a name
on the bus before we register a handler for the call GDM is making.
So the race could be something like:
1) GDM calls OpenSessionWith Parameters
2) d-bus notices consolekit isn't running and starts it
3) consolekit starts up and takes a name on the bus
4) consolekit registers handlers for the methods it supports
5) consolekit enters its event loop to process events
When the d-bus daemon notices ConsoleKit has taken a name (step 3) it delivers
the pending gdm call. If that happens before step 4 then it could explain this
behavior.