Bug 95463

Summary: [SNA HSW] QuakeForge (SDL 1.2) changing resolution crashes Xorg
Product: xorg Reporter: Matti Hämäläinen <ccr>
Component: Driver/intelAssignee: Chris Wilson <chris>
Status: RESOLVED FIXED QA Contact: Intel GFX Bugs mailing list <intel-gfx-bugs>
Severity: normal    
Priority: medium    
Version: unspecified   
Hardware: x86-64 (AMD64)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:
Attachments:
Description Flags
Xorg log for the crash
none
Xorg core dump backtrace
none
DDX full debug log none

Description Matti Hämäläinen 2016-05-17 21:00:29 UTC
Created attachment 123842 [details]
Xorg log for the crash

Running "nq-sdl -mem 128 +set vid_width 1024 +set vid_height 768" crashes Xorg. If resolution is unchanged (e.g. native 1280x1024 for example), no crash.
Using latest git DDX.

Attaching gdb backtrace and Xorg.log

-- Window manager: WindowMaker 0.95.6+b1
-- chipset: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor Integrated Graphics Controller (rev 06)
-- system architecture: x86-64 / 64bit
-- xf86-video-intel: GIT head/master a508b11bde9f3119b49b3e0f652587efb9e037af
-- xserver: X.Org X Server 1.18.3-1
-- mesa: 11.2.2-1
-- libpixman: 0.33.6-1
-- libdrm version: 2.4.68-1
-- kernel version: 4.5.4-grsec
-- Linux distribution: current Debian Testing
-- Machine or mobo model: Asus H97M-PLUS, core i7-4770
-- Display connector: VGA
Comment 1 Matti Hämäläinen 2016-05-17 21:01:18 UTC
Created attachment 123843 [details]
Xorg core dump backtrace
Comment 2 Chris Wilson 2016-05-17 21:15:25 UTC
Sorry, I need a full-debug log for this one. Judging by the explanation and trace, I would say that we have a pending swap that isn't being cleared across the mode change. I need to dig out why it wasn't flushed - or find the right reason.
Comment 3 Matti Hämäläinen 2016-05-17 21:21:59 UTC
Created attachment 123845 [details]
DDX full debug log

As requested. :)
Comment 4 Matti Hämäläinen 2016-05-28 21:37:18 UTC
Apparently disabling TearFree causes this issue to disappear as well ..
Comment 5 Chris Wilson 2016-05-30 07:52:22 UTC
Looks the same assert as (should be) fixed by:

commit 46ffdf295d161a70459508ef0643d70af66ed990
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Sun May 22 18:31:50 2016 +0100

    sna/dri2: Avoid chaining swaps across a mode change
    
    If the pixmap on a drawable changes between swap events, just queue a
    normal vblank event rather than chaining up.
    
    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk

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.