xorg crash/freeze when Chrome uses WebGL, caused by: GPU HANG: ... chrome ... reason: Hang on render ring, action: reset
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
xserver-xorg-video-intel (Ubuntu) |
Confirmed
|
Undecided
|
Unassigned |
Bug Description
I am running a Lenovo X1C 4th Generation on Ubuntu 17.04. With the stock xserver-
A similar hang also happens with this driver using certain software leveraging the GPU or hardware acceleration, for example the proprietary Zoom Video app. But since the Facebook example works very reliably (it crashes without fail), it has been good for testing/
On a stock Ubuntu 17.04, this crash would result in a total system hang requiring a reboot. However, by enabling CTRL+ALT+BACKSPACE on my Xorg version using GNOME tweak, I was able to induce the crash, press CTRL+ALT+BACKSPACE, and end up in a virtual terminal. From there, I could inspect dmesg (to find the message reported in the summary, which has also been reported elsewhere on bug trackers in various forms). This is the more precise dmesg entry:
GPU HANG: ecode 9:0:0x86dffffd, in chrome [24053], reason: Hang on render ring, action: reset
I could also capture the state of the GPU/drm error by looking in /sys/class/
Some interesting notes about this:
- I could make Chrome not crash by turning off hardware acceleration in its advanced settings. In this case, chrome://gpu would show it is no longer using hardware acceleration. It would thus software accelerate WebGL on Facebook.com. And thus, no hang/crash.
- I upgraded to the xserver-
My suspicion is that this is a bug deep in the intel driver and its interaction with certain GPUs, since the hang has happened in more than one userland program, and seems to be "repaired" by recent updates in the above-linked PPA.
Also, a couple of days later, I experienced another full system hang. I was using GPU-accelerated Chrome at the time, but it was when a new page was loading. So, the newer PPA may not have totally corrected this issue, perhaps it just moved it around somehow.