wayland-backend: Crash on output-count > 1 when window is closed
Run weston as a nested Wayland session with
weston --backend=wayland-backend.so --output-count=2
and then close one of the windows.
Program terminated with signal SIGSEGV, Segmentation fault. #0 0x00007fe6a827ee94 in wl_proxy_marshal_constructor () from /usr/lib/libwayland-client.so.0 [Current thread is 1 (Thread 0x7fe6a77898c0 (LWP 12935))] (gdb) bt #0 0x00007fe6a827ee94 in wl_proxy_marshal_constructor () at /usr/lib/libwayland-client.so.0 #1 0x00007fe6a82b065c in wl_surface_frame (wl_surface=0x0) at /usr/include/wayland-client-protocol.h:3539 #2 0x00007fe6a82b1b48 in wayland_output_start_repaint_loop (output_base=0x55bbdb8ef4c0) at ../libweston/backend-wayland/wayland.c:502 #3 0x00007fe6a82dc6a8 in idle_repaint (data=0x55bbdb8ef4c0) at ../libweston/compositor.c:2774 #4 0x00007fe6a826d75c in wl_event_loop_dispatch_idle () at /usr/lib/libwayland-server.so.0 #5 0x00007fe6a826d816 in wl_event_loop_dispatch () at /usr/lib/libwayland-server.so.0 #6 0x00007fe6a826c39c in wl_display_run () at /usr/lib/libwayland-server.so.0 #7 0x000055bbdaf3d451 in main (argc=1, argv=0x7fff97abbfc8) at ../compositor/main.c:3151
The issue seems to be that the idle repaint timer is firing for the output AFTER it the parent window has been closed.