Bug 94982 - System lock up on OpenGL fullscreen
Summary: System lock up on OpenGL fullscreen
Status: CLOSED FIXED
Alias: None
Product: DRI
Classification: Unclassified
Component: DRM/Intel (show other bugs)
Version: XOrg git
Hardware: x86-64 (AMD64) Linux (All)
: medium major
Assignee: Intel GFX Bugs mailing list
QA Contact: Intel GFX Bugs mailing list
URL:
Whiteboard:
Keywords:
: 95066 (view as bug list)
Depends on:
Blocks:
 
Reported: 2016-04-17 18:04 UTC by Philipp Überbacher
Modified: 2017-07-24 22:42 UTC (History)
2 users (show)

See Also:
i915 platform:
i915 features:


Attachments
Xorg.0.log as requested (36.59 KB, text/plain)
2016-04-18 16:13 UTC, Philipp Überbacher
no flags Details
Xorg.0.log 2.99.917+631+gf2a4645 (28.73 KB, text/plain)
2016-04-18 16:26 UTC, Philipp Überbacher
no flags Details

Description Philipp Überbacher 2016-04-17 18:04:26 UTC
Steps to reproduce the issue:
Install an affected version.
Set any OpenGL output to fullscreen, e.g. mpv or a game.

How often does the steps listed above trigger the issue? always

The following information about your system:
    -- system architecture: x86_64
    -- kernel version: 4.5.0-1-ARCH
    -- driver version:
        xf86-video-intel-1:2.99.917+626+ga7526ea-1
        xf86-video-intel-1:2.99.917+631+gf2a4645-1
    -- Linux distribution: Arch Linux
    -- Machine or mother board model: Lenovo L520
    -- Display connector: Internal (LVDS1) and HDMI via docking station and DP converter

Reference: https://bugs.archlinux.org/task/48965
Comment 1 Chris Wilson 2016-04-17 18:09:21 UTC
Xorg.0.log? If using TearFree and DRI3, please apply

commit 29b70ccdf67ee7afa19bed26de8678476ba94f6e
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Sun Apr 17 15:02:46 2016 +0100

    sna/present: Fix requeuing after interrupting TearFree
Comment 2 Philipp Überbacher 2016-04-18 16:13:03 UTC
Created attachment 123028 [details]
Xorg.0.log as requested

I do use these options:
Section "Device"
   Identifier  "Intel Graphics"
	Driver      "intel"
	Option      "AccelMethod"  "glamor"
	Option      "DRI"    "3"
	Option      "TearFree"    "true"
EndSection

On my machine the error only occurs with: xf86-video-intel 1:2.99.917+626+ga7526ea-1
The newer driver did not show this behaviour for me, but reportedly for another Arch user (see report in the Arch tracker).
Comment 3 Philipp Überbacher 2016-04-18 16:26:02 UTC
Created attachment 123029 [details]
Xorg.0.log 2.99.917+631+gf2a4645

Correction: The bug happens with the newer driver as well, it just takes longer.
xf86-video-intel-1:2.99.917+626+ga7526ea-1 - almost immediately
xf86-video-intel-1:2.99.917+631+gf2a4645-1 - after about a minute
Comment 4 Chris Wilson 2016-04-18 19:54:11 UTC
What are the symptoms now? Can you log in remotely and check with top/perf to see if we are again spinning? Does it only happen with TearFree enabled?

What I fear may be possible is that we get into a situation where the vblank is postponed continually. Could you grab a full-debug log (i.e. ./configure --enable-debug=full)?

I have an idea, I'll be back in a few minutes...
Comment 5 Chris Wilson 2016-04-18 19:55:57 UTC
diff --git a/src/sna/sna_present.c b/src/sna/sna_present.c
index 2f181a9..f5d1515 100644
--- a/src/sna/sna_present.c
+++ b/src/sna/sna_present.c
@@ -394,8 +394,7 @@ sna_present_vblank_handler(struct drm_event_vblank *event)
 
        if (info->sna->mode.shadow_wait) {
                DBG(("%s: recursed from TearFree\n", __FUNCTION__));
-               info->target_msc = msc + 1;
-               if (sna_present_queue(info, msc))
+               if (TimerSet(NULL, 0, 1, sna_fake_vblank_handler, info))
                        return;
        }
Comment 6 Philipp Überbacher 2016-04-19 17:46:48 UTC
Thanks Chris,
 I tried the package from my distribution that should include this fix (xf86-video-intel 1:2.99.917+636+g562ae1f-1) and it seems to work. I have run fullscreen OpenGL programs for more than half an hour without issue.
Comment 7 Chris Wilson 2016-04-22 14:33:32 UTC
*** Bug 95066 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.