GTK applications are crashing in Wayland session with Wacom Touchscreen + Stylus
Steps to reproduce
- Open a GTK3 app on wayland (X11 works fine)
- Hover the stylus over the application window (it's not required to touch the screen)
- Crash
Version information
Fedora 31 Beta, gtk3-3.24.11-1.fc31.x86_64, glib-1.2.10-56.fc31.x86_64
Lenovo ThinkPad L390 Yoga + ThinkPad Pen + Wacom ISDv4 5158 Touchscreen
Warnings
No warnings.
Backtrace
1 - Totem
#0 0x00007ffff7e1c97a in g_slist_prepend (list=0x0, data=0x555555c97b80) at ../glib/gslist.c:260
#1 0x00007ffff6b8950b in gdk_window_add_update_window (window=0x555555c97b80 [GdkWaylandWindow]) at gdkwindow.c:3758
#2 0x00007ffff6b8950b in gdk_window_add_update_window (window=0x555555c97b80 [GdkWaylandWindow]) at gdkwindow.c:3680
#3 0x00007ffff6b929d9 in impl_window_add_update_area (region=0x5555562d83b0, impl_window=0x555555c97b80 [GdkWaylandWindow]) at gdkwindow.c:4354
#4 0x00007ffff6b929d9 in gdk_window_invalidate_maybe_recurse_full (window=0x555555c97b80 [GdkWaylandWindow], window@entry=0x555555f94050 [GdkWaylandWindow], region=region@entry=0x55555625cf70, child_func=child_func@entry=0x7ffff6b88320 <true_predicate>, user_data=user_data@entry=0x0) at gdkwindow.c:4485
#5 0x00007ffff6b92ac8 in gdk_window_invalidate_region_full (invalidate_children=1, region=0x55555625cf70, window=0x555555f94050 [GdkWaylandWindow]) at gdkwindow.c:4546
#6 0x00007ffff6b92ac8 in gdk_window_invalidate_rect_full (invalidate_children=1, rect=<optimized out>, window=0x555555f94050 [GdkWaylandWindow]) at gdkwindow.c:4276
#7 0x00007ffff6b92ac8 in gdk_window_invalidate_rect_full (window=0x555555f94050 [GdkWaylandWindow], rect=<optimized out>, invalidate_children=1) at gdkwindow.c:4251
#8 0x00007ffff758fbc6 in gtk_icon_view_queue_draw_item (icon_view=icon_view@entry=0x5555555a27d0 [GdMainIconView], item=item@entry=0x5555557bfce0) at gtkiconview.c:3233
#9 0x00007ffff75964b1 in gtk_icon_view_motion (widget=widget@entry=0x5555555a27d0 [GdMainIconView], event=<optimized out>) at gtkiconview.c:2039
#14 0x00007ffff7f05a03 in <emit signal ??? on instance 0x5555555a27d0 [GdMainIconView]> (instance=instance@entry=0x5555555a27d0, signal_id=<optimized out>, detail=detail@entry=0) at ../gobject/gsignal.c:3453
#10 0x00007ffff7757f6b in _gtk_marshal_BOOLEAN__BOXED (closure=0x55555560cd60, return_value=0x7fffffffcd40, n_param_values=<optimized out>, param_values=0x7fffffffcda0, invocation_hint=<optimized out>, marshal_data=<optimized out>) at gtkmarshalers.c:83
#11 0x00007ffff7ee8742 in g_closure_invoke (closure=0x55555560cd60, return_value=0x7fffffffcd40, n_param_values=2, param_values=0x7fffffffcda0, invocation_hint=0x7fffffffcd20) at ../gobject/gclosure.c:810
#12 0x00007ffff7efbd26 in signal_emit_unlocked_R (node=<optimized out>, detail=detail@entry=0, instance=instance@entry=0x5555555a27d0, emission_return=emission_return@entry=0x7fffffffcec0, instance_and_params=instance_and_params@entry=0x7fffffffcda0) at ../gobject/gsignal.c:3679
#13 0x00007ffff7f049ee in g_signal_emit_valist (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>, var_args=var_args@entry=0x7fffffffcf70) at ../gobject/gsignal.c:3407
#15 0x00007ffff7702c73 in gtk_widget_event_internal (event=0x555555dd0c60, widget=0x5555555a27d0 [GdMainIconView]) at gtkwidget.c:7789
#16 0x00007ffff7702c73 in gtk_widget_event_internal (widget=0x5555555a27d0 [GdMainIconView], event=0x555555dd0c60) at gtkwidget.c:7658
#17 0x00007ffff75bf088 in propagate_event_up (topmost=<optimized out>, event=<optimized out>, widget=0x5555555a27d0 [GdMainIconView]) at gtkmain.c:2582
#18 0x00007ffff75bf088 in propagate_event (widget=<optimized out>, event=0x555555dd0c60, captured=<optimized out>, topmost=0x0) at gtkmain.c:2685
#19 0x00007ffff75c129b in gtk_main_do_event (event=0x555555dd0c60) at gtkmain.c:1915
#20 0x00007ffff75c129b in gtk_main_do_event (event=<optimized out>) at gtkmain.c:1685
#21 0x00007ffff6b78f69 in _gdk_event_emit (event=event@entry=0x555555dd0c60) at gdkevents.c:73
#22 0x00007ffff6bd7416 in gdk_event_source_dispatch (base=<optimized out>, callback=<optimized out>, data=<optimized out>) at gdkeventsource.c:124
#23 0x00007ffff7dfd5ed in g_main_dispatch (context=0x5555555c5180) at ../glib/gmain.c:3179
#24 0x00007ffff7dfd5ed in g_main_context_dispatch (context=context@entry=0x5555555c5180) at ../glib/gmain.c:3844
#25 0x00007ffff7dfd870 in g_main_context_iterate (context=context@entry=0x5555555c5180, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:3917
#26 0x00007ffff7dfd913 in g_main_context_iteration (context=context@entry=0x5555555c5180, may_block=may_block@entry=1) at ../glib/gmain.c:3978
#27 0x00007ffff7cafa35 in g_application_run (application=0x5555555a2110 [TotemObject], argc=<optimized out>, argv=<optimized out>) at ../gio/gapplication.c:2559
2 - Gedit
#0 0x00007ffff7e1497a in g_slist_prepend (list=0x555555613430 = {...}, data=data@entry=0x5555575e34c0) at ../glib/gslist.c:260
#1 0x00007ffff7d5e5dc in g_object_notify_queue_add (pspec=0x5555575e34c0 [GParamBoxed], nqueue=<optimized out>, nqueue=<optimized out>, object=<optimized out>) at ../gobject/gobject.c:333
#2 0x00007ffff7d5f738 in object_set_property (nqueue=0x555555c63d50, value=0x7fffffffca20, pspec=<optimized out>, object=0x555555d2aa70 [GdkDrawingContext]) at ../gobject/gobject.c:1478
#3 0x00007ffff7d5f738 in g_object_new_internal (class=class@entry=0x555557624100, params=params@entry=0x7fffffffcae0, n_params=n_params@entry=2) at ../gobject/gobject.c:1861
#4 0x00007ffff7d612d8 in g_object_new_valist (object_type=<optimized out>, first_property_name=first_property_name@entry=0x7ffff724cc41 "window", var_args=var_args@entry=0x7fffffffcc30) at ../gobject/gobject.c:2152
#5 0x00007ffff7d6162d in g_object_new (object_type=<optimized out>, first_property_name=first_property_name@entry=0x7ffff724cc41 "window") at ../gobject/gobject.c:1670
#6 0x00007ffff71d4596 in gdk_window_begin_draw_frame (window=window@entry=0x555555bc74e0 [GdkWaylandWindow], region=region@entry=0x555555ba0df0) at gdkwindow.c:3265
#7 0x00007ffff763007b in gtk_widget_render (widget=widget@entry=0x5555556aec30 [GeditWindow], window=0x555555bc74e0 [GdkWaylandWindow], region=0x555555ba0df0) at gtkwidget.c:17568
#8 0x00007ffff74da1d9 in gtk_main_do_event (event=0x7fffffffce20) at gtkmain.c:1838
#9 0x00007ffff74da1d9 in gtk_main_do_event (event=<optimized out>) at gtkmain.c:1685
#10 0x00007ffff71b6f69 in _gdk_event_emit (event=event@entry=0x7fffffffce20) at gdkevents.c:73
#11 0x00007ffff71c8261 in _gdk_window_process_updates_recurse_helper (window=0x555555bc74e0 [GdkWaylandWindow], expose_region=<optimized out>) at gdkwindow.c:3873
#12 0x00007ffff71c9435 in gdk_window_process_updates_internal (window=0x555555bc74e0 [GdkWaylandWindow]) at gdkwindow.c:4019
#13 0x00007ffff71c95f4 in gdk_window_process_updates_with_mode (recurse_mode=<optimized out>, window=<optimized out>) at gdkwindow.c:4214
#14 0x00007ffff71c95f4 in gdk_window_process_updates_with_mode (window=<optimized out>, recurse_mode=<optimized out>) at gdkwindow.c:4185
#15 0x00007ffff7d59996 in _g_closure_invoke_va (closure=0x555555cede90, return_value=0x0, instance=0x5555555bd690, args=0x7fffffffd150, n_params=0, param_types=0x0) at ../gobject/gclosure.c:873
#16 0x00007ffff7d763bc in g_signal_emit_valist (instance=0x5555555bd690, signal_id=<optimized out>, detail=0, var_args=var_args@entry=0x7fffffffd150) at ../gobject/gsignal.c:3306
#17 0x00007ffff7d76a03 in g_signal_emit (instance=instance@entry=0x5555555bd690, signal_id=<optimized out>, detail=detail@entry=0) at ../gobject/gsignal.c:3453
#18 0x00007ffff71c0353 in _gdk_frame_clock_emit_paint (frame_clock=frame_clock@entry=0x5555555bd690 [GdkFrameClockIdle]) at gdkframeclock.c:643
#19 0x00007ffff71c0c93 in gdk_frame_clock_paint_idle (data=0x5555555bd690) at gdkframeclockidle.c:450
#20 0x00007ffff71aaf3d in gdk_threads_dispatch (data=0x555555798ee0, data@entry=<error reading variable: value has been optimized out>) at gdk.c:777
--Type <RET> for more, q to quit, c to continue without paging--c
#21 0x00007ffff7df5fe8 in g_timeout_dispatch (source=0x5555556df340, callback=<optimized out>, user_data=<optimized out>) at ../glib/gmain.c:4668
#22 0x00007ffff7df54be in g_main_dispatch (context=0x5555555bcc80) at ../glib/gmain.c:3179
#23 0x00007ffff7df54be in g_main_context_dispatch (context=context@entry=0x5555555bcc80) at ../glib/gmain.c:3844
#24 0x00007ffff7df5870 in g_main_context_iterate (context=context@entry=0x5555555bcc80, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:3917
#25 0x00007ffff7df5913 in g_main_context_iteration (context=context@entry=0x5555555bcc80, may_block=may_block@entry=1) at ../glib/gmain.c:3978
#26 0x00007ffff7c49a35 in g_application_run (application=0x55555559e190 [GeditAppX11], argc=<optimized out>, argv=<optimized out>) at ../gio/gapplication.c:2559
#27 0x0000555555555339 in main (