Summary: |
X server aborts when Composite extension is disabled |
Product: |
xorg
|
Reporter: |
Michal Srb <michalsrb> |
Component: |
Server/Ext/GLX | Assignee: |
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: |
|
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.
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.