Bug 623802 - another possibility of Xorg at 100% CPU
Summary: another possibility of Xorg at 100% CPU
Keywords:
Status: CLOSED UPSTREAM
Alias: None
Product: Fedora
Classification: Fedora
Component: systemd
Version: 14
Hardware: All
OS: Linux
low
medium
Target Milestone: ---
Assignee: Lennart Poettering
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2010-08-12 19:41 UTC by Michal Schmidt
Modified: 2010-08-14 17:35 UTC (History)
4 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2010-08-14 17:35:41 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description Michal Schmidt 2010-08-12 19:41:20 UTC
Description of problem:
I can reproduce a situation with symptoms similar to bug 619889 - Xorg spinning with 100% CPU usage and impossible to do a VT switch.
The problem does not happen in the default installation, but it will appear as soon as someone's /etc/rc.local takes more than a few seconds to execute.

Version-Release number of selected component (if applicable):
systemd-7-3.fc14

How reproducible:
reliably

Steps to Reproduce:
1. Put "sleep 10" into your /etc/rc.local to simulate work on startup.
2. Reboot into graphical.target
  
Actual results:
Xorg is spinning, repeatedly calling "ioctl(6, TCFLSH, 0x2)" and failing with EIO. VT switching does not work.

Expected results:
Idle system, working VT switching.

Additional info:
/lib/systemd/system/rc-local.service has:
StandardInput=tty
When the line is commented out, the problem goes away.
Though I'm not sure what expectations people have about the usability of a terminal in their rc.local scripts.

Comment 1 Bill Nottingham 2010-08-12 20:05:23 UTC
c.f. https://bugzilla.redhat.com/show_bug.cgi?id=623561#c5 ?

Comment 2 Michal Schmidt 2010-08-12 22:15:06 UTC
(In reply to comment #1)
> c.f. https://bugzilla.redhat.com/show_bug.cgi?id=623561#c5 ?    

Yes, starting prefdm.service after rc-local.service would solve it too. (Note that rc-local.service does not currently have "Type=finish" which would be necessary for this synchronization to work.)

On the other hand, it would also decrease the amount of parallelism. Currently it's possible for Xorg to be running while many daemons are not yet started.

Comment 3 Bill Nottingham 2010-08-13 00:36:21 UTC
Yes, but we need to make sure that our gdm/gnome/etc setup is ready for 'early' startup in this manner before we enable that.

Comment 4 Lennart Poettering 2010-08-14 17:35:13 UTC
Bill, I think there's only one way to find out whether we are ready for early start-up: trying it out. Thus I'll now drop the console requirement of local.service and we'll see what happens. It should be easy to revert this back shortly before F14 is released if people complain too loud if local.service does not take input or when gnome breaks.

Comment 5 Lennart Poettering 2010-08-14 17:35:41 UTC
Fixed now upstream.


Note You need to log in before you can comment on or make changes to this bug.