XWayland crashes attempting to change video modes on the primary GPU from PRIME game
I am running the unusual configuration of an AMD RX 480 8GB as a primary GPU, and an Intel Arc A770 FE 16GB as a secondary GPU. I was running A Hat In Time on the Arc card, using DRI_PRIME=1
. XWayland was SIGABRT'd when I attempted to change the video mode of the game.
Sep 24 00:17:37 mrgency wayland-session_wayfire.desktop[6263]: amdgpu: The CS has been rejected (-22).
Sep 24 00:17:37 mrgency wayland-session_wayfire.desktop[6263]: (EE)
Sep 24 00:17:37 mrgency wayland-session_wayfire.desktop[6263]: (EE) Backtrace:
Sep 24 00:17:37 mrgency kernel: [drm:amdgpu_cs_ioctl [amdgpu]] *ERROR* Failed to process the buffer list -22!
Sep 24 00:17:37 mrgency wayland-session_wayfire.desktop[6263]: (EE) 0: Xwayland (0x5555cea6d000+0x16a4e3) [0x5555cebd74e3]
Sep 24 00:17:37 mrgency wayland-session_wayfire.desktop[6263]: (EE) 1: Xwayland (0x5555cea6d000+0x16ac74) [0x5555cebd7c74]
Sep 24 00:17:37 mrgency wayland-session_wayfire.desktop[6263]: (EE) 2: /usr/lib/libc.so.6 (0x7f2d90200000+0x3e710) [0x7f2d9023e710]
Sep 24 00:17:37 mrgency wayland-session_wayfire.desktop[6263]: (EE) 3: /usr/lib/libc.so.6 (0x7f2d90200000+0x8e83c) [0x7f2d9028e83c]
Sep 24 00:17:37 mrgency wayland-session_wayfire.desktop[6263]: (EE) 4: /usr/lib/libc.so.6 (raise+0x18) [0x7f2d9023e668]
Sep 24 00:17:37 mrgency wayland-session_wayfire.desktop[6263]: (EE) 5: /usr/lib/libc.so.6 (abort+0xd7) [0x7f2d902264b8]
Sep 24 00:17:37 mrgency wayland-session_wayfire.desktop[6263]: (EE) 6: /usr/lib/dri/radeonsi_dri.so (0x7f2d8c400000+0xab4e77) [0x7f2d8ceb4e77]
Sep 24 00:17:37 mrgency wayland-session_wayfire.desktop[6263]: (EE) 7: /usr/lib/dri/radeonsi_dri.so (0x7f2d8c400000+0xab8373) [0x7f2d8ceb8373]
Sep 24 00:17:37 mrgency wayland-session_wayfire.desktop[6263]: (EE) 8: /usr/lib/dri/radeonsi_dri.so (0x7f2d8c400000+0x120e3c) [0x7f2d8c520e3c]
Sep 24 00:17:37 mrgency wayland-session_wayfire.desktop[6263]: (EE) 9: /usr/lib/dri/radeonsi_dri.so (0x7f2d8c400000+0x143f5c) [0x7f2d8c543f5c]
Sep 24 00:17:37 mrgency wayland-session_wayfire.desktop[6263]: (EE) 10: /usr/lib/libc.so.6 (0x7f2d90200000+0x8c9eb) [0x7f2d9028c9eb]
Sep 24 00:17:37 mrgency wayland-session_wayfire.desktop[6263]: (EE) 11: /usr/lib/libc.so.6 (0x7f2d90200000+0x110dfc) [0x7f2d90310dfc]
Sep 24 00:17:37 mrgency wayland-session_wayfire.desktop[6263]: (EE)
Sep 24 00:17:37 mrgency wayland-session_wayfire.desktop[6263]: (EE)
Sep 24 00:17:37 mrgency wayland-session_wayfire.desktop[6263]: Fatal server error:
Sep 24 00:17:37 mrgency wayland-session_wayfire.desktop[6263]: (EE) Caught signal 6 (Aborted). Server aborting
Sep 24 00:17:37 mrgency wayland-session_wayfire.desktop[6263]: (EE)
Sep 24 00:17:37 mrgency systemd[1]: Started Process Core Dump (PID 236414/UID 0).
Sep 24 00:17:38 mrgency systemd-coredump[236415]: Process 6263 (Xwayland) of user 1000 dumped core.
Stack trace of thread 6350:
#0 0x00007f2d9028e83c n/a (libc.so.6 + 0x8e83c)
#1 0x00007f2d9023e668 raise (libc.so.6 + 0x3e668)
#2 0x00007f2d902264b8 abort (libc.so.6 + 0x264b8)
#3 0x00005555cebd738d OsAbort (Xwayland + 0x16a38d)
#4 0x00005555cebd776d AbortServer (Xwayland + 0x16a76d)
#5 0x00005555cebd7cd0 OsSigHandler (Xwayland + 0x16acd0)
#6 0x00007f2d9023e710 n/a (libc.so.6 + 0x3e710)
#7 0x00007f2d9028e83c n/a (libc.so.6 + 0x8e83c)
#8 0x00007f2d9023e668 raise (libc.so.6 + 0x3e668)
#9 0x00007f2d902264b8 abort (libc.so.6 + 0x264b8)
#10 0x00007f2d8ceb4e77 amdgpu_ctx_set_sw_reset_status (radeonsi_dri.so + 0xab4e77)
#11 0x00007f2d8ceb8373 amdgpu_cs_submit_ib (radeonsi_dri.so + 0xab8373)
#12 0x00007f2d8c520e3c util_queue_thread_func (radeonsi_dri.so + 0x120e3c)
#13 0x00007f2d8c543f5c impl_thrd_routine (radeonsi_dri.so + 0x143f5c)
#14 0x00007f2d9028c9eb n/a (libc.so.6 + 0x8c9eb)
#15 0x00007f2d90310dfc n/a (libc.so.6 + 0x110dfc)
Stack trace of thread 6390:
#0 0x00007f2d902894ae n/a (libc.so.6 + 0x894ae)
#1 0x00007f2d9028bd40 pthread_cond_wait (libc.so.6 + 0x8bd40)
#2 0x00007f2d8c54402e cnd_wait (radeonsi_dri.so + 0x14402e)
#3 0x00007f2d8c520d7c util_queue_thread_func (radeonsi_dri.so + 0x120d7c)
#4 0x00007f2d8c543f5c impl_thrd_routine (radeonsi_dri.so + 0x143f5c)
#5 0x00007f2d9028c9eb n/a (libc.so.6 + 0x8c9eb)
#6 0x00007f2d90310dfc n/a (libc.so.6 + 0x110dfc)
Stack trace of thread 6394:
#0 0x00007f2d902894ae n/a (libc.so.6 + 0x894ae)
#1 0x00007f2d9028bd40 pthread_cond_wait (libc.so.6 + 0x8bd40)
#2 0x00007f2d8c54402e cnd_wait (radeonsi_dri.so + 0x14402e)
#3 0x00007f2d8c520d7c util_queue_thread_func (radeonsi_dri.so + 0x120d7c)
#4 0x00007f2d8c543f5c impl_thrd_routine (radeonsi_dri.so + 0x143f5c)
#5 0x00007f2d9028c9eb n/a (libc.so.6 + 0x8c9eb)
#6 0x00007f2d90310dfc n/a (libc.so.6 + 0x110dfc)
Stack trace of thread 6264:
#0 0x00007f2d9030359f __poll (libc.so.6 + 0x10359f)
#1 0x00007f2d8f5f44b8 poll (libEGL_mesa.so.0 + 0x1f44b8)
#2 0x00007f2d8f5f46e3 _ZN8perfetto4base16ThreadTaskRunner13RunTaskThreadESt8functionIFvPNS0_14UnixTaskRunnerEEE (libEGL_mesa.so.0 + 0x1f46e3)
#3 0x00007f2d8f61c945 _ZSt13__invoke_implIvMN8perfetto4base16ThreadTaskRunnerEFvSt8functionIFvPNS1_14UnixTaskRunnerEEEEPS2_JS7_EET_St21__invoke_memfun_derefOT0_OT1_DpOT2_ (libEGL_mesa.so.0 + 0x21c945)
#4 0x00007f2d8f0e1943 execute_native_thread_routine (libstdc++.so.6 + 0xe1943)
#5 0x00007f2d9028c9eb n/a (libc.so.6 + 0x8c9eb)
#6 0x00007f2d90310dfc n/a (libc.so.6 + 0x110dfc)
Stack trace of thread 7111:
#0 0x00007f2d902894ae n/a (libc.so.6 + 0x894ae)
#1 0x00007f2d9028bd40 pthread_cond_wait (libc.so.6 + 0x8bd40)
#2 0x00007f2d8c54402e cnd_wait (radeonsi_dri.so + 0x14402e)
#3 0x00007f2d8c520d7c util_queue_thread_func (radeonsi_dri.so + 0x120d7c)
#4 0x00007f2d8c543f5c impl_thrd_routine (radeonsi_dri.so + 0x143f5c)
#5 0x00007f2d9028c9eb n/a (libc.so.6 + 0x8c9eb)
#6 0x00007f2d90310dfc n/a (libc.so.6 + 0x110dfc)
Stack trace of thread 7133:
#0 0x00007f2d902894ae n/a (libc.so.6 + 0x894ae)
#1 0x00007f2d9028bd40 pthread_cond_wait (libc.so.6 + 0x8bd40)
#2 0x00007f2d8c54402e cnd_wait (radeonsi_dri.so + 0x14402e)
#3 0x00007f2d8c520d7c util_queue_thread_func (radeonsi_dri.so + 0x120d7c)
#4 0x00007f2d8c543f5c impl_thrd_routine (radeonsi_dri.so + 0x143f5c)
#5 0x00007f2d9028c9eb n/a (libc.so.6 + 0x8c9eb)
#6 0x00007f2d90310dfc n/a (libc.so.6 + 0x110dfc)
Stack trace of thread 6393:
#0 0x00007f2d902894ae n/a (libc.so.6 + 0x894ae)
#1 0x00007f2d9028bd40 pthread_cond_wait (libc.so.6 + 0x8bd40)
#2 0x00007f2d8c54402e cnd_wait (radeonsi_dri.so + 0x14402e)
#3 0x00007f2d8c520d7c util_queue_thread_func (radeonsi_dri.so + 0x120d7c)
#4 0x00007f2d8c543f5c impl_thrd_routine (radeonsi_dri.so + 0x143f5c)
#5 0x00007f2d9028c9eb n/a (libc.so.6 + 0x8c9eb)
#6 0x00007f2d90310dfc n/a (libc.so.6 + 0x110dfc)
Stack trace of thread 6389:
#0 0x00007f2d902894ae n/a (libc.so.6 + 0x894ae)
#1 0x00007f2d9028bd40 pthread_cond_wait (libc.so.6 + 0x8bd40)
#2 0x00007f2d8c54402e cnd_wait (radeonsi_dri.so + 0x14402e)
#3 0x00007f2d8c520d7c util_queue_thread_func (radeonsi_dri.so + 0x120d7c)
#4 0x00007f2d8c543f5c impl_thrd_routine (radeonsi_dri.so + 0x143f5c)
#5 0x00007f2d9028c9eb n/a (libc.so.6 + 0x8c9eb)
#6 0x00007f2d90310dfc n/a (libc.so.6 + 0x110dfc)
Stack trace of thread 6263:
#0 0x00007f2d9030ed6d syscall (libc.so.6 + 0x10ed6d)
#1 0x00007f2d8c5186c7 sys_futex (radeonsi_dri.so + 0x1186c7)
#2 0x00007f2d8c5209e8 do_futex_fence_wait (radeonsi_dri.so + 0x1209e8)
#3 0x00007f2d8ce95df9 si_flush_all_queues (radeonsi_dri.so + 0xa95df9)
#4 0x00007f2d8cc09a03 tc_flush (radeonsi_dri.so + 0x809a03)
#5 0x00007f2d8c6da4a3 st_flush (radeonsi_dri.so + 0x2da4a3)
#6 0x00007f2d8c6da628 st_glFlush (radeonsi_dri.so + 0x2da628)
#7 0x00005555ceac0104 glamor_flush (Xwayland + 0x53104)
#8 0x00005555ceb15624 BlockHandler (Xwayland + 0xa8624)
#9 0x00005555cea9e3a8 dix_main (Xwayland + 0x313a8)
#10 0x00007f2d90227cd0 n/a (libc.so.6 + 0x27cd0)
#11 0x00007f2d90227d8a __libc_start_main (libc.so.6 + 0x27d8a)
#12 0x00005555cea9fd85 _start (Xwayland + 0x32d85)
Stack trace of thread 6351:
#0 0x00007f2d902894ae n/a (libc.so.6 + 0x894ae)
#1 0x00007f2d9028bd40 pthread_cond_wait (libc.so.6 + 0x8bd40)
#2 0x00007f2d8c54402e cnd_wait (radeonsi_dri.so + 0x14402e)
#3 0x00007f2d8c520d7c util_queue_thread_func (radeonsi_dri.so + 0x120d7c)
#4 0x00007f2d8c543f5c impl_thrd_routine (radeonsi_dri.so + 0x143f5c)
#5 0x00007f2d9028c9eb n/a (libc.so.6 + 0x8c9eb)
#6 0x00007f2d90310dfc n/a (libc.so.6 + 0x110dfc)
Stack trace of thread 6464:
#0 0x00007f2d902894ae n/a (libc.so.6 + 0x894ae)
#1 0x00007f2d9028bd40 pthread_cond_wait (libc.so.6 + 0x8bd40)
#2 0x00007f2d8c54402e cnd_wait (radeonsi_dri.so + 0x14402e)
#3 0x00007f2d8c520d7c util_queue_thread_func (radeonsi_dri.so + 0x120d7c)
#4 0x00007f2d8c543f5c impl_thrd_routine (radeonsi_dri.so + 0x143f5c)
#5 0x00007f2d9028c9eb n/a (libc.so.6 + 0x8c9eb)
#6 0x00007f2d90310dfc n/a (libc.so.6 + 0x110dfc)
Stack trace of thread 7105:
#0 0x00007f2d902894ae n/a (libc.so.6 + 0x894ae)
#1 0x00007f2d9028bd40 pthread_cond_wait (libc.so.6 + 0x8bd40)
#2 0x00007f2d8c54402e cnd_wait (radeonsi_dri.so + 0x14402e)
#3 0x00007f2d8c520d7c util_queue_thread_func (radeonsi_dri.so + 0x120d7c)
#4 0x00007f2d8c543f5c impl_thrd_routine (radeonsi_dri.so + 0x143f5c)
#5 0x00007f2d9028c9eb n/a (libc.so.6 + 0x8c9eb)
#6 0x00007f2d90310dfc n/a (libc.so.6 + 0x110dfc)
Stack trace of thread 7110:
#0 0x00007f2d902894ae n/a (libc.so.6 + 0x894ae)
#1 0x00007f2d9028bd40 pthread_cond_wait (libc.so.6 + 0x8bd40)
#2 0x00007f2d8c54402e cnd_wait (radeonsi_dri.so + 0x14402e)
#3 0x00007f2d8c520d7c util_queue_thread_func (radeonsi_dri.so + 0x120d7c)
#4 0x00007f2d8c543f5c impl_thrd_routine (radeonsi_dri.so + 0x143f5c)
#5 0x00007f2d9028c9eb n/a (libc.so.6 + 0x8c9eb)
#6 0x00007f2d90310dfc n/a (libc.so.6 + 0x110dfc)
Stack trace of thread 7109:
#0 0x00007f2d902894ae n/a (libc.so.6 + 0x894ae)
#1 0x00007f2d9028bd40 pthread_cond_wait (libc.so.6 + 0x8bd40)
#2 0x00007f2d8c54402e cnd_wait (radeonsi_dri.so + 0x14402e)
#3 0x00007f2d8c520d7c util_queue_thread_func (radeonsi_dri.so + 0x120d7c)
#4 0x00007f2d8c543f5c impl_thrd_routine (radeonsi_dri.so + 0x143f5c)
#5 0x00007f2d9028c9eb n/a (libc.so.6 + 0x8c9eb)
#6 0x00007f2d90310dfc n/a (libc.so.6 + 0x110dfc)
Stack trace of thread 7130:
#0 0x00007f2d902894ae n/a (libc.so.6 + 0x894ae)
#1 0x00007f2d9028bd40 pthread_cond_wait (libc.so.6 + 0x8bd40)
#2 0x00007f2d8c54402e cnd_wait (radeonsi_dri.so + 0x14402e)
#3 0x00007f2d8c520d7c util_queue_thread_func (radeonsi_dri.so + 0x120d7c)
#4 0x00007f2d8c543f5c impl_thrd_routine (radeonsi_dri.so + 0x143f5c)
#5 0x00007f2d9028c9eb n/a (libc.so.6 + 0x8c9eb)
#6 0x00007f2d90310dfc n/a (libc.so.6 + 0x110dfc)
Stack trace of thread 7116:
#0 0x00007f2d902894ae n/a (libc.so.6 + 0x894ae)
#1 0x00007f2d9028bd40 pthread_cond_wait (libc.so.6 + 0x8bd40)
#2 0x00007f2d8c54402e cnd_wait (radeonsi_dri.so + 0x14402e)
#3 0x00007f2d8c520d7c util_queue_thread_func (radeonsi_dri.so + 0x120d7c)
#4 0x00007f2d8c543f5c impl_thrd_routine (radeonsi_dri.so + 0x143f5c)
#5 0x00007f2d9028c9eb n/a (libc.so.6 + 0x8c9eb)
#6 0x00007f2d90310dfc n/a (libc.so.6 + 0x110dfc)
ELF object binary architecture: AMD x86-64
Possibly the PRIME subsystem didn't like the sudden buffer resolution change? Maybe this is a kernel bug? Or is it a userspace bug? A Mesa bug?