Raymarching - Primitives WebGL demo in Chromium caused GPU hang
I am not sure if it is reproducible (I haven't tried), but simply having the following WebGL demo running for 2 minutes and then doing some scrolling on the page caused it:
https://www.shadertoy.com/view/Xds3zN
The graphical shell become barely responsive for several seconds before the GPU reset, although I could still move the mouse cursor around.
Here are my system details:
- -- system architecture: x86_64
- -- kernel version: 5.6.14-x86_64
- -- Linux distribution: Gentoo
- -- Machine or mother board model: Supermicro X10SAE with Xeon E3-1276v3 (Haswell) and 32GB ECC RAM.
- -- Display connector: HDMI
Pertinent software versions:
- x11-libs/libdrm-2.4.100
- media-libs/mesa-19.3.5
- x11-base/xorg-server-1.20.7
- www-client/chromium-83.0.4103.61
- kde-plasma/kwin-5.18.5-r1
Chromium was started with the flags --disable-frame-rate-limit --disable-gpu-vsync --enable-zero-copy --enable-gpu-rasterization --ignore-gpu-blacklist
. KDE's compositor (kwin) settings have the rendering backend set to OpenGL 2.0 and vsync set to automatic.
Here is the relevant dmesg output:
[468928.347782] i915 0000:00:02.0: GPU HANG: ecode 7:1:85dffffc, in chrome [22585]
[468928.347783] GPU hangs can indicate a bug anywhere in the entire gfx stack, including userspace.
[468928.347783] Please file a _new_ bug report at https://gitlab.freedesktop.org/drm/intel/issues/new.
[468928.347784] Please see https://gitlab.freedesktop.org/drm/intel/-/wikis/How-to-file-i915-bugs for details.
[468928.347784] drm/i915 developers can then reassign to the right component if it's not a kernel issue.
[468928.347784] The GPU crash dump is required to analyze GPU hangs, so please always attach it.
[468928.347784] GPU crash dump saved to /sys/class/drm/card0/error
[468928.347833] i915 0000:00:02.0: Resetting chip for stopped heartbeat on rcs0
[468928.446089] i915 0000:00:02.0: chrome[22585] context reset due to GPU hang
[468931.334766] i915 0000:00:02.0: GPU HANG: ecode 7:1:85dffffc, in chrome [22585]
[468931.334843] i915 0000:00:02.0: Resetting chip for stopped heartbeat on rcs0
[468931.436850] i915 0000:00:02.0: chrome[22585] context reset due to GPU hang
[468934.321165] i915 0000:00:02.0: GPU HANG: ecode 7:1:85dffffc, in chrome [22585]
[468934.321208] i915 0000:00:02.0: Resetting chip for stopped heartbeat on rcs0
[468934.422767] i915 0000:00:02.0: chrome[22585] context reset due to GPU hang
Here is the batch buffer error.bz2.