[regression] Weston crashes when a window closes while switching away when animation=zoom
It's easy to replicate I think, in konsole, run
sudo chvt 63; exit
And Weston will crash. Seems to be a recent regression.
Stack trace below
#0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
set = {__val = {82438, 140102321112774, 4222451712, 94258683936224, 94258683936325, 94258683936224, 94258683936224,
94258683936334, 94258683936524, 94258683936224, 94258683936524, 0, 0, 0, 0, 0}}
pid = <optimized out>
tid = <optimized out>
ret = <optimized out>
#1 0x00007f6c1d0f8537 in __GI_abort () at abort.c:79
save_stage = 1
act = {__sigaction_handler = {sa_handler = 0x55ba4f698490, sa_sigaction = 0x55ba4f698490}, sa_mask = {__val = {0,
94258683429840, 110, 0, 0, 0, 21474836480, 1, 140728377975664, 140102322244560, 140102322229544, 0,
12619257085471522304, 140102322212824, 140102131666944, 140102322229544}}, sa_flags = 487319985,
sa_restorer = 0x905}
sigs = {__val = {32, 0 <repeats 15 times>}}
#2 0x00007f6c1d0f840f in __assert_fail_base (fmt=0x7f6c1d261128 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n",
assertion=0x7f6c1d0bf315 "surface->resource == NULL", file=0x7f6c1d0be9b1 "../libweston/compositor.c", line=2309,
function=<optimized out>) at assert.c:92
str = 0x55ba4f698490 "\260\002WO\272U"
total = 4096
#3 0x00007f6c1d107662 in __GI___assert_fail (assertion=assertion@entry=0x7f6c1d0bf315 "surface->resource == NULL",
file=file@entry=0x7f6c1d0be9b1 "../libweston/compositor.c", line=line@entry=2309,
function=function@entry=0x7f6c1d0c0690 <__PRETTY_FUNCTION__.42> "weston_surface_destroy") at assert.c:101
No locals.
#4 0x00007f6c1d0aac2c in weston_surface_destroy (surface=surface@entry=0x55ba4f6ed2c0) at ../libweston/compositor.c:2309
cb = <optimized out>
next = <optimized out>
ev = <optimized out>
nv = <optimized out>
constraint = <optimized out>
next_constraint = <optimized out>
pnode = <optimized out>
pntmp = <optimized out>
__PRETTY_FUNCTION__ = "weston_surface_destroy"
#5 0x00007f6c1335ab2c in desktop_surface_removed (desktop_surface=0x55ba4f69f900, shell=<optimized out>)
at ../desktop-shell/shell.c:2481
shsurf = 0x55ba4f605a20
shsurf_child = 0x55ba4f605a10
tmp = 0x55ba4f605a10
surface = 0x55ba4f6ed2c0
#6 0x00007f6c1334a216 in weston_desktop_xdg_toplevel_destroy (toplevel=0x55ba4f54cb40) at ../libweston-desktop/xdg-shell.c:797
No locals.
#7 weston_desktop_xdg_surface_destroy (dsurface=<optimized out>, user_data=0x55ba4f54cb40)
at ../libweston-desktop/xdg-shell.c:1412
surface = 0x55ba4f54cb40
configure = <optimized out>
temp = <optimized out>
#8 0x00007f6c13348b6a in weston_desktop_surface_destroy (surface=0x55ba4f69f900) at ../libweston-desktop/surface.c:144
view = <optimized out>
next_view = <optimized out>
child = <optimized out>
next_child = <optimized out>
#9 0x00007f6c1d077c63 in destroy_resource () from /opt/lib/x86_64-linux-gnu/libwayland-server.so.0
No symbol table info available.
#10 0x00007f6c1d077cab in wl_resource_destroy () from /opt/lib/x86_64-linux-gnu/libwayland-server.so.0
No symbol table info available.
#11 0x00007f6c1cdbbd1d in ?? () from /usr/lib/x86_64-linux-gnu/libffi.so.7
No symbol table info available.
#12 0x00007f6c1cdbb289 in ?? () from /usr/lib/x86_64-linux-gnu/libffi.so.7
No symbol table info available.
#13 0x00007f6c1d07a539 in wl_closure_invoke () from /opt/lib/x86_64-linux-gnu/libwayland-server.so.0
No symbol table info available.
#14 0x00007f6c1d077f29 in wl_client_connection_data () from /opt/lib/x86_64-linux-gnu/libwayland-server.so.0
No symbol table info available.
#15 0x00007f6c1d079631 in wl_event_loop_dispatch () from /opt/lib/x86_64-linux-gnu/libwayland-server.so.0
No symbol table info available.
#16 0x00007f6c1d07813f in wl_display_run () from /opt/lib/x86_64-linux-gnu/libwayland-server.so.0
No symbol table info available.
#17 0x00007f6c1d2a3fc3 in wet_main (argc=<optimized out>, argv=0x7ffde0fab278, test_data=0x0) at ../compositor/main.c:3503
ret = 1
cmdline = <optimized out>
display = 0x55ba4ecea470
signals = {0x55ba4ece2b80, 0x55ba4ece06d0, 0x55ba4ece02e0, 0x55ba4ece0200}
loop = <optimized out>
i = <optimized out>
fd = <optimized out>
backend = 0x55ba4ece1d90 "drm-backend.so"
shell = 0x55ba4f58dbf0 "desktop-shell.so"
xwayland = true
modules = 0x55ba4f584da0 ""
option_modules = 0x55ba4ece1db0 "screen-share.so"
log = 0x0
log_scopes = 0x0
flight_rec_scopes = 0x0
server_socket = <optimized out>
idle_time = 300
help = 0
socket_name = 0x55ba4ece9770 "wayland-4000-seat0"
version = 0
noconfig = 0
debug_protocol = 0
numlock_on = false
config_file = 0x0
config = <optimized out>
section = <optimized out>
primary_client = <optimized out>
primary_client_destroyed = {link = {prev = 0x0, next = 0x1}, notify = 0x0}
seat = <optimized out>
wet = {compositor = 0x55ba4eceb5e0, config = 0x55ba4ecea550, parsed_options = 0x0, drm_use_current_mode = false, heads_changed_listener = {link = {prev = 0x55ba4eceb9d0, next = 0x55ba4eceb9d0}, notify = 0x7f6c1d2a11b9 <drm_heads_changed>}, simple_output_configure = 0x0, init_failed = false, layoutput_list = {prev = 0x55ba4f55f228, next = 0x55ba4f55f228}, child_process_list = {prev = 0x55ba4f5566f0, next = 0x55ba4f556010}, autolaunch_pid = -1, autolaunch_watch = false}
log_ctx = 0x55ba4ece9790
logger = 0x55ba4ece9870
flight_rec = 0x55ba4ece98b0
mask = {__val = {512, 0 <repeats 15 times>}}
wait_for_debugger = false
protologger = 0x55ba4ecebff0
core_options = {{type = WESTON_OPTION_STRING, name = 0x7f6c1d2a8e57 "backend", short_name = 66 'B', data = 0x7ffde0faabf8}, {type = WESTON_OPTION_STRING, name = 0x7f6c1d2a7fcc "shell", short_name = 0 '\000', data = 0x7ffde0faac00}, {type = WESTON_OPTION_STRING, name = 0x7f6c1d2a763b "socket", short_name = 83 'S', data = 0x7ffde0faac30}, {type = WESTON_OPTION_INTEGER, name = 0x7f6c1d2a7fd2 "idle-time", short_name = 105 'i', data = 0x7ffde0faabe0}, {type = WESTON_OPTION_BOOLEAN, name = 0x7f6c1d2a7fdc "xwayland", short_name = 0 '\000', data = 0x7ffde0faabdd}, {type = WESTON_OPTION_STRING, name = 0x7f6c1d2a7fe5 "modules", short_name = 0 '\000', data = 0x7ffde0faac10}, {type = WESTON_OPTION_STRING, name = 0x7f6c1d2a7fed "log", short_name = 0 '\000', data = 0x7ffde0faac18}, {type = WESTON_OPTION_BOOLEAN, name = 0x7f6c1d2a7ff1 "help", short_name = 104 'h', data = 0x7ffde0faabe4}, {type = WESTON_OPTION_BOOLEAN, name = 0x7f6c1d2a7ff6 "version", short_name = 0 '\000', data = 0x7ffde0faabe8}, {type = WESTON_OPTION_BOOLEAN, name = 0x7f6c1d2a7ffe "no-config", short_name = 0 '\000', data = 0x7ffde0faabec}, {type = WESTON_OPTION_STRING, name = 0x7f6c1d2a8001 "config", short_name = 99 'c', data = 0x7ffde0faac38}, {type = WESTON_OPTION_BOOLEAN, name = 0x7f6c1d2a8008 "wait-for-debugger", short_name = 0 '\000', data = 0x7ffde0faabde}, {type = WESTON_OPTION_BOOLEAN, name = 0x7f6c1d2a801a "debug", short_name = 0 '\000', data = 0x7ffde0faabf0}, {type = WESTON_OPTION_STRING, name = 0x7f6c1d2a8020 "logger-scopes", short_name = 108 'l', data = 0x7ffde0faac20}, {type = WESTON_OPTION_STRING, name = 0x7f6c1d2a802e "flight-rec-scopes", short_name = 102 'f', data = 0x7ffde0faac28}}
#18 0x00007f6c1d0f9d0a in __libc_start_main (main=0x55ba4e27a050 <main>, argc=6, argv=0x7ffde0fab278, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7ffde0fab268) at ../csu/libc-start.c:308
self = <optimized out>
result = <optimized out>
unwind_buf = {cancel_jmp_buf = {{jmp_buf = {0, -680758776916143117, 94258663497824, 0, 0, 0, -6772806059050462221, -6691835369408097293}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x6, 0x7ffde0fab278}, data = {prev = 0x0, cleanup = 0x0, canceltype = 6}}}
not_first_call = <optimized out>
#19 0x000055ba4e27a08a in _start ()
No symbol table info available.