Bug 104993

Summary: X server aborts when Composite extension is disabled
Product: xorg Reporter: Michal Srb <michalsrb>
Component: Server/Ext/GLXAssignee: Xorg Project Team <xorg-team>
Status: RESOLVED FIXED QA Contact: Xorg Project Team <xorg-team>
Severity: normal    
Priority: medium CC: edman007, mrmazda
Version: git   
Hardware: Other   
OS: All   
Whiteboard:
i915 platform: i915 features:
Attachments:
Description Flags
Backtrace of the abort. none

Description Michal Srb 2018-02-07 13:15:19 UTC
Created attachment 137216 [details]
Backtrace of the abort.

Since commit f84e59a4f474d22860bac8aec2947798a86db69b "glx: Duplicate relevant fbconfigs for compositing visuals" the X server aborts if the Composite extension is disabled.

Abort message:
  X: ../include/privates.h:122: dixGetPrivateAddr: Assertion `key->initialized'
  failed.

Backtrace attached.

The `pickFBConfig` function calls `compIsAlternateVisual` which tries to get the `CompScreenPtr` of the screen using the `CompScreenPrivateKey`, but that key was never initialized because the Composite extension is disabled.

One solution that comes to mind is to wrap all the calls from GLX code to Composite code in `if (!noCompositeExtension) { ... }` blocks, but I am not sure if that is the best solution.
Comment 1 Felix Miata 2018-04-05 04:30:48 UTC
Server 1.19.6 aborts in Debian Buster with kernel 4.15.11 if /etc/X11/xorg.conf includes:

		Option "Composite" "Disable"
Comment 2 Felix Miata 2018-04-05 08:18:03 UTC
Comment 1 is with i915G video.

Server 1.19.6 aborts in Fedora 28 beta with HD5450 Radeon if /etc/X11/xorg.conf includes:

		Option "Composite" "Disable"
Comment 3 Michal Srb 2018-04-20 08:18:53 UTC
The patch was merged, this bug is fixed.
Comment 4 Michel Dänzer 2018-04-25 08:26:28 UTC
*** Bug 106226 has been marked as a duplicate of this bug. ***

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.