Bug 30097 - piglit occlusion-query-discard causes GPU hang
Summary: piglit occlusion-query-discard causes GPU hang
Status: VERIFIED FIXED
Alias: None
Product: Mesa
Classification: Unclassified
Component: Drivers/DRI/i965 (show other bugs)
Version: unspecified
Hardware: All Linux (All)
: medium critical
Assignee: Eric Anholt
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-09-09 01:59 UTC by fangxun
Modified: 2010-09-25 01:54 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments
xorg log file (21.69 KB, text/plain)
2010-09-09 02:00 UTC, fangxun
Details
i915_error_state (797.33 KB, text/plain)
2010-09-12 21:03 UTC, Christopher James Halse Rogers
Details

Description fangxun 2010-09-09 01:59:38 UTC
System Environment:
--------------------------
Arch:           x86-64
Platform:       piketon
Libdrm:         (master)2.4.21-19-gb8abe6139e5c6779ee87d983346f0f65bf67462e
Mesa:           (master)5ecd9c70cecc05eaa1fef05f9bd4e8cf50f2c03a
Xserver:        (master)xorg-server-1.9.0
Xf86_video_intel:  (master)2.12.0-84-g2b96c18165d713cd6781dbf217ec33e11cc961bc
Kernel_unstable:  (for-linus)76be97c1fc945db08aae1f1b746012662d643e97


Bug detailed description:
-------------------------
This case is a new case. GPU hangs when run it with errors:
intel_bufmgr_gem.c:1018: Error setting to CPU domain 15: Input/output error
intel_bufmgr_gem.c:1018: Error setting to CPU domain 19: Input/output error
intel_bufmgr_gem.c:1098: Error setting domain 3: Input/output error

Dmesg appears:
[drm:i915_hangcheck_elapsed] *ERROR* Hangcheck timer elapsed... GPU hung
[drm:i915_do_wait_request] *ERROR* i915_do_wait_request returns -5 (awaiting 8556562 at 8556560)
[drm:init_ring_common] *ERROR* render ring head not reset to zero ctl 00000000 head 4e81adf4 tail 00000000 start 02002000
[drm:init_ring_common] *ERROR* render ring head forced to zero ctl 00000000 head 4e81adf4 tail 00000000 start 02002000
[drm:init_ring_common] *ERROR* render ring initialization failed ctl 0001f001 head 4e81adf4 tail 00000000 start 02002000


Reproduce steps:
----------------
1. start X
2. occlusion-query-disc -auto
Comment 1 fangxun 2010-09-09 02:00:17 UTC
Created attachment 38573 [details]
xorg log file
Comment 2 Christopher James Halse Rogers 2010-09-09 22:00:01 UTC
I also see this; it's 100% reproducible.

I'll attach information forwarded from the Launchpad bug I've just filed: https://bugs.launchpad.net/bugs/634683
Comment 4 Gordon Jin 2010-09-09 22:29:26 UTC
Eric should have already known this issue.
Comment 5 Christopher James Halse Rogers 2010-09-12 21:03:23 UTC
Created attachment 38658 [details]
i915_error_state

On a 2.6.35-derived Ubuntu kernel I could grab the error state; here it is attached.
Comment 6 Eric Anholt 2010-09-20 15:21:26 UTC
Not a regression, so it's not P1.  I spent a while looking into it when working on the test and didn't come up with anything.
Comment 7 Eric Anholt 2010-09-21 12:32:22 UTC
commit dd9a88f4ddf4e5fa384792f891a1cc3d8ff73946
Author: Eric Anholt <eric@anholt.net>
Date:   Tue Sep 21 12:05:37 2010 -0700

    i965: Track the windowizer's dispatch for kill pixel, promoted, and OQ
    
    Looks like the problem was we weren't passing the depth to the render
    target as expected, so the chip would wedge.  Fixes GPU hang in
    occlusion-query-discard.
    
    Bug #30097
Comment 8 fangxun 2010-09-25 01:54:35 UTC
Works well, verified.


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.