Bug 63589 - Random appearance of "Detected a hung GPU, disabling acceleration."
Summary: Random appearance of "Detected a hung GPU, disabling acceleration."
Status: RESOLVED WORKSFORME
Alias: None
Product: Mesa
Classification: Unclassified
Component: Drivers/DRI/i915 (show other bugs)
Version: 9.1
Hardware: x86-64 (AMD64) Linux (All)
: medium normal
Assignee: Ian Romanick
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-04-16 07:28 UTC by o590694
Modified: 2014-09-11 09:46 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments
Xorg.0.log (46.96 KB, text/plain)
2013-04-16 07:28 UTC, o590694
Details
/sys/kernel/debug/dri/0/i915_error_state (2.00 MB, text/plain)
2013-04-16 07:29 UTC, o590694
Details
/sys/kernel/debug/dri/64/i915_error_state (2.00 MB, text/plain)
2013-04-16 07:29 UTC, o590694
Details

Description o590694 2013-04-16 07:28:43 UTC
Created attachment 78058 [details]
Xorg.0.log

Every once in a while my machine hangs for a few seconds and I am getting the following error in Xorg.0.log:

(EE) [mi] EQ overflowing.  Additional events will be discarded until existing events are processed.
(EE) 
(EE) Backtrace:
(EE) 0: /usr/bin/X (xorg_backtrace+0x36) [0x582416]
(EE) 1: /usr/bin/X (mieqEnqueue+0x26b) [0x563b1b]
(EE) 2: /usr/bin/X (0x400000+0x4c97b) [0x44c97b]
(EE) 3: /usr/lib64/xorg/modules/input/evdev_drv.so (0x7fc1d39cf000+0x67b1) [0x7fc1d39d57b1]
(EE) 4: /usr/bin/X (0x400000+0x758f7) [0x4758f7]
(EE) 5: /usr/bin/X (0x400000+0x9e8ce) [0x49e8ce]
(EE) 6: /lib64/libpthread.so.0 (0x7fc1d7d66000+0xf1a0) [0x7fc1d7d751a0]
(EE) 7: /lib64/libc.so.6 (ioctl+0x7) [0x7fc1d640c2f7]
(EE) 8: /usr/lib64/libdrm.so.2 (drmIoctl+0x28) [0x7fc1d7b5e5a8]
(EE) 9: /usr/lib64/xorg/modules/drivers/intel_drv.so (0x7fc1d5bb5000+0x1a410) [0x7fc1d5bcf410]
(EE) 10: /usr/lib64/xorg/modules/drivers/intel_drv.so (0x7fc1d5bb5000+0x1b5e7) [0x7fc1d5bd05e7]
(EE) 11: /usr/lib64/xorg/modules/drivers/intel_drv.so (0x7fc1d5bb5000+0x420a1) [0x7fc1d5bf70a1]
(EE) 12: /usr/bin/X (BlockHandler+0x44) [0x43c584]
(EE) 13: /usr/bin/X (WaitForSomething+0x114) [0x57f9d4]
(EE) 14: /usr/bin/X (0x400000+0x381d1) [0x4381d1]
(EE) 15: /usr/bin/X (0x400000+0x2718a) [0x42718a]
(EE) 16: /lib64/libc.so.6 (__libc_start_main+0xf5) [0x7fc1d634c9e5]
(EE) 17: /usr/bin/X (0x400000+0x274cd) [0x4274cd]
(EE) 
(EE) [mi] These backtraces from mieqEnqueue may point to a culprit higher up the stack.
(EE) [mi] mieq is *NOT* the cause.  It is a victim.
(EE) [mi] EQ overflow continuing.  100 events have been dropped.
(EE) 
(EE) Backtrace:
(EE) 0: /usr/bin/X (xorg_backtrace+0x36) [0x582416]
(EE) 1: /usr/bin/X (0x400000+0x4c97b) [0x44c97b]
(EE) 2: /usr/lib64/xorg/modules/input/evdev_drv.so (0x7fc1d39cf000+0x67b1) [0x7fc1d39d57b1]
(EE) 3: /usr/bin/X (0x400000+0x758f7) [0x4758f7]
(EE) 4: /usr/bin/X (0x400000+0x9e8ce) [0x49e8ce]
(EE) 5: /lib64/libpthread.so.0 (0x7fc1d7d66000+0xf1a0) [0x7fc1d7d751a0]
(EE) 6: /lib64/libc.so.6 (ioctl+0x7) [0x7fc1d640c2f7]
(EE) 7: /usr/lib64/libdrm.so.2 (drmIoctl+0x28) [0x7fc1d7b5e5a8]
(EE) 8: /usr/lib64/xorg/modules/drivers/intel_drv.so (0x7fc1d5bb5000+0x1a410) [0x7fc1d5bcf410]
(EE) 9: /usr/lib64/xorg/modules/drivers/intel_drv.so (0x7fc1d5bb5000+0x1b5e7) [0x7fc1d5bd05e7]
(EE) 10: /usr/lib64/xorg/modules/drivers/intel_drv.so (0x7fc1d5bb5000+0x420a1) [0x7fc1d5bf70a1]
(EE) 11: /usr/bin/X (BlockHandler+0x44) [0x43c584]
(EE) 12: /usr/bin/X (WaitForSomething+0x114) [0x57f9d4]
(EE) 13: /usr/bin/X (0x400000+0x381d1) [0x4381d1]
(EE) 14: /usr/bin/X (0x400000+0x2718a) [0x42718a]
(EE) 15: /lib64/libc.so.6 (__libc_start_main+0xf5) [0x7fc1d634c9e5]
(EE) 16: /usr/bin/X (0x400000+0x274cd) [0x4274cd]
(EE) 
[  1759.717] (EE) intel(0): Detected a hung GPU, disabling acceleration.
[  1759.718] (EE) intel(0): When reporting this, please include i915_error_state from debugfs and the full dmesg.


I am not sure what exactly triggers this, but I can reproduce the error pretty easily under the following conditions:

- external monitor switched on (connected by DisplayPort)
- Laptop monitor switched off
- Chrome running (Flash ads or video playing)

Yesterday I was using the machine *without an external Monitor* for a few hours and this error did *not* happen even though I was using Chrome and Flash extensively.

How could I find the culprit of this error?


Here are some version numbers that might be interesting:

Kernel: 3.8.7
Mesa: 9.1.1
xorg-server: 1.13.3
xf86-video-intel: 2.21.6
Comment 1 o590694 2013-04-16 07:29:21 UTC
Created attachment 78059 [details]
/sys/kernel/debug/dri/0/i915_error_state
Comment 2 o590694 2013-04-16 07:29:39 UTC
Created attachment 78060 [details]
/sys/kernel/debug/dri/64/i915_error_state
Comment 3 o590694 2013-04-16 11:31:37 UTC
It just happened again and I got this in dmesg:

Apr 16 13:29:26 dain kernel: [drm:i915_hangcheck_hung] *ERROR* Hangcheck timer elapsed... GPU hung
Apr 16 13:29:26 dain kernel: [drm] capturing error event; look for more information in /debug/dri/0/i915_error_state
Apr 16 13:29:26 dain kernel: [drm:kick_ring] *ERROR* Kicking stuck wait on render ring
Comment 4 o590694 2013-07-31 08:07:07 UTC
This still happens with the following versions Mesa 9.1.4, xorg-server 1.14.2, xf86-video-intel 2.21.12, Linux 3.10.4.

This is also a problem on a colleague's notebook, which is from the same line as mine (Lenovo X220). That notebook is running Ubuntu 13.04.
Comment 5 o590694 2013-09-03 13:32:31 UTC
This seems to be related to --enable-sna in xf86-video-intel. I used --enable-uxa instead of --enable-sna and it seems to work without this problem so far (been using it for only a few hours now).

working: --enable-dri --enable-xvmc --disable-dga --disable-xaa --enable-udev --enable-uxa --disable-sna

not working: --enable-dri --enable-xvmc --disable-dga --disable-xaa --enable-udev --disable-uxa --enable-sna
Comment 6 o590694 2014-09-11 09:46:23 UTC
This did not happen for a while now. I'm currently running:

Kernel: 3.16.2
Mesa: 10.2.7
xorg-server: 1.16.0
xf86-video-intel: 2.99.916


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.