Crash on monitor unplug (layer-shell handle_unmap)
While debugging a phosh crash i got this phoc crash on monitor unplug:
(gdb) bt
#0 0x00007fa94a9c6c67 in wl_list_remove (elm=elm@entry=0x55b90d834cb8) at ../src/wayland-util.c:55
#1 0x000055b90b24cfa4 in handle_unmap (listener=0x55b90d834c58, data=<optimized out>) at ../src/layer_shell.c:734
#2 0x000055b90b298ecc in wlr_signal_emit_safe (signal=signal@entry=0x55b90d8105c8, data=data@entry=0x55b90d810490) at ../subprojects/wlroots/util/signal.c:29
#3 0x000055b90b287ab1 in layer_surface_unmap (surface=surface@entry=0x55b90d810490) at ../subprojects/wlroots/types/wlr_layer_shell_v1.c:206
#4 0x000055b90b28834d in wlr_layer_surface_v1_close (surface=0x55b90d810490) at ../subprojects/wlroots/types/wlr_layer_shell_v1.c:294
#5 0x000055b90b298ecc in wlr_signal_emit_safe (signal=signal@entry=0x55b90d0ba6f8, data=data@entry=0x55b90d0ba4d0) at ../subprojects/wlroots/util/signal.c:29
#6 0x000055b90b260450 in drm_connector_cleanup (conn=conn@entry=0x55b90d0ba4d0) at ../subprojects/wlroots/backend/drm/drm.c:1655
#7 0x000055b90b260c68 in scan_drm_connectors (drm=<optimized out>) at ../subprojects/wlroots/backend/drm/drm.c:1455
#8 0x000055b90b298ecc in wlr_signal_emit_safe (signal=<optimized out>, data=data@entry=0x55b90c9c60b0) at ../subprojects/wlroots/util/signal.c:29
#9 0x000055b90b26cc3f in udev_event (fd=<optimized out>, mask=<optimized out>, data=0x55b90c9c60b0) at ../subprojects/wlroots/backend/session/session.c:52
#10 0x00007fa94a9c4402 in wl_event_loop_dispatch (loop=0x55b90c9be400, timeout=timeout@entry=0) at ../src/event-loop.c:1027
#11 0x000055b90b2470f7 in wayland_event_source_dispatch (base=<optimized out>, callback=<optimized out>, data=<optimized out>) at ../src/server.c:42
#12 0x00007fa94ac5f5fd in g_main_dispatch (context=0x55b90d09d490) at ../../../glib/gmain.c:3309
#13 g_main_context_dispatch (context=context@entry=0x55b90d09d490) at ../../../glib/gmain.c:3974
#14 0x00007fa94ac5f880 in g_main_context_iterate (context=0x55b90d09d490, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../../../glib/gmain.c:4047
#15 0x00007fa94ac5fb53 in g_main_loop_run (loop=0x55b90d09d5b0) at ../../../glib/gmain.c:4241
#16 0x000055b90b246e4c in main (argc=<optimized out>, argv=<optimized out>) at ../src/main.c:137
all of the shell surfaces where on the unplugged screen (this was on intel,shell unlocked).