We got an report upstream from Canonical about GDM not working properly for some of their users. It would never show a login screen for those users.
I spent a few hours debugging the issue with them and determined GDMs "watchdog" handling code (which kills ck-history after a timeout) is missing a line of code to zero out its process id after killing the process. This missing line prevents GDM from working properly.
This is probably a blocker issue because it means that after months of accumulated use (when the history file gets big) GDM will just stop working.
I've fixed this upstream here:
and got confirmation from several Ubuntu users hit by the issue that the fix works for them.
Artificially reproducing the problem is fairly straight forward:
1) Replace ck-history with a thin shell script wrapper that adds an artificial delay
# mv /usr/bin/ck-history /usr/bin/ck-history.binary
cat > /usr/bin/ck-history << EOF
exec /usr/bin/ck-history.binary "$@"
chmod +x /usr/bin/ck-history
At this point the GDM greeter will never load
This is building now.
tested using instructions above .. gdm shows user list even after 5 second delay
gdm-2.30.4-21.el6 tested from latest build
Red Hat Enterprise Linux 6.0 is now available and should resolve
the problem described in this bug report. This report is therefore being closed
with a resolution of CURRENTRELEASE. You may reopen this bug report if the
solution does not work for you.