Bug 91382

Summary: [ilk] GPU HANG: ecode 5:0:0x9ffdffff, in gnome-shell
Product: Mesa Reporter: Christian Stadelmann <frdsktp>
Component: Drivers/DRI/i965Assignee: Ian Romanick <idr>
Status: RESOLVED DUPLICATE QA Contact: Intel 3D Bugs Mailing List <intel-3d-bugs>
Severity: major    
Priority: medium CC: gb.devel, intel-gfx-bugs, lantw44
Version: unspecified   
Hardware: x86-64 (AMD64)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:
Attachments: contains dmesg and /sys/class/drm/card0/error files.

Description Christian Stadelmann 2015-07-18 11:30:42 UTC
Created attachment 117222 [details]
contains dmesg and /sys/class/drm/card0/error files.

I am running fedora 22 with kernel 4.0.8 on a x86_64 system. More packages:
gnome-shell-3.16.3-1.fc22.x86_64
firefox-39.0-8.fc22.x86_64
gstreamer1-1.4.5-1.fc22.x86_64
libdrm-2.4.61-3.fc22.x86_64

Hardware: iGPU of an Intel Core i5 6x0 series

Since today (since updating to kernel 4.0.8, this issue was not present in kernel 4.0.7) I got this issue.

Steps to reproduce:
1. log in to gnome-shell session on X
2. open firefox (works with a fresh profile)
3. load youtube.com
(I tested this several times, always worked)

What happens on the UI:
Gnome-shell crashes (window decorations are gone)
firefox repaints its application window wrong, displaying content at wrong positions
gnome-session tells me that it crashed and can't recover. I am forced to log out.


In syslog (systemd journal) I see this:

firefox.desktop[3110]: libva info: VA-API version 0.37.0
firefox.desktop[3110]: libva info: va_getDriverName() returns 0
firefox.desktop[3110]: libva info: Trying to open /usr/lib64/dri/i965_drv_video.so
firefox.desktop[3110]: libva info: Found init function __vaDriverInit_0_37
firefox.desktop[3110]: libva info: va_openDriver() returns 0
firefox.desktop[3110]: (firefox:3467): GStreamer-CRITICAL **: gst_mini_object_lock: assertion 'object != NULL' failed
firefox.desktop[3110]: (firefox:3467): GStreamer-CRITICAL **: gst_memory_unmap: assertion 'mem != NULL' failed
firefox.desktop[3110]: (firefox:3467): GStreamer-CRITICAL **: gst_memory_get_sizes: assertion 'mem != NULL' failed
firefox.desktop[3110]: (firefox:3467): GStreamer-CRITICAL **: gst_mini_object_lock: assertion 'object != NULL' failed
firefox.desktop[3110]: (firefox:3467): GStreamer-CRITICAL **: gst_memory_unmap: assertion 'mem != NULL' failed
firefox.desktop[3110]: (firefox:3467): GStreamer-CRITICAL **: gst_memory_get_sizes: assertion 'mem != NULL' failed
firefox.desktop[3110]: (firefox:3467): GStreamer-CRITICAL **: gst_mini_object_unlock: assertion 'object != NULL' failed
firefox.desktop[3110]: (firefox:3467): GStreamer-CRITICAL **: gst_mini_object_unref: assertion 'mini_object != NULL' failed
firefox.desktop[3110]: (firefox:3467): GStreamer-CRITICAL **: gst_mini_object_lock: assertion 'object != NULL' failed
firefox.desktop[3110]: (firefox:3467): GStreamer-CRITICAL **: gst_memory_unmap: assertion 'mem != NULL' failed
firefox.desktop[3110]: (firefox:3467): GStreamer-CRITICAL **: gst_memory_get_sizes: assertion 'mem != NULL' failed
firefox.desktop[3110]: (firefox:3467): GStreamer-CRITICAL **: gst_mini_object_unlock: assertion 'object != NULL' failed
firefox.desktop[3110]: (firefox:3467): GStreamer-CRITICAL **: gst_mini_object_unref: assertion 'mini_object != NULL' failed
firefox.desktop[3110]: (firefox:3467): GStreamer-CRITICAL **: gst_mini_object_lock: assertion 'object != NULL' failed
firefox.desktop[3110]: (firefox:3467): GStreamer-CRITICAL **: gst_memory_unmap: assertion 'mem != NULL' failed
firefox.desktop[3110]: (firefox:3467): GStreamer-CRITICAL **: gst_memory_get_sizes: assertion 'mem != NULL' failed
firefox.desktop[3110]: (firefox:3467): GStreamer-CRITICAL **: gst_mini_object_unlock: assertion 'object != NULL' failed
firefox.desktop[3110]: (firefox:3467): GStreamer-CRITICAL **: gst_mini_object_unref: assertion 'mini_object != NULL' failed
firefox.desktop[3110]: (firefox:3467): GStreamer-CRITICAL **: gst_mini_object_lock: assertion 'object != NULL' failed

with the last 5 lines repeating some hundred or thousand times until I kill firefox (with sigterm or SAK). Inbetween I see this:

kernel: [drm] stuck on render ring
kernel: [drm] GPU HANG: ecode 5:0:0x9ffdffff, in gnome-shell [1926], reason: Ring hung, action: reset
kernel: [drm] GPU hangs can indicate a bug anywhere in the entire gfx stack, including userspace.
kernel: [drm] Please file a _new_ bug report on bugs.freedesktop.org against DRI -> DRM/Intel
kernel: [drm] drm/i915 developers can then reassign to the right component if it's not a kernel issue.
kernel: [drm] The gpu crash dump is required to analyze gpu hangs, so please always attach it.
kernel: [drm] GPU crash dump saved to /sys/class/drm/card0/error

and

kernel: drm/i915: Resetting chip after gpu hang
Comment 1 Chris Wilson 2015-07-18 14:49:02 UTC
I would not have expected that to be a kernel bug. But if you switch back to 4.0.7 keeping everything the same and then you cannot reproduce, it will be pretty quick to bisect.
Comment 2 Christian Stadelmann 2015-07-18 17:02:53 UTC
You are right. I can reproduce it with older kernel versions too, so it is no recently introduced kernel bug. I thought so since I haven't seen it before about the time I updated the kernel for the last time.
Comment 3 Ting-Wei Lan 2015-08-18 19:18:27 UTC
I am forced to remove gstreamer1-vaapi because of this problem. I tried Linux 3.18.7, 3.19.3, 4.0.8, 4.1.6 and none of them works, so I think it is not related to kernel version.

I also tried libva 1.5.1, 1.4.1, 1.3.1 and all corresponding libva-intel-driver versions. All of them cause GPU hang.

libdrm-2.4.61-3.fc22.x86_64
mesa-10.6.3-1.20150729.fc22.x86_64
xorg-x11-server-Xorg-1.17.2-2.fc22.x86_64
xorg-x11-drv-intel-2.99.917-12.20150615.fc22.x86_64

libva info: VA-API version 0.37.0
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib64/dri/i965_drv_video.so
libva info: Found init function __vaDriverInit_0_37
libva info: va_openDriver() returns 0
vainfo: VA-API version: 0.37 (libva 1.5.1)
vainfo: Driver version: Intel i965 driver for Intel(R) Ironlake Desktop - 1.5.1
vainfo: Supported profile and entrypoints
      VAProfileMPEG2Simple            :	VAEntrypointVLD
      VAProfileMPEG2Main              :	VAEntrypointVLD
      VAProfileH264ConstrainedBaseline:	VAEntrypointVLD
      VAProfileH264Main               :	VAEntrypointVLD
      VAProfileH264High               :	VAEntrypointVLD
      VAProfileNone                   :	VAEntrypointVideoProc
Comment 4 Matt Turner 2015-08-18 23:09:03 UTC
Seems like this is a libva bug rather than one in Mesa?
Comment 5 Ting-Wei Lan 2015-08-23 17:17:55 UTC
I think yes, this only happens when programs use libva. vlc can also cause the crash.
Comment 6 Chris Wilson 2015-08-23 17:21:48 UTC

*** This bug has been marked as a duplicate of bug 91254 ***

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.