Package: gnome-shell Version: 3.22.0-1 Severity: important Steps to reproduce:
* Have the gdm login screen on tty1 * Have a Wayland session on tty2 * Have an X11 session on tty3 * Switch to the X11 session with Ctrl+Alt+F3 * Switch back to the Wayland session with Ctrl+Alt+F2 Expected result: VT-switching works without crashes Actual result: the Wayland session segfaults: Core was generated by `/usr/bin/gnome-shell'. Program terminated with signal SIGSEGV, Segmentation fault. #0 0x00007faf54e99db9 in wl_resource_post_event (resource=resource@entry=0xffffffffffffffe0, opcode=opcode@entry=2) at ../src/wayland-server.c:158 158 ../src/wayland-server.c: No such file or directory. [Current thread is 1 (Thread 0x7faf621d6a80 (LWP 7944))] (gdb) bt #0 0x00007faf54e99db9 in wl_resource_post_event (resource=resource@entry=0xffffffffffffffe0, opcode=opcode@entry=2) at ../src/wayland-server.c:158 #1 0x00007faf60a8a667 in meta_wayland_pointer_send_motion (surface_y=<optimized out>, surface_x=<optimized out>, time=55634554, resource_=0xffffffffffffffe0) at /usr/include/wayland-server-protocol.h:2921 #2 0x00007faf60a8a667 in meta_wayland_pointer_send_motion (pointer=0x291a9b0 [MetaWaylandPointer], event=0x49d6030) at wayland/meta-wayland-pointer.c:339 #3 0x00007faf60a8ae5a in meta_wayland_pointer_handle_event (event=0x49d6030, pointer=0x291a9b0 [MetaWaylandPointer]) at wayland/meta-wayland-pointer.c:557 #4 0x00007faf60a8ae5a in meta_wayland_pointer_handle_event (event=0x49d6030, pointer=0x291a9b0 [MetaWaylandPointer]) at wayland/meta-wayland-pointer.c:564 #5 0x00007faf60a8ae5a in meta_wayland_pointer_handle_event (pointer=0x291a9b0 [MetaWaylandPointer], event=event@entry=0x49d6030) at wayland/meta-wayland-pointer.c:710 #6 0x00007faf60a8e6aa in meta_wayland_seat_handle_event (seat=<optimized out>, event=event@entry=0x49d6030) at wayland/meta-wayland-seat.c:360 #7 0x00007faf60a81dca in meta_wayland_compositor_handle_event (compositor=compositor@entry=0x7faf60d04320 <_meta_wayland_compositor>, event=event@entry=0x49d6030) at wayland/meta-wayland.c:208 #8 0x00007faf60a4d20f in event_callback (event=0x49d6030, display=0x2af0930 [MetaDisplay]) at core/events.c:386 #9 0x00007faf60a4d20f in event_callback (event=0x49d6030, data=0x2af0930) at core/events.c:401 #10 0x00007faf5fde42dd in _clutter_event_process_filters (event=event@entry=0x49d6030) at clutter-event.c:1913 #11 0x00007faf5fdf6bb3 in _clutter_process_event (device=0x2984070 [ClutterInputDeviceEvdev], event=0x49d6030) at clutter-main.c:2011 #12 0x00007faf5fdf6bb3 in _clutter_process_event (context=0x2871750, event=0x49d6030, stage=<optimized out>) at clutter-main.c:2372 #13 0x00007faf5fdf6bb3 in _clutter_process_event (event=event@entry=0x49d6030) at clutter-main.c:2548 #14 0x00007faf5fe0d039 in _clutter_stage_process_queued_events (stage=0x2981040 [MetaStage]) at clutter-stage.c:1026 #15 0x00007faf5fdf8d39 in clutter_clock_dispatch (master_clock=0x299f300 [ClutterMasterClockDefault], stages=<optimized out>) at clutter-master-clock-default.c:364 #16 0x00007faf5fdf8d39 in clutter_clock_dispatch (source=<optimized out>, callback=<optimized out>, user_data=<optimized out>) at clutter-master-clock-default.c:561 #17 0x00007faf5f2a57d7 in g_main_context_dispatch (context=0x25d2b20) at ././glib/gmain.c:3201 #18 0x00007faf5f2a57d7 in g_main_context_dispatch (context=context@entry=0x25d2b20) at ././glib/gmain.c:3854 #19 0x00007faf5f2a5a40 in g_main_context_iterate (context=0x25d2b20, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ././glib/gmain.c:3927 #20 0x00007faf5f2a5d62 in g_main_loop_run (loop=0x29a8a60) at ././glib/gmain.c:4123 #21 0x00007faf60a540dc in meta_run () at core/main.c:572 #22 0x00000000004021a7 in main () This appears to be an invalid @resource found in @pointer_resources here: wl_resource_for_each (resource, &pointer->focus_client->pointer_resources) { wl_pointer_send_motion (resource, time, // <--- here wl_fixed_from_double (sx), wl_fixed_from_double (sy)); } I don't really understand the Wayland client library, but this looks as though it ought to be iterating through an empty list and so should not call wl_resource_post_event() at all? (gdb) frame 2 #2 meta_wayland_pointer_send_motion (pointer=0x291a9b0 [MetaWaylandPointer], event=0x49d6030) at wayland/meta-wayland-pointer.c:339 339 in wayland/meta-wayland-pointer.c (gdb) p *pointer $2 = {parent = {parent_instance = {g_type_instance = {g_class = 0x29a79d0}, ref_count = 1, qdata = 0x0}}, focus_client = 0x4b986c0, pointer_clients = 0x6120e40, focus_surface = 0x47ea5e0 [MetaWaylandSurface], focus_surface_listener = {link = { prev = 0x25ea190, next = 0x5537a00}, notify = 0x7faf60a8b700 <pointer_handle_focus_surface_destroy>}, focus_serial = 1784, click_serial = 0, cursor_surface = 0x0, cursor_surface_destroy_id = 64859, grab = 0x291aa18, default_grab = {interface = 0x7faf60cf6ea0 <default_pointer_grab_interface>, pointer = 0x291a9b0 [MetaWaylandPointer]}, grab_button = 2, grab_serial = 1809, grab_time = 55550580, grab_x = 237.728607, grab_y = 744.693298, device = 0x2984070 [ClutterInputDeviceEvdev], current = 0x47ea5e0 [MetaWaylandSurface], button_count = 0} (gdb) p *pointer->focus_client $3 = {pointer_resources = {prev = 0x0, next = 0x0}, swipe_gesture_resources = { prev = 0xffffffff, next = 0x0}, pinch_gesture_resources = {prev = 0xffffffff, next = 0x2}, relative_pointer_resources = {prev = 0x0, next = 0x0}} (This is probably really a libmutter0i bug, but I'm initially reporting it against gnome-shell to get more complete package details.) Regards, S -- System Information: Debian Release: stretch/sid APT prefers unstable-debug APT policy: (500, 'unstable-debug'), (500, 'unstable'), (500, 'testing'), (500, 'stable'), (1, 'experimental-debug'), (1, 'experimental') Architecture: amd64 (x86_64) Foreign Architectures: i386 Kernel: Linux 4.7.0-1-amd64 (SMP w/4 CPU cores) Locale: LANG=en_GB.utf8, LC_CTYPE=en_GB.utf8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Init: systemd (via /run/systemd/system) Versions of packages gnome-shell depends on: ii dconf-gsettings-backend [gsettings-backend] 0.26.0-2 ii evolution-data-server 3.20.5-1 ii gir1.2-accountsservice-1.0 0.6.40-3 ii gir1.2-atspi-2.0 2.20.2-2 ii gir1.2-caribou-1.0 0.4.21-1 ii gir1.2-freedesktop 1.49.2-1 ii gir1.2-gcr-3 3.20.0-2 ii gir1.2-gdesktopenums-3.0 3.22.0-1 ii gir1.2-gdm-1.0 3.22.0-1 ii gir1.2-glib-2.0 1.49.2-1 ii gir1.2-gnomebluetooth-1.0 3.20.0-1 ii gir1.2-gnomedesktop-3.0 3.22.0-1 ii gir1.2-gtk-3.0 3.22.0-1 ii gir1.2-gweather-3.0 3.20.3-1 ii gir1.2-ibus-1.0 1.5.11-1 ii gir1.2-mutter-3.0 3.22.0-1 ii gir1.2-networkmanager-1.0 1.4.0-3 ii gir1.2-nmgtk-1.0 1.4.0-2 ii gir1.2-pango-1.0 1.40.2-1 ii gir1.2-polkit-1.0 0.105-16 ii gir1.2-soup-2.4 2.56.0-1 ii gir1.2-telepathyglib-0.12 0.24.1-1.1 ii gir1.2-telepathylogger-0.2 0.8.2-1 ii gir1.2-upowerglib-1.0 0.99.4-4 ii gjs 1.46.0-1 ii gnome-backgrounds 3.22.0-2 ii gnome-settings-daemon 3.22.0-1 ii gnome-shell-common 3.22.0-1 ii gsettings-desktop-schemas 3.22.0-1 ii libatk-bridge2.0-0 2.20.1-4 ii libatk1.0-0 2.22.0-1 ii libc6 2.24-3 ii libcairo2 1.14.6-1+b1 ii libcanberra-gtk3-0 0.30-3 ii libcanberra0 0.30-3 ii libcroco3 0.6.11-2 ii libdbus-glib-1-2 0.108-1 ii libecal-1.2-19 3.20.5-1 ii libedataserver-1.2-21 3.20.5-1 ii libgcr-base-3-1 3.20.0-2 ii libgdk-pixbuf2.0-0 2.36.0-1 ii libgirepository-1.0-1 1.49.2-1 ii libgjs0e [libgjs0-libmozjs-24-0] 1.46.0-1 ii libglib2.0-0 2.50.0-1 ii libglib2.0-bin 2.50.0-1 ii libgstreamer1.0-0 1.8.3-1 ii libgtk-3-0 3.22.0-1 ii libical2 2.0.0-0.5+b1 ii libicu57 57.1-4 ii libjson-glib-1.0-0 1.2.2-1 ii libmozjs-24-0 24.2.0-3.1 ii libmutter0i 3.22.0-1 ii libnm-glib4 1.4.0-3 ii libnm-util2 1.4.0-3 ii libpango-1.0-0 1.40.2-1 ii libpangocairo-1.0-0 1.40.2-1 ii libpolkit-agent-1-0 0.105-16 ii libpolkit-gobject-1-0 0.105-16 ii libpulse-mainloop-glib0 9.0-3 ii libpulse0 9.0-3 ii libsecret-1-0 0.18.5-2 ii libstartup-notification0 0.12-4 ii libsystemd0 231-7 ii libtelepathy-glib0 0.24.1-1.1 ii libwayland-client0 1.11.0-2 ii libx11-6 2:1.6.3-1 ii libxfixes3 1:5.0.2-1 ii mutter 3.22.0-1 ii python3 3.5.1-4 ii telepathy-mission-control-5 1:5.16.3-2 Versions of packages gnome-shell recommends: ii gdm3 3.22.0-1 ii gkbd-capplet 3.22.0.1-1 ii gnome-contacts 3.20.0-2 ii gnome-control-center 1:3.22.0-1 ii gnome-themes-standard-data 3.20.2-3 ii gnome-user-guide 3.22.0-1 ii iio-sensor-proxy 1.3-1 ii unzip 6.0-20 gnome-shell suggests no packages. -- no debconf information