GNOME Bugzilla – Bug 791371
Holding finger on touchscreen while GNOME initially starts up crashes GNOME
Last modified: 2018-01-12 11:00:35 UTC
What the title says, if you try to log into GNOME in wayland mode while holding your finger on the touch screen the shell will suddenly crash and you'll be returned to gdm's login screen. Seen on Fedora 27 gnome shell 3.26.2 Stack trace from systemd: Process 2084 (gnome-shell) of user 1000 dumped core. Stack trace of thread 2084: #0 0x00007f6de4ed47a5 process_device_event (libmutter-clutter-1.so) #1 0x00007f6de4ed4f74 dispatch_libinput (libmutter-clutter-1.so) #2 0x00007f6de625bbb7 g_main_context_dispatch (libglib-2.0.so.0) #3 0x00007f6de625bf60 g_main_context_iterate.isra.25 (libglib-2.0.so.0) #4 0x00007f6de625c272 g_main_loop_run (libglib-2.0.so.0) #5 0x00007f6de47ab56d meta_xwayland_start (libmutter-1.so.0) #6 0x00007f6de47aa96e meta_wayland_init (libmutter-1.so.0) #7 0x00007f6de47760b5 meta_init (libmutter-1.so.0) #8 0x000055cdf27dc11a main (gnome-shell) #9 0x00007f6de40ef03a __libc_start_main (libc.so.6) #10 0x000055cdf27dc56a _start (gnome-shell) Stack trace of thread 2086: #0 0x00007f6de41db8bb __GI___poll (libc.so.6) #1 0x00007f6de625bed9 g_main_context_iterate.isra.25 (libglib-2.0.so.0) #2 0x00007f6de625bfec g_main_context_iteration (libglib-2.0.so.0) #3 0x00007f6de625c031 glib_worker_main (libglib-2.0.so.0) #4 0x00007f6de62834c6 g_thread_proxy (libglib-2.0.so.0) #5 0x00007f6de44ba609 start_thread (libpthread.so.0) #6 0x00007f6de41e7e6f __clone (libc.so.6) Stack trace of thread 2089: #0 0x00007f6de41db8bb __GI___poll (libc.so.6) #1 0x00007f6de625bed9 g_main_context_iterate.isra.25 (libglib-2.0.so.0) #2 0x00007f6de625bfec g_main_context_iteration (libglib-2.0.so.0) #3 0x00007f6dd05d142d dconf_gdbus_worker_thread (libdconfsettings.so) #4 0x00007f6de62834c6 g_thread_proxy (libglib-2.0.so.0) #5 0x00007f6de44ba609 start_thread (libpthread.so.0) #6 0x00007f6de41e7e6f __clone (libc.so.6) Stack trace of thread 2087: #0 0x00007f6de41db8bb __GI___poll (libc.so.6) #1 0x00007f6de625bed9 g_main_context_iterate.isra.25 (libglib-2.0.so.0) #2 0x00007f6de625c272 g_main_loop_run (libglib-2.0.so.0) #3 0x00007f6de6844b36 gdbus_shared_thread_func (libgio-2.0.so.0) #4 0x00007f6de62834c6 g_thread_proxy (libglib-2.0.so.0) #5 0x00007f6de44ba609 start_thread (libpthread.so.0) #6 0x00007f6de41e7e6f __clone (libc.so.6) Stack trace of thread 2088: #0 0x00007f6de41e20d9 syscall (libc.so.6) #1 0x00007f6de62a166a g_cond_wait_until (libglib-2.0.so.0) #2 0x00007f6de6230381 g_async_queue_pop_intern_unlocked (libglib-2.0.so.0) #3 0x00007f6de6283e64 g_thread_pool_thread_proxy (libglib-2.0.so.0) #4 0x00007f6de62834c6 g_thread_proxy (libglib-2.0.so.0) #5 0x00007f6de44ba609 start_thread (libpthread.so.0) #6 0x00007f6de41e7e6f __clone (libc.so.6) I find some really bizarre bugs…
Thanks for taking the time to report this. Unfortunately, that stack trace is missing some elements that will help a lot to solve the problem, so it will be hard for the developers to fix that crash. Can you get us a stack trace with debugging symbols? Please see https://wiki.gnome.org/Community/GettingInTouch/Bugzilla/GettingTraces for more information on how to do so and reopen this bug report. Thanks in advance!
crash reproducible on Arch Linux, gnome 3.26.2.
We'll need a more complete stacktrace to narrow down the issue, but the trace we have points to mutter's clutter fork, so reassigning.
(gdb) bt
+ Trace 238237
Please provide a complete stacktrace (thread apply all bt full), not only one thread. Thanks! :)
Created attachment 365351 [details] [review] clutter/evdev: Ignore unknown touch points We might receive touch events for unknown touch points, for example when starting mutter while touching the screen (resulting in no touch-down event ever being received). Avoid crashing when this happens by just dropping these events on the floor. ---- I haven't tested, but suspect this might be the issue.
Comment on attachment 365351 [details] [review] clutter/evdev: Ignore unknown touch points Makes sense.
Attachment 365351 [details] pushed as 4e3b26d - clutter/evdev: Ignore unknown touch points