Xwayland crash in xwl_present_execute
F36 Silverblue, xorg-x11-server-Xwayland-22.1.0-1.fc36.x86_64, mutter and gnome-shell 42.rc, had a bunch of Half-Life (the game) windows open.
(gdb) bt
#0 __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at pthread_kill.c:44
#1 0x00007f926d0aff43 in __pthread_kill_internal (signo=6, threadid=<optimized out>) at pthread_kill.c:78
#2 0x00007f926d05fa36 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26
#3 0x00007f926d04982f in __GI_abort () at abort.c:79
#4 0x000055bda2c890e0 in OsAbort () at ../os/utils.c:1353
#5 0x000055bda2c94b3f in AbortServer () at ../os/log.c:879
#6 FatalError (f=<optimized out>) at ../os/log.c:1017
#7 0x000055bda2c87291 in OsSigHandler (unused=<optimized out>, sip=<optimized out>, signo=11) at ../os/osinit.c:156
#8 OsSigHandler (signo=11, sip=<optimized out>, unused=<optimized out>) at ../os/osinit.c:110
#9 <signal handler called>
#10 0x000055bda2b67bfe in xorg_list_del (entry=<optimized out>) at ../include/list.h:204
#11 xwl_present_queue_vblank (screen=screen@entry=0x55bda3e74330, present_window=present_window@entry=0x55bda5031630, crtc=<optimized out>, event_id=657222967404944, msc=msc@entry=1628395) at ../hw/xwayland/xwayland-present.c:505
#12 0x000055bda2b66c9a in xwl_present_execute (vblank=0x55bda582a990, ust=32554514639, crtc_msc=1628394) at ../hw/xwayland/xwayland-present.c:827
#13 0x000055bda2b67fa7 in xwl_present_pixmap (window=<optimized out>, pixmap=<optimized out>, serial=2445290, valid=0x0, update=<optimized out>, x_off=<optimized out>, y_off=0, target_crtc=<optimized out>, wait_fence=0x0, idle_fence=0x55bda5011540,
options=9, target_window_msc=1628394, divisor=0, remainder=0, notifies=0x0, num_notifies=0) at ../hw/xwayland/xwayland-present.c:934
#14 0x000055bda2c1be4f in present_pixmap (num_notifies=0, notifies=0x0, remainder=<optimized out>, divisor=<optimized out>, window_msc=1628394, options=<optimized out>, idle_fence=0x55bda5011540, wait_fence=<optimized out>, target_crtc=0x0, y_off=0,
x_off=<optimized out>, update=<optimized out>, valid=<optimized out>, serial=<optimized out>, pixmap=<optimized out>, window=<optimized out>) at ../present/present.c:243
#15 proc_present_pixmap (client=<optimized out>) at ../present/present_request.c:146
#16 0x000055bda2bc0e98 in Dispatch () at ../dix/dispatch.c:550
#17 0x000055bda2b4d9d9 in dix_main (envp=<optimized out>, argv=<optimized out>, argc=<optimized out>) at ../dix/main.c:271
#18 main (argc=<optimized out>, argv=<optimized out>, envp=<optimized out>) at ../dix/stubmain.c:34
(gdb) bt full
#0 __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at pthread_kill.c:44
tid = <optimized out>
ret = 0
pd = <optimized out>
old_mask = {__val = {94272968225312, 67108868, 140266871061216, 0, 94272998504800, 140266881914198, 94273005622832, 94272966947333, 140733000402736, 0, 0, 140266872198413, 58037700085040, 94272966730280, 140733000407256, 140733000402224}}
ret = <optimized out>
#1 0x00007f926d0aff43 in __pthread_kill_internal (signo=6, threadid=<optimized out>) at pthread_kill.c:78
No locals.
#2 0x00007f926d05fa36 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26
ret = <optimized out>
#3 0x00007f926d04982f in __GI_abort () at abort.c:79
save_stage = 1
act = {__sigaction_handler = {sa_handler = 0x0, sa_sigaction = 0x0}, sa_mask = {__val = {32, 9, 94272968233127, 171515904, 94272986977280, 94272997362256, 140266871448499, 9, 5, 0, 5, 0, 0, 0, 0, 0}}, sa_flags = 0,
sa_restorer = 0x7f926d216380 <__GI__IO_file_jumps>}
sigs = {__val = {32, 94272966947333, 140733000402736, 0, 0, 140266872198413, 58037700085040, 94272966730280, 140733000407256, 140733000402224, 140733000402832, 11, 12, 140265109061636, 140266871061216, 5952875063070620672}}
#4 0x000055bda2c890e0 in OsAbort () at ../os/utils.c:1353
No locals.
#5 0x000055bda2c94b3f in AbortServer () at ../os/log.c:879
No locals.
#6 FatalError (f=<optimized out>) at ../os/log.c:1017
args = {{gp_offset = 24, fp_offset = 48, overflow_arg_area = 0x7ffef47f47a0, reg_save_area = 0x7ffef47f46e0}}
args2 = {{gp_offset = 8, fp_offset = 48, overflow_arg_area = 0x7ffef47f47a0, reg_save_area = 0x7ffef47f46e0}}
beenhere = 1
#7 0x000055bda2c87291 in OsSigHandler (unused=<optimized out>, sip=<optimized out>, signo=11) at ../os/osinit.c:156
No locals.
#8 OsSigHandler (signo=11, sip=<optimized out>, unused=<optimized out>) at ../os/osinit.c:110
No locals.
#9 <signal handler called>
No locals.
#10 0x000055bda2b67bfe in xorg_list_del (entry=<optimized out>) at ../include/list.h:204
No locals.
#11 xwl_present_queue_vblank (screen=screen@entry=0x55bda3e74330, present_window=present_window@entry=0x55bda5031630, crtc=<optimized out>, event_id=657222967404944, msc=msc@entry=1628395) at ../hw/xwayland/xwayland-present.c:505
xwl_present_window = 0x55bda4fd47d0
xwl_window = 0x55bda5022df0
event = 0x255bda582a990
#12 0x000055bda2b66c9a in xwl_present_execute (vblank=0x55bda582a990, ust=32554514639, crtc_msc=1628394) at ../hw/xwayland/xwayland-present.c:827
screen = 0x55bda3e74330
window = 0x55bda5031630
xwl_present_window = 0x55bda4fd47d0
flip_pending = <optimized out>
__PRETTY_FUNCTION__ = "xwl_present_execute"
#13 0x000055bda2b67fa7 in xwl_present_pixmap (window=<optimized out>, pixmap=<optimized out>, serial=2445290, valid=0x0, update=<optimized out>, x_off=<optimized out>, y_off=0, target_crtc=<optimized out>, wait_fence=0x0, idle_fence=0x55bda5011540,
options=9, target_window_msc=1628394, divisor=0, remainder=0, notifies=0x0, num_notifies=0) at ../hw/xwayland/xwayland-present.c:934
ust = <optimized out>
target_msc = 1628394
crtc_msc = <optimized out>
ret = <optimized out>
vblank = <optimized out>
tmp = <optimized out>
screen = 0x55bda3e74330
window_priv = <optimized out>
screen_priv = <optimized out>
event = <optimized out>
#14 0x000055bda2c1be4f in present_pixmap (num_notifies=0, notifies=0x0, remainder=<optimized out>, divisor=<optimized out>, window_msc=1628394, options=<optimized out>, idle_fence=0x55bda5011540, wait_fence=<optimized out>, target_crtc=0x0, y_off=0,
x_off=<optimized out>, update=<optimized out>, valid=<optimized out>, serial=<optimized out>, pixmap=<optimized out>, window=<optimized out>) at ../present/present.c:243
screen = <optimized out>
screen_priv = <optimized out>
screen = <optimized out>
screen_priv = <optimized out>
#15 proc_present_pixmap (client=<optimized out>) at ../present/present_request.c:146
--Type <RET> for more, q to quit, c to continue without paging--c
stuff = <optimized out>
window = 0x55bda5031630
pixmap = 0x55bda4fd4850
valid = 0x0
update = 0x0
wait_fence = 0x0
idle_fence = 0x55bda5011540
target_crtc = 0x0
ret = <optimized out>
nnotifies = 0
notifies = 0x0
#16 0x000055bda2bc0e98 in Dispatch () at ../dix/dispatch.c:550
result = <optimized out>
client = 0x55bda4fc2800
start_tick = 1795
#17 0x000055bda2b4d9d9 in dix_main (envp=<optimized out>, argv=<optimized out>, argc=<optimized out>) at ../dix/main.c:271
i = <optimized out>
alwaysCheckForInput = {0, 1}
i = <optimized out>
alwaysCheckForInput = <optimized out>
pScreen = <optimized out>
pScreen = <optimized out>
remember_it = <optimized out>
pScreen = <optimized out>
#18 main (argc=<optimized out>, argv=<optimized out>, envp=<optimized out>) at ../dix/stubmain.c:34
No locals.
(gdb) frame 11
#11 xwl_present_queue_vblank (screen=screen@entry=0x55bda3e74330, present_window=present_window@entry=0x55bda5031630, crtc=<optimized out>, event_id=657222967404944, msc=msc@entry=1628395) at ../hw/xwayland/xwayland-present.c:505
505 xorg_list_del(&event->vblank.event_queue);
(gdb) p *event
Cannot access memory at address 0x255bda582a990