Bug 96344

Summary: X locks up on start since commit e8b38ca202fbe8c28
Product: xorg Reporter: EoD <EoD>
Component: Server/Acceleration/glamorAssignee: Xorg Project Team <xorg-team>
Status: RESOLVED FIXED QA Contact: Xorg Project Team <xorg-team>
Severity: major    
Priority: medium CC: plamena.manolova, vedran
Version: git   
Hardware: Other   
OS: All   
Whiteboard:
i915 platform: i915 features:

Description EoD 2016-06-02 21:26:17 UTC
My X-server (soft-)locks up after commit e8b38ca202fbe8c28. I used startx to start the server.

X.Org X Server 1.17.4
Release Date: 2015-10-28
X Protocol Version 11, Revision 0
Build Operating System: Linux 4.6.0-gentoo x86_64 Gentoo
Current Operating System: Linux 4.6.0-gentoo #1 SMP Fri May 20 11:29:35 CEST 2016 x86_64
Kernel command line: BOOT_IMAGE=/boot/vmlinuz-4.6.0-gentoo root=/dev/sda3 ro loglevel=4
Build Date: 02 June 2016  08:03:28PM

Current version of pixman: 0.32.8
        Before reporting problems, check http://wiki.x.org
        to make sure that you have the latest version.
Markers: (--) probed, (**) from config file, (==) default setting,
        (++) from command line, (!!) notice, (II) informational,
        (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
(==) Log file: "/var/log/Xorg.0.log", Time: Thu Jun  2 22:49:56 2016
(==) Using config directory: "/etc/X11/xorg.conf.d"
(==) Using system config directory "/usr/share/X11/xorg.conf.d"
(II) [KMS] Kernel modesetting enabled.
Require Open GLES2.0 or later.
X: /usr/include/xorg/privates.h:122: dixGetPrivateAddr: Assertion `key->initialized' failed.
xinit: giving up
xinit: unable to connect to X server: Connection refused
xinit: server error
Couldn't get a file descriptor referring to the console


After bisecting, the following commits seems to be the cause:

e8b38ca202fbe8c281aeb81a4b64256983f185e0 is the first bad commit
commit e8b38ca202fbe8c281aeb81a4b64256983f185e0
Author: Plamena Manolova <plamena.manolova@intel.com>
Date:   Tue May 31 17:32:38 2016 +0100

    egl: Check if API is supported when using eglBindAPI.

    According to the EGL specifications before binding an API
    we must check whether it's supported first. If not eglBindAPI
    should return EGL_FALSE and generate a EGL_BAD_PARAMETER error.

    Signed-off-by: Plamena Manolova <plamena.manolova@intel.com>
    Reviewed-by: Brian Paul <brianp@vmware.com>


I have two dGPUs in my system:
01:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Tonga XT / Amethyst XT [Radeon R9 380X / R9 M295X Mac Edition] [1002:6938] (rev f1)
02:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Barts XT [Radeon HD 6870] [1002:6738]

If you need any more specific information, just let me know.
Comment 1 Michel Dänzer 2016-06-03 01:26:57 UTC
https://patchwork.freedesktop.org/patch/91214/ fixes this for me.
Comment 2 EoD 2016-06-03 07:54:31 UTC
(In reply to Michel Dänzer from comment #1)
> https://patchwork.freedesktop.org/patch/91214/ fixes this for me.

I can confirm that this patch fixes the lock up for me. I applied the patch on top of my X server 1.17.4.
Comment 3 Vedran Miletić 2016-06-03 09:10:30 UTC
(In reply to Michel Dänzer from comment #1)
> https://patchwork.freedesktop.org/patch/91214/ fixes this for me.

Applied on Fedora 24 x86_64 xorg-x11-server 1.18.3, fixes the issue as well.
Comment 4 Michel Dänzer 2016-06-09 01:05:15 UTC
Fixed with Mesa commit 8c361e84 ('Revert "egl: Check if API is supported when using eglBindAPI."') or xserver commit d798b831 ('glamor: Call eglBindAPI after eglInitialize').

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.