Bug 99311

Summary: [regression,bisected,core] Commit 8b5749f65ac434961308ccb579fb8a816e4f29d5 breaks SDDM (white screen on launch)
Product: Mesa Reporter: Kai <kai>
Component: Mesa coreAssignee: mesa-dev
Status: VERIFIED FIXED QA Contact: mesa-dev
Severity: major    
Priority: medium CC: kenneth
Version: gitKeywords: bisected, regression
Hardware: x86-64 (AMD64)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:

Description Kai 2017-01-07 17:32:50 UTC
Somewhere between c93efb0a4f and 1edc53a66b a regression was introduced, causing SDDM launching into a pure white screen instead of the login screen. There's nothing logged to either /var/log/Xorg.0.log or /var/log/sddm.log and dmesg is also clear. Downgrading to c93efb0a4f lets me login again.

I have not bisected yet, but maybe this information is already enough to find the cause. For the full stack affected by this regression, please see below.

GPU: Hawaii PRO [Radeon R9 290] (ChipID = 0x67b1)
Mesa: Git:master/1edc53a66b + the modified version of attachment 127812 [details] [review]
libdrm: 2.4.74-1
LLVM: SVN:trunk/r291276 (4.0 devel) + <https://reviews.llvm.org/D26348?download=true>
X.Org: 2:1.19.0-3
Linux: 4.9.1
Firmware: 20161130-2
libclc: Git:master/b906699f68
DDX (amdgpu): 1.2.0-1+b1

Let me know, if you need anything else (besides a bisect).
Comment 1 Kai 2017-01-07 21:56:26 UTC
Ok, I finished the bisection:
8b5749f65ac434961308ccb579fb8a816e4f29d5 is the first bad commit
commit 8b5749f65ac434961308ccb579fb8a816e4f29d5
Author: Kenneth Graunke <kenneth@whitecape.org>
Date:   Sun Nov 15 04:37:50 2015 -0800

    glsl: Override the # of varying slots for ClipDistance and TessLevel*.
    
    Right now, this shouldn't have any effect, as all drivers use
    LowerClipDist and LowerTessFactors to turn the float[] arrays into
    vectors.
    
    However, it should help make it possible for drivers to avoid that
    lowering.
    
    Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
    Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
    Reviewed-by: Timothy Arceri <timothy.arceri@collabora.com>

:040000 040000 1b29c9a54c33c8809e38f8fd99ea7dbb1935107e 5900d84fdc8d64a53dae3b7c4ac01be73b31c614 M      src

The bisection log is:
# bad: [1edc53a66b33e4d17688a3d03b1bdffed2aec414] glsl: fix opt_minmax redundancy checks against baserange
# good: [c93efb0a4fd7dba8390e066605fe5f4c3e26e767] swr: [rasterizer core] rename OutputMerger functions
git bisect start '1edc53a66b' 'c93efb0a4f'
# good: [6e7ce1ef55b138ed2cdedb40cbc010b523de8743] gallivm: generalize 4x4f->1x16ub special case conversion
git bisect good 6e7ce1ef55b138ed2cdedb40cbc010b523de8743
# bad: [e6ae19944d977dc91bc45adff679337182c20683] i965: Rework gl_TessLevel*[] handling to use NIR compact arrays.
git bisect bad e6ae19944d977dc91bc45adff679337182c20683
# bad: [5c580e64cc206ab160e1767c42e4d6c81f67da4d] glsl: Mark whole variable used for ClipDistance and TessLevel*.
git bisect bad 5c580e64cc206ab160e1767c42e4d6c81f67da4d
# good: [aead6a1e947af84b0af2853c204d5cad6d92bfff] gallium/radeon: use the internal clear_buffer callback to fix r600g
git bisect good aead6a1e947af84b0af2853c204d5cad6d92bfff
# bad: [8b5749f65ac434961308ccb579fb8a816e4f29d5] glsl: Override the # of varying slots for ClipDistance and TessLevel*.
git bisect bad 8b5749f65ac434961308ccb579fb8a816e4f29d5
# good: [6aa5cb34d03765b7be8611aa516bc201bd337f73] glsl: Create and use a new ir_variable::count_attribute_slots() wrapper.
git bisect good 6aa5cb34d03765b7be8611aa516bc201bd337f73
# first bad commit: [8b5749f65ac434961308ccb579fb8a816e4f29d5] glsl: Override the # of varying slots for ClipDistance and TessLevel*.

I verified this is really the first bad commit by building 1edc53a66b with 8b5749f65a reverted and that gave me a working SDDM again.
Comment 2 Kenneth Graunke 2017-01-07 23:20:07 UTC
Patches reverted, reopen if things are still broken.  Sorry for the trouble.
Comment 3 Kai 2017-01-08 11:26:20 UTC
(In reply to Kenneth Graunke from comment #2)
> Patches reverted, reopen if things are still broken.  Sorry for the trouble.

Thanks for the quick revert! I can confirm, that a build of faa1edeeb7bbe9321c79587e592dce812e8caa78 (which includes the reverting commit) is fine again.

And no worries: this is why this is a development version. Breakage can happen.

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.