[regression] [bisected] Radeon GPU crashes at SteamVR launch
System information
- OS: Arch Linux
- GPU: 0b:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Navi 21 [Radeon RX 6800/6800 XT / 6900 XT] [1002:73bf] (rev c1)
- Kernel version: 5.17.1
- Mesa version: 22.0.1
- Xserver version (if applicable): 1.21.1.3
- Desktop manager and compositor: i3
- SteamVR: 1.22.6
Describe the issue
Launching SteamVR consistently crashes the GPU: Valve Index screen turns on before the main display turns black for a second during the GPU reset. Xserver then becomes unstable and system must be rebooted.
The following trace is logged in dmesg:
[drm:dm_vblank_get_counter [amdgpu]] ERROR dc_stream_state is NULL for crtc '1'!
[drm:dm_crtc_get_scanoutpos [amdgpu]] ERROR dc_stream_state is NULL for crtc '1'!
[drm:dm_vblank_get_counter [amdgpu]] ERROR dc_stream_state is NULL for crtc '1'!
------------[ cut here ]------------
amdgpu 0000:0b:00.0: drm_WARN_ON_ONCE(drm_drv_uses_atomic_modeset(dev))
WARNING: CPU: 3 PID: 2263 at drivers/gpu/drm/drm_vblank.c:728 drm_crtc_vblank_helper_get_vblank_timestamp_internal+0x369/0x380
Modules linked in: nf_tables nfnetlink snd_seq_dummy snd_hrtimer snd_seq cfg80211 8021q garp mrp stp llc nct6775 hwmon_vid eeepc_wmi intel_ra>
crct10dif_pclmul crc32_pclmul crc32c_intel ghash_clmulni_intel aesni_intel ccp sr_mod xhci_pci crypto_simd cryptd rng_core cdrom xhci_pci_re>
CPU: 3 PID: 2263 Comm: VulkanVblankThr Not tainted 5.17.1-arch1-1 #1 0ea933cb6bfe82a8dc16ab834a4bccdd297f98b7
Hardware name: ASUS System Product Name/ROG CROSSHAIR VIII DARK HERO, BIOS 3601 05/26/2021
RIP: 0010:drm_crtc_vblank_helper_get_vblank_timestamp_internal+0x369/0x380
Code: 4c 8b 6f 50 4d 85 ed 75 03 4c 8b 2f e8 f0 6b 01 00 48 c7 c1 40 f3 d1 ad 4c 89 ea 48 c7 c7 c2 5d d1 ad 48 89 c6 e8 a3 43 3d 00 <0f> 0b e>
RSP: 0018:ffff9beb86303b20 EFLAGS: 00010082
RAX: 0000000000000000 RBX: ffffffffc0b7e840 RCX: 0000000000000027
RDX: ffff8dca0eae1728 RSI: 0000000000000001 RDI: ffff8dca0eae1720
RBP: ffff9beb86303b90 R08: 0000000000000000 R09: ffff9beb86303950
R10: ffff9beb86303948 R11: ffff8dca2f2a9b28 R12: 0000000000000000
R13: ffff8dc3023dae30 R14: 0000000000000000 R15: ffff8dc3376b21d8
FS: 00007fa79444b640(0000) GS:ffff8dca0eac0000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007fa6ec001278 CR3: 00000001e6984000 CR4: 0000000000750ee0
PKRU: 55555554
Call Trace:
<TASK>
drm_get_last_vbltimestamp+0xb2/0xc0
drm_update_vblank_count+0x91/0x3d0
drm_vblank_enable+0x14b/0x180
drm_vblank_get+0x95/0xe0
drm_crtc_queue_sequence_ioctl+0xfd/0x2d0
? __check_object_size+0x46/0x140
? drm_crtc_get_sequence_ioctl+0x1a0/0x1a0
drm_ioctl_kernel+0xb8/0x140
drm_ioctl+0x22a/0x3d0
? drm_crtc_get_sequence_ioctl+0x1a0/0x1a0
amdgpu_drm_ioctl+0x49/0x80 [amdgpu 08a70cd20fdf14582ce9165e3698aeaecdd8c8f8]
__x64_sys_ioctl+0x82/0xb0
do_syscall_64+0x5c/0x80
? do_user_addr_fault+0x1d7/0x690
? do_syscall_64+0x69/0x80
? exc_page_fault+0x72/0x170
entry_SYSCALL_64_after_hwframe+0x44/0xae
RIP: 0033:0x7fa7ac2a7e6f
Code: 00 48 89 44 24 18 31 c0 48 8d 44 24 60 c7 04 24 10 00 00 00 48 89 44 24 08 48 8d 44 24 20 48 89 44 24 10 b8 10 00 00 00 0f 05 <41> 89 c>
RSP: 002b:00007fa79444ab00 EFLAGS: 00000246 ORIG_RAX: 0000000000000010
RAX: ffffffffffffffda RBX: 00007fa79444ab90 RCX: 00007fa7ac2a7e6f
RDX: 00007fa79444ab90 RSI: 00000000c018643c RDI: 000000000000004a
RBP: 00000000c018643c R08: 0000000000000000 R09: 00007fa6ec000be0
R10: 000000000000006e R11: 0000000000000246 R12: 000055d760b895b8
R13: 000000000000004a R14: 000055d760c41d00 R15: 0000000000000000
</TASK>
---[ end trace 0000000000000000 ]---
[drm:dm_vblank_get_counter [amdgpu]] ERROR dc_stream_state is NULL for crtc '1'!
[drm:dm_crtc_get_scanoutpos [amdgpu]] ERROR dc_stream_state is NULL for crtc '1'!
[drm:dm_vblank_get_counter [amdgpu]] ERROR dc_stream_state is NULL for crtc '1'!
Regression
Downgrading Mesa to 21.3.7 allows SteamVR to start as expected.
Extra information
The bug has been reported on Linux's Bugzilla too.
Edited by Pierre Choffet