Xorg should be way more resilient or at least print detailed information in presence of errors in configuration files

Bug #1244778 reported by Teo on 2013-10-25
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
xorg (Ubuntu)
Undecided
Unassigned

Bug Description

Basically the real issue is that whenever there's an error in some xorg configruation file, xorg fails to start, instead of trying to fallback to some minimal working settings and/or printing debuggable information about the error.
It's too fragile. By doing something wrong with some xorg configuration file, you may end up with a system that won't even boot and allow you to fix the error.

I'll delete the original description as it is not relevant. (I guess it can be seen anyway in the edit history)

See also
https://bugs.launchpad.net/ubuntu/+source/nvidia-graphics-drivers-304/+bug/1239472
which is a somehow related case (an error in some xorg config file rendering the whole system unusable, and no clue to the user about it)
---
.tmp.unity.support.test.0:

ApportVersion: 2.12.5-0ubuntu2.2
Architecture: amd64
CompizPlugins: No value set for `/apps/compiz-1/general/screen0/options/active_plugins'
CompositorRunning: compiz
CompositorUnredirectDriverBlacklist: '(nouveau|Intel).*Mesa 8.0'
CompositorUnredirectFSW: true
DistUpgraded: 2014-02-23 01:23:33,436 DEBUG enabling apt cron job
DistroCodename: saucy
DistroRelease: Ubuntu 13.10
DistroVariant: ubuntu
DkmsStatus:
 vboxhost, 4.3.2, 3.11.0-17-generic, x86_64: installed
 vboxhost, 4.3.2, 3.11.0-18-generic, x86_64: installed
 vboxhost, 4.3.2, 3.11.0-19-generic, x86_64: installed
 vboxhost, 4.3.2, 3.11.0-20-generic, x86_64: installed
 vboxhost, 4.3.2, 3.8.0-35-generic, x86_64: installed
ExtraDebuggingInterest: Yes, if not too technical
GraphicsCard:
 Intel Corporation 3rd Gen Core processor Graphics Controller [8086:0166] (rev 09) (prog-if 00 [VGA controller])
   Subsystem: Acer Incorporated [ALI] Device [1025:0647]
 NVIDIA Corporation GF117M [GeForce 610M/710M / GT 620M/625M/630M/720M] [10de:1140] (rev a1) (prog-if 00 [VGA controller])
   Subsystem: Acer Incorporated [ALI] GeForce 710M [1025:0691]
InstallationDate: Installed on 2013-10-11 (217 days ago)
InstallationMedia: Ubuntu 13.04 "Raring Ringtail" - Release amd64 (20130424)
MachineType: Acer Aspire V3-571G
MarkForUpload: True
Package: xorg 1:7.7+1ubuntu6
PackageArchitecture: amd64
ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-3.11.0-20-generic root=UUID=5830b30e-69e8-4bb4-8a2b-bc2b43c7414a ro quiet splash vt.handoff=7
ProcVersionSignature: Ubuntu 3.11.0-20.34-generic 3.11.10.6
Tags: saucy ubuntu compiz-0.9
Uname: Linux 3.11.0-20-generic x86_64
UpgradeStatus: Upgraded to saucy on 2014-02-23 (83 days ago)
UserGroups: adm cdrom dip lpadmin plugdev sambashare sudo vboxusers
dmi.bios.date: 10/15/2012
dmi.bios.vendor: Acer
dmi.bios.version: V2.07
dmi.board.asset.tag: Type2 - Board Asset Tag
dmi.board.name: VA50_HC_CR
dmi.board.vendor: Acer
dmi.board.version: Type2 - Board Version
dmi.chassis.type: 10
dmi.chassis.vendor: Acer
dmi.chassis.version: V2.07
dmi.modalias: dmi:bvnAcer:bvrV2.07:bd10/15/2012:svnAcer:pnAspireV3-571G:pvrV2.07:rvnAcer:rnVA50_HC_CR:rvrType2-BoardVersion:cvnAcer:ct10:cvrV2.07:
dmi.product.name: Aspire V3-571G
dmi.product.version: V2.07
dmi.sys.vendor: Acer
version.compiz: compiz 1:0.9.10+13.10.20131011-0ubuntu1
version.ia32-libs: ia32-libs N/A
version.libdrm2: libdrm2 2.4.46-1ubuntu1
version.libgl1-mesa-dri: libgl1-mesa-dri 9.2.1-1ubuntu3
version.libgl1-mesa-dri-experimental: libgl1-mesa-dri-experimental N/A
version.libgl1-mesa-glx: libgl1-mesa-glx 9.2.1-1ubuntu3
version.xserver-xorg-core: xserver-xorg-core 2:1.14.5-1ubuntu2~saucy1
version.xserver-xorg-input-evdev: xserver-xorg-input-evdev 1:2.7.3-0ubuntu3.1
version.xserver-xorg-video-ati: xserver-xorg-video-ati 1:7.2.0-0ubuntu10
version.xserver-xorg-video-intel: xserver-xorg-video-intel 2:2.99.904-0ubuntu2.1
version.xserver-xorg-video-nouveau: xserver-xorg-video-nouveau 1:1.0.9-2ubuntu1
xserver.bootTime: Fri May 16 15:53:10 2014
xserver.configfile: default
xserver.errors:
 Failed to load module "nvidia" (module does not exist, 0)
 Failed to load module "nvidia" (module does not exist, 0)
 NOUVEAU(G0): [XvMC] Failed to initialize extension.
xserver.logfile: /var/log/Xorg.0.log
xserver.outputs:
 product id 8940
 vendor AUO
xserver.version: 2:1.14.5-1ubuntu2~saucy1

Teo (teo1978) wrote :

Ok, the 52-something.conf file I had erroneously placed into /usr/share/X11/xorg.conf.d/ had _not_ disappeared and was what triggered the issue.

The real issue then is that Xorg is way too fragile and fails to do one or more of three very basic things if it encounters errors in some configuration file:
- print a sensible error message informing of which configuration file contains errors
- try to skip that file (after prompting the user whether to do so)
- fallback to some workable defaults if everything else fails

summary: - system won't boot: "couldn't write bytes: broken pipe"
+ Xorg should be more resilient or at least print detailed information in
+ presence of errors in configuration files
summary: - Xorg should be more resilient or at least print detailed information in
- presence of errors in configuration files
+ Xorg should be way more resilient or at least print detailed information
+ in presence of errors in configuration files
Teo (teo1978) on 2013-10-25
description: updated

Thank you for taking the time to report this bug and helping to make Ubuntu better. It seems that your bug report is not filed about a specific source package though, rather it is just filed against Ubuntu in general. It is important that bug reports be filed about source packages so that people interested in the package can find the bugs about it. You can find some hints about determining what package your bug might be about at https://wiki.ubuntu.com/Bugs/FindRightPackage. You might also ask for help in the #ubuntu-bugs irc channel on Freenode.

To change the source package that this bug is filed about visit https://bugs.launchpad.net/ubuntu/+bug/1244778/+editstatus and add the package name in the text box next to the word Package.

[This is an automated message. I apologize if it reached you inappropriately; please just reply to this message indicating so.]

tags: added: bot-comment
John Kim (kotux) wrote :

Thank you for taking the time to report this bug and helping to make Ubuntu better. Please execute the following command, as it will automatically gather debugging information, in a terminal:
apport-collect BUGNUMBER
When reporting bugs in the future please use apport by using 'ubuntu-bug' and the name of the package affected. You can learn more about this functionality at https://wiki.ubuntu.com/ReportingBugs.

Changed in ubuntu:
status: New → Opinion
affects: ubuntu → xorg (Ubuntu)
Changed in xorg (Ubuntu):
status: Opinion → Incomplete
Launchpad Janitor (janitor) wrote :

[Expired for xorg (Ubuntu) because there has been no activity for 60 days.]

Changed in xorg (Ubuntu):
status: Incomplete → Expired
Teo (teo1978) wrote : BootDmesg.txt

apport information

tags: added: apport-collected compiz-0.9 saucy ubuntu
description: updated
Teo (teo1978) wrote : BootLog.txt

apport information

apport information

apport information

Teo (teo1978) wrote : DpkgLog.txt

apport information

apport information

apport information

apport information

apport information

Teo (teo1978) wrote : LightdmLog.txt

apport information

Teo (teo1978) wrote : Lspci.txt

apport information

Teo (teo1978) wrote : Lsusb.txt

apport information

apport information

apport information

apport information

apport information

apport information

Teo (teo1978) wrote : UdevDb.txt

apport information

Teo (teo1978) wrote : UdevLog.txt

apport information

apport information

Teo (teo1978) wrote : XorgLog.txt

apport information

Teo (teo1978) wrote : XorgLogOld.txt

apport information

Teo (teo1978) wrote : Xrandr.txt

apport information

Teo (teo1978) wrote : xdpyinfo.txt

apport information

apport information

Changed in xorg (Ubuntu):
status: Expired → New
Teo (teo1978) wrote :

Ok so I have added the apport information, which is completely irrelevant to the issue, as anybody willing to read the issue description will notice.

To post a comment you must log in.