[Regression] Xwayland with explicit sync crashes on server reset
- Start Xwayland rootlful (easier) on NVIDIA driver 555 or above
- Run xdpyinfo
Xwayland dies with:
(gdb) bt
#0 0x00007f9fcc837144 in __pthread_kill_implementation () from /lib64/libc.so.6
#1 0x00007f9fcc7df65e in raise () from /lib64/libc.so.6
#2 0x00007f9fcc7c7902 in abort () from /lib64/libc.so.6
#3 0x0000559895395aaa in OsAbort () at ../os/utils.c:1283
#4 0x0000559895395d2e in AbortServer () at ../os/log.c:892
#5 FatalError (f=<optimized out>) at ../os/log.c:1030
#6 0x000055989538c1f2 in OsSigHandler (unused=<optimized out>, signo=11, sip=<optimized out>) at ../os/osinit.c:156
#7 OsSigHandler (signo=11, sip=<optimized out>, unused=<optimized out>) at ../os/osinit.c:110
#8 <signal handler called>
#9 0x0000000000000000 in ?? ()
#10 0x0000559895253e3e in xwl_window_buffer_destroy_pixmap (xwl_window_buffer=0x5598bfb2af20) at ../hw/xwayland/xwayland-window-buffers.c:108
#11 xwl_window_buffer_maybe_dispose (xwl_window_buffer=0x5598bfb2af20) at ../hw/xwayland/xwayland-window-buffers.c:123
#12 xwl_window_buffer_maybe_dispose (xwl_window_buffer=0x5598bfb2af20) at ../hw/xwayland/xwayland-window-buffers.c:113
#13 0x0000559895253f29 in xwl_window_buffer_timer_callback (timer=<optimized out>, time=15830079, arg=0x5598bf93d280) at ../hw/xwayland/xwayland-window-buffers.c:186
#14 0x0000559895392cf1 in DoTimer (timer=0x5598bfcbb740, now=<optimized out>) at ../os/WaitFor.c:274
#15 0x00005598952c26a1 in DoTimers (now=15830079) at ../os/WaitFor.c:288
#16 check_timers () at ../os/WaitFor.c:135
#17 WaitForSomething (are_ready=<optimized out>) at ../os/WaitFor.c:193
#18 Dispatch () at ../dix/dispatch.c:491
#19 0x0000559895242b46 in dix_main (argc=<optimized out>, argv=<optimized out>, envp=<optimized out>) at ../dix/main.c:275
#20 main (argc=<optimized out>, argv=<optimized out>, envp=<optimized out>) at ../dix/stubmain.c:34
(gdb) f 10
#10 0x0000559895253e3e in xwl_window_buffer_destroy_pixmap (xwl_window_buffer=0x5598bfb2af20) at ../hw/xwayland/xwayland-window-buffers.c:108
108 (*pScreen->DestroyPixmap) (xwl_window_buffer->pixmap);
(gdb) p pScreen->DestroyPixmap
$1 = (DestroyPixmapProcPtr) 0x0
(gdb)