Bug 1069963

Summary: show-clock=true option turns lightdm-gtk-1.8.1-1.fc21 into a CPU eating monster
Product: [Fedora] Fedora Reporter: Michal Jaegermann <michal>
Component: lightdm-gtkAssignee: Rex Dieter <rdieter>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: christoph.wickert, dan.mashal, gregor, rdieter
Target Milestone: ---Keywords: Triaged
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2014-03-15 17:02:03 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Michal Jaegermann 2014-02-26 00:58:29 UTC
Description of problem:

After the latest upgrade lightdm-gtk-greeter started to hit heavily on CPU.  On otherwise idle system 'top' shows it consistently around 36 - 40 percent of CPU.  stracing this process reveals that it sits in a tight loop doing over and over again this:

stat("/etc/localtime", {st_mode=S_IFREG|0644, st_size=2388, ...}) = 0
recvmsg(7, 0x7fff9c568a00, 0)           = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=6, events=POLLIN}, {fd=7, events=POLLIN}, {fd=12, events=POLLIN}, {fd=4, events=POLLIN}], 4, 0) = 0 (Timeout)
recvmsg(7, 0x7fff9c567d00, 0)           = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=7, events=POLLIN|POLLOUT}], 1, 4294967295) = 1 ([{fd=7, revents=POLLOUT}])
writev(7, [{"\22\0\16\0 \0\200\0T\1\0\0\6\0\0\0 \30\4\0\10\0\0\0\7\0\0\0\0\0\0\0"..., 500}, {NULL, 0}, {"", 0}], 3) = 500
poll([{fd=7, events=POLLIN}], 1, 4294967295) = 1 ([{fd=7, revents=POLLIN}])
recvmsg(7, {msg_name(0)=NULL, msg_iov(1)=[{"\34\0\207c \0\200\0T\1\0\0\327\r\3\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 4096}], msg_controllen=0, msg_flags=0}, 0) = 96
recvmsg(7, 0x7fff9c5683b0, 0)           = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=6, events=POLLIN}, {fd=7, events=POLLIN}, {fd=12, events=POLLIN}, {fd=4, events=POLLIN}], 4, 0) = 0 (Timeout)
recvmsg(7, 0x7fff9c5688d0, 0)           = -1 EAGAIN (Resource temporarily unavailable)
recvmsg(7, 0x7fff9c568a00, 0)           = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=6, events=POLLIN}, {fd=7, events=POLLIN}, {fd=12, events=POLLIN}, {fd=4, events=POLLIN}], 4, 63) = 0 (Timeout)
stat("/etc/localtime", {st_mode=S_IFREG|0644, st_size=2388, ...}) = 0

It turns out that 'show-clock=true' option in lightdm-gtk-greeter.conf triggers the above.  Turning it off restores sanity.  OTOH downgrading to
lightdm-gtk-1.6.1-3.fc21.x86_64 also kills fireworks even with 'show-clock=true' turned on.

Version-Release number of selected component (if applicable):
lightdm-gtk-1.8.1-1.fc21

How reproducible:
always

Additional info:
lightdm-gtk-1.6.1-3.fc20, as used by Fedora 20, also does not have any issues with showing a clock

Comment 1 Rex Dieter 2014-02-26 16:28:48 UTC
Triaging, updated $SUBJECT accordingly

Comment 2 Michal Jaegermann 2014-03-15 17:02:03 UTC
An update to lightdm-gtk-1.8.2-1.fc21 apparently solved that problem.  With 'show-clock=true' and 'clock-format=...' other than a default in lightdm-gtk-greeter.conf lightdm related processes look as quiet as expected.  Not that this update is devoid of any surprises (see bug 1076844 even if that one looks, so far, more of cosmetics).