Bug 638809

Summary: system-config-keyboard breaks xorg when an xorg.conf is already present
Product: [Fedora] Fedora Reporter: Heldwin <heldwin_>
Component: system-config-keyboardAssignee: Lubomir Rintel <lkundrak>
Status: CLOSED WONTFIX QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: low    
Version: 15CC: a.badger, athmanem, heldwin_, keke, lkundrak, robatino
Target Milestone: ---Keywords: Reopened
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2012-08-07 16:14:49 EDT Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Description Heldwin 2010-09-29 21:50:05 EDT
Description of problem:
system-config-keyboard breaks xorg in virtualbox (3.2.8) when using Guest Addition.

Version-Release number of selected component (if applicable):
system-config-keyboard-1.3.1-1.fc12.i686

How reproducible:
Always
, , 

Steps to Reproduce:
1. Install F13 as a VM in VirtualBox
2. Install the VBoxLinuxAddition
3. Change the keyboard using system-config-keyboard
4. Reboot
  
Actual results:
System doesn't boot in runlevel 5

Expected results:
System boot in runlevel 5

Additional info:

In Xorg.0.log:

Parse error on line 6 of section ServerLayout in file /etc/X11/xorg.conf
This section must have an Identifier line.
(EE) Problem parsing the config file
(EE) Error parsing the config file

error:
no screens found
-------------------------------------------------------------------------

In xorg.conf, after using system-config-keyboard:

# This configuration file was broken by system-config-keyboard

Section "ServerLayout"
        InputDevice    "Keyboard0" "CoreKeyboard"
EndSection

[...]
-------------------------------------------------------------------------

Message when switching 2 times keyboard:

Loading /lib/kbd/keymaps/i386/qwertz/fr_CH.map.gz
Parse error on line 6 of section ServerLayout in file /etc/X11/xorg.conf
	This section must have an Identifier line.
Traceback (most recent call last):
  File "/usr/share/system-config-keyboard/system-config-keyboard.py", line 68, in <module>
    useCliMode(kbdtype, help)
  File "/usr/share/system-config-keyboard/system-config-keyboard.py", line 50, in useCliMode
    app = keyboard_cli.childWindow(kbdtype, help)
  File "/usr/share/system-config-keyboard/keyboard_cli.py", line 70, in __init__
    keyboardBackend.modifyXconfig(fullname, layout, model, variant, options)
  File "/usr/share/system-config-keyboard/keyboard_backend.py", line 39, in modifyXconfig
    xconfig.comment = "\n# This configuration file was broken by system-config-keyboard\n"
AttributeError: 'NoneType' object has no attribute 'comment'
Comment 1 Heldwin 2010-09-29 21:53:40 EDT
By removing the Section Server Layout, it is possible to boot in runlevel 5
Comment 2 Heldwin 2010-09-29 22:06:48 EDT
Or by adding the missing parts in xorg.conf:

Section "ServerLayout"
        Identifier     "Main Layout"
        Screen         "Screen[0]" 0 0
        InputDevice    "Keyboard0" "CoreKeyboard"
EndSection

[...]
Comment 3 Bug Zapper 2011-05-31 08:17:11 EDT
This message is a reminder that Fedora 13 is nearing its end of life.
Approximately 30 (thirty) days from now Fedora will stop maintaining
and issuing updates for Fedora 13.  It is Fedora's policy to close all
bug reports from releases that are no longer maintained.  At that time
this bug will be closed as WONTFIX if it remains open with a Fedora 
'version' of '13'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version' 
to a later Fedora version prior to Fedora 13's end of life.

Bug Reporter: Thank you for reporting this issue and we are sorry that 
we may not be able to fix it before Fedora 13 is end of life.  If you 
would still like to see this bug fixed and are able to reproduce it 
against a later version of Fedora please change the 'version' of this 
bug to the applicable version.  If you are unable to change the version, 
please add a comment here and someone will do it for you.

Although we aim to fix as many bugs as possible during every release's 
lifetime, sometimes those efforts are overtaken by events.  Often a 
more recent Fedora release includes newer upstream software that fixes 
bugs or makes them obsolete.

The process we are following is described here: 
http://fedoraproject.org/wiki/BugZappers/HouseKeeping
Comment 4 Andre Robatino 2011-06-22 01:50:44 EDT
Just saw this with the latest Bodhi updates-testing packages for F13, F14, and F15, using VirtualBox 4.0.8. Simply running system-config-keyboard and hitting "OK" causes this explicitly broken xorg.conf file to be generated. My question is, if s-c-k knows it's breaking xorg.conf ("# This configuration file was broken by system-config-keyboard"), why doesn't it at least make a backup?

The Version can be changed to 15, since it happens there as well as on 13 and 14.
Comment 5 Andre Robatino 2011-06-22 01:52:40 EDT
BTW, the cleanest way to recover this is to just remove/move xorg.conf and reinstall the VirtualBox guest additions to recreate the file. But whatever changes were made by s-c-k will be lost.
Comment 6 Toshio Ernie Kuratomi 2011-06-22 11:03:36 EDT
Just tested on F14 bare metal.  I can confirm that this is not happening there.  system-config-keyboard is only creating /etc/X11/xorg.conf.d/00-system-setup-keyboard.conf there and that file only has an InputClass section.
Comment 7 Andre Robatino 2011-06-22 16:02:35 EDT
Tested on bare metal on a machine with an nVidia video card using the Rpmfusion driver. If xorg.conf does not already exist, it does not get created. If it does exist, system-config-keyboard modifies it. If the xorg.conf is generated by the Rpmfusion driver, it gets broken similarly to the one generated by VirtualBox (there is a header line "# This configuration file was broken by system-config-keyboard"). If it is generated using "Xorg :1 -configure" followed by "cp /root/xorg.conf.new /etc/X11/xorg.conf", it does not seem to be broken, at least according to s-c-k (there is no header line "# This configuration file was broken by system-config-keyboard"). I have not checked to see if X actually boots in this case.

So the problem seems to be that if xorg.conf already exists, it gets modified, and in at least 2 common cases, it gets broken with s-c-k being aware of the fact but not making a backup or notifying the user when this is happening (so one only finds that it is broken when starting X the next time, and troubleshooting the problem).
Comment 8 Athmane Madjoudj 2011-06-22 16:51:01 EDT
I confirm that this only affect system with xorg.conf (not default eg: VBox/VMware with guest addition, hosts with proprietary drivers), system-config-keyboard by default generate config in: xorg.conf.d/00-system-setup-keyboard.conf

It can be also related to X config parser: pyxf86config

Refs.:

keyboard_backend.py line 33
Comment 9 Bug Zapper 2011-06-28 08:09:38 EDT
Fedora 13 changed to end-of-life (EOL) status on 2011-06-25. Fedora 13 is 
no longer maintained, which means that it will not receive any further 
security or bug fix updates. As a result we are closing this bug.

If you can reproduce this bug against a currently maintained version of 
Fedora please feel free to reopen this bug against that version.

Thank you for reporting this bug and we are sorry it could not be fixed.
Comment 10 Andre Robatino 2011-06-28 08:12:28 EDT
Can the original reporter or the maintainer reopen this against F15 (since the problem still exists there)?
Comment 11 Fedora End Of Life 2012-08-07 16:14:51 EDT
This message is a notice that Fedora 15 is now at end of life. Fedora
has stopped maintaining and issuing updates for Fedora 15. It is
Fedora's policy to close all bug reports from releases that are no
longer maintained. At this time, all open bugs with a Fedora 'version'
of '15' have been closed as WONTFIX.

(Please note: Our normal process is to give advanced warning of this
occurring, but we forgot to do that. A thousand apologies.)

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, feel free to reopen
this bug and simply change the 'version' to a later Fedora version.

Bug Reporter: Thank you for reporting this issue and we are sorry that
we were unable to fix it before Fedora 15 reached end of life. If you
would still like to see this bug fixed and are able to reproduce it
against a later version of Fedora, you are encouraged to click on
"Clone This Bug" (top right of this page) and open it against that
version of Fedora.

Although we aim to fix as many bugs as possible during every release's
lifetime, sometimes those efforts are overtaken by events. Often a
more recent Fedora release includes newer upstream software that fixes
bugs or makes them obsolete.

The process we are following is described here:
http://fedoraproject.org/wiki/BugZappers/HouseKeeping