Divide error in Freesync preflip code
System mostly idling; scrolling through a web page. Sudden hang.
This is the second time that I recall this happening. Same kernel, 3 weeks ago.
The hang is followed about a minute later by the NMI watchdog reporting a hard lockup on one CPU thread, stuck in queued_spin_lock_slowpath (via amdgpu, in IRQ context) – presumably, a lock not released due to the initial error. (The previous occurrence has a very similar lockup – same function, again via amdgpu and in IRQ context, but a different route there.)
While the display is frozen, the system is otherwise responsive and can be rebooted normally.
-
CPU: Ryzen 3600
-
GPU: RX 6600 XT
-
Displays: 1× 1080p (60Hz, HDMI), 1× 1080p (Freesync, DP)
-
Distribution: Devuan 5 (daedalus)
-
Kernel version: 6.1.29 (locally compiled)
divide error: 0000 [#2] PREEMPT SMP
CPU: 9 PID: 2404 Comm: Xorg Not tainted 6.1.29 #3
Hardware name: Micro-Star International Co., Ltd MS-7C02/B450 TOMAHAWK MAX (MS-7C02), BIOS 3.C3 09/27/2021
RIP: 0010:mod_freesync_handle_preflip+0x84/0x3d0 [amdgpu]
Code: 19 03 00 00 40 84 ff 75 05 41 c6 40 39 01 41 8b 78 3c 31 d2 41 bb ff ff ff ff 44 8d 4c 3e ff 44 89 c8 f7 f7 31 d2 89 c5 89 f0 <f7> f5 89 c3 41 39 f9 72 10 89 f8 41 89 db 29 d8 41 29 fb 39 fb 44
RSP: 0018:ffffc90000e5f8f0 EFLAGS: 00010046
RAX: 00000000ffffe19b RBX: 0000000000000004 RCX: 00000000ffffe19b
RDX: 0000000000000000 RSI: 00000000ffffe19b RDI: 00000000000038f7
RBP: 0000000000000000 R08: ffffc90000e5f9f8 R09: 0000000000001a91
R10: 000000000000479d R11: 00000000ffffffff R12: ffff888108057000
R13: ffff888104cc5800 R14: ffffc90000e5f9f8 R15: 0000000000000000
FS: 00007f98e7d78ac0(0000) GS:ffff88842ee40000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007f3a5d5c9038 CR3: 0000000128c51000 CR4: 0000000000350ee0
Call Trace:
<TASK>
amdgpu_dm_atomic_commit_tail+0x23d1/0x28c0 [amdgpu]
? dcn20_populate_dml_pipes_from_context+0x8ab/0xdf0 [amdgpu]
? dc_validate_global_state+0x2ca/0x340 [amdgpu]
commit_tail+0x8f/0x120 [drm_kms_helper]
drm_atomic_helper_commit+0x10d/0x140 [drm_kms_helper]
drm_atomic_commit+0x91/0xc0
? drm_plane_get_damage_clips.cold+0x1c/0x1c
drm_mode_obj_set_property_ioctl+0x142/0x3a0
? drm_mode_obj_find_prop_id+0x40/0x40
drm_ioctl_kernel+0xbc/0x160
drm_ioctl+0x21c/0x420
? drm_mode_obj_find_prop_id+0x40/0x40
? __fget_light+0x98/0x100
amdgpu_drm_ioctl+0x45/0x80 [amdgpu]
__x64_sys_ioctl+0x8d/0xb0
do_syscall_64+0x42/0x90
entry_SYSCALL_64_after_hwframe+0x4b/0xb5