Bug 623513

Summary: GDM fails to log in if ck-history is too slow
Product: Red Hat Enterprise Linux 6 Reporter: Ray Strode [halfline] <rstrode>
Component: gdmAssignee: Ray Strode [halfline] <rstrode>
Status: CLOSED CURRENTRELEASE QA Contact: desktop-bugs <desktop-bugs>
Severity: urgent Docs Contact:
Priority: urgent    
Version: 6.0CC: borgan, syeghiay, vbenes
Target Milestone: rc   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: gdm-2.30.4-21.el6 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2010-11-10 20:28:21 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Ray Strode [halfline] 2010-08-12 01:39:04 UTC
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:

http://git.gnome.org/browse/gdm/commit/?h=gnome-2-30&id=285d6dda3ee0439349cca22346efef3392d66d48

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
#!/bin/sh
sleep 5
exec /usr/bin/ck-history.binary "$@"
EOF
chmod +x /usr/bin/ck-history

2) Reboot

At this point the GDM greeter will never load

Comment 1 Ray Strode [halfline] 2010-08-12 17:08:15 UTC
This is building now.

Comment 2 Vladimir Benes 2010-08-16 14:39:49 UTC
tested using instructions above .. gdm shows user list even after 5 second delay
-> VERIFIED

Comment 3 Vladimir Benes 2010-08-16 14:40:58 UTC
gdm-2.30.4-21.el6 tested from latest build

Comment 4 releng-rhel@redhat.com 2010-11-10 20:28:21 UTC
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.