Bug 81488 - [BDW-U Bisected]System hang while running "xrandr --output eDP1 --off"
Summary: [BDW-U Bisected]System hang while running "xrandr --output eDP1 --off"
Status: CLOSED WORKSFORME
Alias: None
Product: DRI
Classification: Unclassified
Component: DRM/Intel (show other bugs)
Version: unspecified
Hardware: Other All
: highest normal
Assignee: Daniel Vetter
QA Contact: Intel GFX Bugs mailing list
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-07-18 08:57 UTC by Guo Jinxian
Modified: 2015-05-13 07:40 UTC (History)
2 users (show)

See Also:
i915 platform:
i915 features:


Attachments

Description Guo Jinxian 2014-07-18 08:57:06 UTC
==System Environment==
--------------------------
Regression:  Yes

Good commit on -next-queued: 91565c85b66db820f01894a971d39aaef60c4325
Bad commit on -next-queued: d101c8fe9bda6578ae72d6021415cfaad2b422f0

Non-working platforms: BDW-U 

==kernel==
--------------------------
origin/drm-intel-nightly: e61f0f00aae3bde8be33766c1b19219ef3a2c708(fails)
    drm-intel-nightly: 2014y-07m-17d-14h-33m-56s integration manifest
origin/drm-intel-next-queued: 7c908fe2cad0c11c509ad9d01e8dce3fa86af85a(fails)
    drm/i915: extract and improve gen8_irq_power_well_post_enable
origin/drm-intel-fixes: c6930992948adf0f8fc1f6ff1da51c5002a2cf95(works)
    Revert "drm/i915: reverse dp link param selection, prefer fast over wide again"


==Bug detailed description==
System hang while running "xrandr --output eDP1 --off". unable to catch dmesg because system hang.

Only one BDW-U device able to reproduce this bug, the other BDW-U and BDW devices are worked.

==Reproduce steps==
---------------------------- 
1. xinit &
2. xrandr --output eDP1 --off
Comment 1 Guo Jinxian 2014-07-21 06:11:47 UTC
2ff8fde1ea0992dfd735dce94f8cae2aacff8e5c is the first bad commit
commit 2ff8fde1ea0992dfd735dce94f8cae2aacff8e5c
Author:     Matt Roper <matthew.d.roper@intel.com>
AuthorDate: Tue Jul 8 07:50:07 2014 -0700
Commit:     Daniel Vetter <daniel.vetter@ffwll.ch>
CommitDate: Wed Jul 9 13:52:03 2014 +0200


    drm/i915: Make use of intel_fb_obj() (v2)

    This should hopefully simplify the display code slightly and also
    solves at least one mistake in intel_pipe_set_base() where
    to_intel_framebuffer(fb)->obj is referenced during local variable
    initialization, before 'if (!fb)' gets checked.

    Potential uses of this macro were identified via the following
    Coccinelle patch:

            @@
            expression E;
            @@
            * to_intel_framebuffer(E)->obj

            @@
            expression E;
            identifier I;
            @@
              I = to_intel_framebuffer(E);
              ...
            * I->obj

    v2: Rewrite some NULL tests in terms of the obj rather than the fb.
        Also add a WARN() if trying to pageflip with a disabled primary
        plane.  [Suggested by Chris Wilson]

    Signed-off-by: Matt Roper <matthew.d.roper@intel.com>
    Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
    Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>

:040000 040000 a6d9ad40b7000439f553f6cf5c79abcc4466c585 e29153507c0bcc115b03568e4b87bde21319030c M      drivers

The bad commit unable to revert
git revert 2ff8fde1ea0992dfd735dce94f8cae2aacff8e5c
error: could not revert 2ff8fde... drm/i915: Make use of intel_fb_obj() (v2)
hint: after resolving the conflicts, mark the corrected paths
hint: with 'git add <paths>' or 'git rm <paths>'
hint: and commit the result with 'git commit'
Comment 2 Matt Roper 2014-09-02 23:30:47 UTC
I'm surprised that this commit would trigger a regression since it was intended to have little/no functional change (aside from one potential NULL dereference which was plugged by this patch).

You indicate that the bug appears on only a single device...does it happen every single time you run the xrandr command on that platform, or is the problem only seen occasionally?  I'll have to look more closely when I have some free time tomorrow, but the fact that you don't see the same problem on other similar devices makes me wonder whether I've introduced a race condition somewhere that you only get (un)lucky enough to hit on that one device.

I don't suppose there's any way to get a serial console on this device so you can see the kernel dump?
Comment 3 Guo Jinxian 2014-09-10 06:34:55 UTC
(In reply to comment #2)
> I'm surprised that this commit would trigger a regression since it was
> intended to have little/no functional change (aside from one potential NULL
> dereference which was plugged by this patch).
> 
> You indicate that the bug appears on only a single device...does it happen
> every single time you run the xrandr command on that platform, or is the
> problem only seen occasionally?  I'll have to look more closely when I have
> some free time tomorrow, but the fact that you don't see the same problem on
> other similar devices makes me wonder whether I've introduced a race
> condition somewhere that you only get (un)lucky enough to hit on that one
> device.
> 
> I don't suppose there's any way to get a serial console on this device so
> you can see the kernel dump?

The failure unable to reproduce now.
Comment 4 Chris Wilson 2014-09-10 06:56:22 UTC
Let's write this off as a mystery bug and hope it doesn't come back.


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.