Subject: Reproducible Intel GPU hang on rcs0 with ecode 9:0:0x86dffffd

From: Ben Caradoc-Davies <[email-masked]>
Date: Thu, 22 Feb 2018 14:19:46 +1300

Package: src:linux
Version: 4.15.4-1
Severity: normal

Dear Maintainer,

I have a reproducible GPU hang when opening one particular workspace with
Eclipse Oxygen.2 (eclipse-jee-oxygen-2-linux-gtk-x86_64), *with* SWT_GTK3=0 (to
use GTK2), and *with* xfwm4 compositing enabled. With GTK3 or without
compositing, the hang does not occur. The hang occurs immediately and every
time with this workspace. Other workspaces are not affected. I do not think
there is anything special about this workspace. Just a timing issue I guess.

Platform is an Intel i7 7700 using integrated HD Graphics 630 and the built in
kernel modesetting driver (xserver-xorg-video-intel is *not* installed).

Hang reproduced with kernels 4.14.7-1, 4.14.13-1, 4.14.17-1, and 4.15.4-1. I
first noticed the problem after recent upgrades of libgl*-mesa in sid, most
recently to 17.3.5-1. I had noticed this hang on one single occasion with
earlier libgl*-mesa.

Feb 22 13:55:28 ripley kernel: [drm] GPU HANG: ecode 9:0:0x86dffffd, in Xorg
[800], reason: Hang on rcs0, action: reset
Feb 22 13:55:28 ripley kernel: [drm] GPU hangs can indicate a bug anywhere in
the entire gfx stack, including userspace.
Feb 22 13:55:28 ripley kernel: [drm] Please file a _new_ bug report on
bugs.freedesktop.org against DRI -> DRM/Intel
Feb 22 13:55:28 ripley kernel: [drm] drm/i915 developers can then reassign to
the right component if it's not a kernel issue.
Feb 22 13:55:28 ripley kernel: [drm] The gpu crash dump is required to analyze
gpu hangs, so please always attach it.
Feb 22 13:55:28 ripley kernel: [drm] GPU crash dump saved to
/sys/class/drm/card0/error
Feb 22 13:55:28 ripley kernel: i915 0000:00:02.0: Resetting rcs0 after gpu hang
Feb 22 13:55:36 ripley kernel: i915 0000:00:02.0: Resetting rcs0 after gpu hang
Feb 22 13:55:44 ripley kernel: i915 0000:00:02.0: Resetting rcs0 after gpu hang
Feb 22 13:55:52 ripley kernel: i915 0000:00:02.0: Resetting rcs0 after gpu hang
Feb 22 13:56:00 ripley kernel: i915 0000:00:02.0: Resetting rcs0 after gpu hang

(But I am following Debian instructions to not submit upstream without asking
first.)

GPU crash dump attached as requested.

Workarounds: use SWT_GTK3=1 (or unset), or turn off xfwm4 compositing.

Kind regards,
Ben.

-- Package-specific info:
** Version:
Linux version 4.15.0-1-amd64 ([email-masked]) (gcc version 7.3.0 (Debian 7.3.0-3)) #1 SMP Debian 4.15.4-1 (2018-02-18)

** Command line:
BOOT_IMAGE=/vmlinuz-4.15.0-1-amd64 root=/dev/mapper/vg-root ro quiet net.ifnames=0 apparmor=0 splash

** Tainted: W (512)
 * Taint on warning.

** Kernel log:
Unable to read kernel log; any relevant messages should be attached

** Model information
sys_vendor: System manufacturer
product_name: System Product Name
product_version: System Version
chassis_vendor: Default string
chassis_version: Default string
bios_vendor: American Megatrends Inc.
bios_version: 3601
board_vendor: ASUSTeK COMPUTER INC.
board_name: H110I-PLUS
board_version: Rev X.0x

** Loaded modules:
ctr
ccm
arc4
ip6t_REJECT
nf_reject_ipv6
nf_conntrack_ipv6
nf_defrag_ipv6
ip6table_filter
ip6_tables
ipt_REJECT
nf_reject_ipv4
xt_tcpudp
nf_conntrack_ipv4
nf_defrag_ipv4
xt_conntrack
nf_conntrack
iptable_filter
snd_hda_codec_hdmi
binfmt_misc
snd_hda_codec_realtek
snd_hda_codec_generic
nls_ascii
nls_cp437
vfat
ath9k_htc
fat
intel_rapl
ath9k_common
ath9k_hw
x86_pkg_temp_thermal
intel_powerclamp
coretemp
snd_hda_intel
ath
kvm_intel
mac80211
snd_hda_codec
kvm
irqbypass
intel_cstate
snd_hda_core
cfg80211
eeepc_wmi
snd_hwdep
efi_pstore
intel_uncore
asus_wmi
sparse_keymap
joydev
intel_rapl_perf
efivars
snd_pcm
rfkill
wmi_bmof
snd_timer
sg
mei_me
pcspkr
iTCO_wdt
snd
iTCO_vendor_support
mei
soundcore
shpchp
evdev
acpi_pad
parport_pc
ppdev
lp
parport
efivarfs
ip_tables
x_tables
autofs4
ext4
crc16
mbcache
jbd2
fscrypto
ecb
btrfs
zstd_decompress
zstd_compress
xxhash
algif_skcipher
af_alg
dm_crypt
dm_mod
hid_generic
usbhid
hid
raid10
raid456
async_raid6_recov
async_memcpy
async_pq
async_xor
async_tx
xor
raid6_pq
libcrc32c
crc32c_generic
raid1
raid0
multipath
linear
md_mod
sd_mod
crct10dif_pclmul
crc32_pclmul
crc32c_intel
ghash_clmulni_intel
mxm_wmi
pcbc
i915
aesni_intel
ahci
i2c_algo_bit
aes_x86_64
libahci
crypto_simd
glue_helper
xhci_pci
drm_kms_helper
cryptd
xhci_hcd
libata
r8169
i2c_i801
mii
usbcore
scsi_mod
drm
usb_common
fan
thermal
wmi
video
button

** PCI devices:
00:00.0 Host bridge [0600]: Intel Corporation Intel Kaby Lake Host Bridge [8086:591f] (rev 05)
	Subsystem: ASUSTeK Computer Inc. Intel Kaby Lake Host Bridge [1043:8694]
	Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
	Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort+ >SERR- <PERR- INTx-
	Latency: 0
	Capabilities: <access denied>

00:02.0 VGA compatible controller [0300]: Intel Corporation HD Graphics 630 [8086:5912] (rev 04) (prog-if 00 [VGA controller])
	Subsystem: ASUSTeK Computer Inc. HD Graphics 630 [1043:8694]
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
	Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Latency: 0, Cache Line Size: 64 bytes
	Interrupt: pin A routed to IRQ 123
	Region 0: Memory at f6000000 (64-bit, non-prefetchable) [size=16M]
	Region 2: Memory at e0000000 (64-bit, prefetchable) [size=256M]
	Region 4: I/O ports at f000 [size=64]
	[virtual] Expansion ROM at 000c0000 [disabled] [size=128K]
	Capabilities: <access denied>
	Kernel driver in use: i915
	Kernel modules: i915

00:14.0 USB controller [0c03]: Intel Corporation Sunrise Point-H USB 3.0 xHCI Controller [8086:a12f] (rev 31) (prog-if 30 [XHCI])
	Subsystem: ASUSTeK Computer Inc. Sunrise Point-H USB 3.0 xHCI Controller [1043:8694]
	Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
	Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Latency: 0
	Interrupt: pin A routed to IRQ 120
	Region 0: Memory at f7110000 (64-bit, non-prefetchable) [size=64K]
	Capabilities: <access denied>
	Kernel driver in use: xhci_hcd
	Kernel modules: xhci_pci

00:16.0 Communication controller [0780]: Intel Corporation Sunrise Point-H CSME HECI #1 [8086:a13a] (rev 31)
	Subsystem: ASUSTeK Computer Inc. Sunrise Point-H CSME HECI [1043:8694]
	Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
	Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Latency: 0
	Interrupt: pin A routed to IRQ 124
	Region 0: Memory at f712d000 (64-bit, non-prefetchable) [size=4K]
	Capabilities: <access denied>
	Kernel driver in use: mei_me
	Kernel modules: mei_me

00:17.0 SATA controller [0106]: Intel Corporation Sunrise Point-H SATA controller [AHCI mode] [8086:a102] (rev 31) (prog-if 01 [AHCI 1.0])
	Subsystem: ASUSTeK Computer Inc. Sunrise Point-H SATA controller [AHCI mode] [1043:8694]
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
	Status: Cap+ 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Latency: 0
	Interrupt: pin A routed to IRQ 121
	Region 0: Memory at f7128000 (32-bit, non-prefetchable) [size=8K]
	Region 1: Memory at f712c000 (32-bit, non-prefetchable) [size=256]
	Region 2: I/O ports at f090 [size=8]
	Region 3: I/O ports at f080 [size=4]
	Region 4: I/O ports at f060 [size=32]
	Region 5: Memory at f712b000 (32-bit, non-prefetchable) [size=2K]
	Capabilities: <access denied>
	Kernel driver in use: ahci
	Kernel modules: ahci

00:1c.0 PCI bridge [0604]: Intel Corporation Sunrise Point-H PCI Express Root Port #5 [8086:a114] (rev f1) (prog-if 00 [Normal decode])
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
	Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Latency: 0, Cache Line Size: 64 bytes
	Interrupt: pin A routed to IRQ 16
	Bus: primary=00, secondary=01, subordinate=01, sec-latency=0
	I/O behind bridge: 00002000-00002fff
	Memory behind bridge: c8000000-c81fffff
	Prefetchable memory behind bridge: 00000000c8200000-00000000c83fffff
	Secondary status: 66MHz- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort+ <SERR- <PERR-
	BridgeCtl: Parity- SERR- NoISA- VGA- MAbort- >Reset- FastB2B-
		PriDiscTmr- SecDiscTmr- DiscTmrStat- DiscTmrSERREn-
	Capabilities: <access denied>
	Kernel driver in use: pcieport
	Kernel modules: shpchp

00:1d.0 PCI bridge [0604]: Intel Corporation Sunrise Point-H PCI Express Root Port #9 [8086:a118] (rev f1) (prog-if 00 [Normal decode])
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
	Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Latency: 0, Cache Line Size: 64 bytes
	Interrupt: pin A routed to IRQ 16
	Bus: primary=00, secondary=02, subordinate=02, sec-latency=0
	I/O behind bridge: 00003000-00003fff
	Memory behind bridge: c8400000-c85fffff
	Prefetchable memory behind bridge: 00000000c8600000-00000000c87fffff
	Secondary status: 66MHz- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort+ <SERR- <PERR-
	BridgeCtl: Parity- SERR- NoISA- VGA- MAbort- >Reset- FastB2B-
		PriDiscTmr- SecDiscTmr- DiscTmrStat- DiscTmrSERREn-
	Capabilities: <access denied>
	Kernel driver in use: pcieport
	Kernel modules: shpchp

00:1d.1 PCI bridge [0604]: Intel Corporation Sunrise Point-H PCI Express Root Port #10 [8086:a119] (rev f1) (prog-if 00 [Normal decode])
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
	Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Latency: 0, Cache Line Size: 64 bytes
	Interrupt: pin B routed to IRQ 17
	Bus: primary=00, secondary=03, subordinate=03, sec-latency=0
	I/O behind bridge: 0000e000-0000efff
	Memory behind bridge: f7000000-f70fffff
	Secondary status: 66MHz- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort+ <SERR- <PERR-
	BridgeCtl: Parity- SERR- NoISA- VGA- MAbort- >Reset- FastB2B-
		PriDiscTmr- SecDiscTmr- DiscTmrStat- DiscTmrSERREn-
	Capabilities: <access denied>
	Kernel driver in use: pcieport
	Kernel modules: shpchp

00:1f.0 ISA bridge [0601]: Intel Corporation Sunrise Point-H LPC Controller [8086:a143] (rev 31)
	Subsystem: ASUSTeK Computer Inc. Sunrise Point-H LPC Controller [1043:8694]
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
	Status: Cap- 66MHz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Latency: 0

00:1f.2 Memory controller [0580]: Intel Corporation Sunrise Point-H PMC [8086:a121] (rev 31)
	Subsystem: ASUSTeK Computer Inc. Sunrise Point-H PMC [1043:8694]
	Control: I/O- Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
	Status: Cap- 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Region 0: Memory at f7124000 (32-bit, non-prefetchable) [disabled] [size=16K]

00:1f.3 Audio device [0403]: Intel Corporation Sunrise Point-H HD Audio [8086:a170] (rev 31)
	Subsystem: ASUSTeK Computer Inc. Sunrise Point-H HD Audio [1043:86c7]
	Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
	Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Latency: 32, Cache Line Size: 64 bytes
	Interrupt: pin A routed to IRQ 125
	Region 0: Memory at f7120000 (64-bit, non-prefetchable) [size=16K]
	Region 4: Memory at f7100000 (64-bit, non-prefetchable) [size=64K]
	Capabilities: <access denied>
	Kernel driver in use: snd_hda_intel
	Kernel modules: snd_hda_intel

00:1f.4 SMBus [0c05]: Intel Corporation Sunrise Point-H SMBus [8086:a123] (rev 31)
	Subsystem: ASUSTeK Computer Inc. Sunrise Point-H SMBus [1043:8694]
	Control: I/O+ Mem+ BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
	Status: Cap- 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Interrupt: pin A routed to IRQ 16
	Region 0: Memory at f712a000 (64-bit, non-prefetchable) [size=256]
	Region 4: I/O ports at f040 [size=32]
	Kernel driver in use: i801_smbus
	Kernel modules: i2c_i801

03:00.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller [10ec:8168] (rev 15)
	Subsystem: ASUSTeK Computer Inc. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller [1043:8677]
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
	Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Latency: 0, Cache Line Size: 64 bytes
	Interrupt: pin A routed to IRQ 122
	Region 0: I/O ports at e000 [size=256]
	Region 2: Memory at f7004000 (64-bit, non-prefetchable) [size=4K]
	Region 4: Memory at f7000000 (64-bit, non-prefetchable) [size=16K]
	Capabilities: <access denied>
	Kernel driver in use: r8169
	Kernel modules: r8169

** USB devices:
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 002: ID 0cf3:9271 Atheros Communications, Inc. AR9271 802.11n
Bus 001 Device 003: ID 046d:c534 Logitech, Inc. Unifying Receiver
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

-- System Information:
Debian Release: buster/sid
  APT prefers unstable
  APT policy: (500, 'unstable')
Architecture: amd64 (x86_64)

Kernel: Linux 4.15.0-1-amd64 (SMP w/8 CPU cores)
Locale: LANG=en_GB.utf8, LC_CTYPE=en_GB.utf8 (charmap=UTF-8), LANGUAGE=en_GB:en (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)

Versions of packages linux-image-4.15.0-1-amd64 depends on:
ii  initramfs-tools [linux-initramfs-tool]  0.130
ii  kmod                                    25-1
ii  linux-base                              4.5

Versions of packages linux-image-4.15.0-1-amd64 recommends:
ii  apparmor             2.12-2
ii  firmware-linux-free  3.4
ii  irqbalance           1.3.0-0.1

Versions of packages linux-image-4.15.0-1-amd64 suggests:
pn  debian-kernel-handbook  <none>
ii  extlinux                3:6.03+dfsg1-2
ii  grub-efi-amd64          2.02+dfsg1-1
pn  linux-doc-4.15          <none>

Versions of packages linux-image-4.15.0-1-amd64 is related to:
ii  firmware-amd-graphics     20170823-1
ii  firmware-atheros          20170823-1
pn  firmware-bnx2             <none>
pn  firmware-bnx2x            <none>
ii  firmware-brcm80211        20170823-1
pn  firmware-cavium           <none>
pn  firmware-intel-sound      <none>
pn  firmware-intelwimax       <none>
pn  firmware-ipw2x00          <none>
pn  firmware-ivtv             <none>
pn  firmware-iwlwifi          <none>
pn  firmware-libertas         <none>
ii  firmware-linux-nonfree    20170823-1
ii  firmware-misc-nonfree     20170823-1
pn  firmware-myricom          <none>
pn  firmware-netxen           <none>
pn  firmware-qlogic           <none>
ii  firmware-realtek          20170823-1
pn  firmware-samsung          <none>
pn  firmware-siano            <none>
pn  firmware-ti-connectivity  <none>
pn  xen-hypervisor            <none>

-- no debconf information

---

From: Ben Caradoc-Davies <[email-masked]>
Date: Mon, 26 Feb 2018 12:26:04 +1300

This bug is also seen in vanilla 4.16.0-rc2 from 3664ce2d930983966d on 
torvalds/master, but with this kernel, the gpu is reset without crashing 
X. After hanging for a few seconds, X recovers.

Kind regards,

-- 
Ben Caradoc-Davies <[email-masked]>
Director
Transient Software Limited <https://transient.nz/>
New Zealand