Crash in GTK4 Demo > Cursors
How to reproduce:
- Open gtk4-demo
- Start the Cursors demo
gtk4-demo crashes with the following stacktrace:
Thread 1 "gtk4-demo" received signal SIGSEGV, Segmentation fault.
0x00007ffff77e923e in GTK_IS_ACCESSIBLE (ptr=0xffffffff) at ../gtk4/gtk/gtkaccessible.h:36
36 G_DECLARE_INTERFACE (GtkAccessible, gtk_accessible, GTK, ACCESSIBLE, GObject)
(gdb) bt
#0 0x00007ffff77e923e in GTK_IS_ACCESSIBLE (ptr=0xffffffff) at ../gtk4/gtk/gtkaccessible.h:36
#1 0x00007ffff77eac43 in gtk_accessible_value_collect_valist (cstate=0x7ffff7d17340 <collect_rels>, error=0x7fffffffc038, args=0x7fffffffc050)
at ../gtk4/gtk/gtkaccessiblevalue.c:1101
#2 0x00007ffff77ebef5 in gtk_accessible_value_collect_for_relation (relation=GTK_ACCESSIBLE_RELATION_ACTIVE_DESCENDANT, error=0x7fffffffc038, args=0x7fffffffc050)
at ../gtk4/gtk/gtkaccessiblevalue.c:1869
#3 0x00007ffff752ac9e in gtk_accessible_update_relation (self=0x5555586f4670, first_relation=GTK_ACCESSIBLE_RELATION_LABELLED_BY) at ../gtk4/gtk/gtkaccessible.c:647
#4 0x00005555555d5a17 in display_image (format=0x0, resource=0x5555586f3a80 "/cursors/images//ns_resize_cursor.png", label=0x0) at ../gtk4/demos/gtk-demo/main.c:282
#5 0x00005555555d5b4e in display_images (format=0x0, resource_dir=0x5555560b5270 "/cursors/images/", label=0x5555586d87c0) at ../gtk4/demos/gtk-demo/main.c:320
#6 0x00005555555d623b in add_data_tab (demoname=0x55555560402f "cursors") at ../gtk4/demos/gtk-demo/main.c:473
#7 0x00005555555d63fd in load_file (demoname=0x55555560402f "cursors", filename=0x55555560403f "cursors.c") at ../gtk4/demos/gtk-demo/main.c:519
#8 0x00005555555d6fab in selection_cb (sel=0x555555eb04d0, pspec=0x555555eb0420, user_data=0x0) at ../gtk4/demos/gtk-demo/main.c:717
#9 0x00007ffff7f27210 in g_closure_invoke () at /usr/lib/libgobject-2.0.so.0
#10 0x00007ffff7f552f8 in () at /usr/lib/libgobject-2.0.so.0
#11 0x00007ffff7f45095 in g_signal_emit_valist () at /usr/lib/libgobject-2.0.so.0
#12 0x00007ffff7f45324 in g_signal_emit () at /usr/lib/libgobject-2.0.so.0
#13 0x00007ffff7f322d6 in () at /usr/lib/libgobject-2.0.so.0
#14 0x00007ffff7f35788 in g_object_notify_by_pspec () at /usr/lib/libgobject-2.0.so.0
#15 0x00007ffff770f3af in gtk_single_selection_set_selected (self=0x555555eb04d0, position=16) at ../gtk4/gtk/gtksingleselection.c:683
#16 0x00007ffff770dfc1 in gtk_single_selection_select_item (model=0x555555eb04d0, position=16, exclusive=1) at ../gtk4/gtk/gtksingleselection.c:156
#17 0x00007ffff76f5bac in gtk_selection_model_select_item (model=0x555555eb04d0, position=16, unselect_rest=1) at ../gtk4/gtk/gtkselectionmodel.c:368
#18 0x00007ffff76577ce in gtk_list_base_select_item (self=0x555555de46a0, pos=16, modify=0, extend=0) at ../gtk4/gtk/gtklistbase.c:441
#19 0x00007ffff7658a6d in gtk_list_base_select_item_action (widget=0x555555de46a0, action_name=0x555555dd29d0 "list.select-item", parameter=0x55555862eda0)
at ../gtk4/gtk/gtklistbase.c:963
#20 0x00007ffff77f0b48 in gtk_action_muxer_activate_action (muxer=0x555555de48b0, action_name=0x7ffff7b6ee96 "list.select-item", parameter=0x55555862eda0)
at ../gtk4/gtk/gtkactionmuxer.c:858
#21 0x00007ffff77f0c36 in gtk_action_muxer_activate_action (muxer=0x555555ef7190, action_name=0x7ffff7b6ee96 "list.select-item", parameter=0x55555862eda0)
at ../gtk4/gtk/gtkactionmuxer.c:877
#22 0x00007ffff77bbdc1 in gtk_widget_activate_action_variant (widget=0x555555efabb0, name=0x7ffff7b6ee96 "list.select-item", args=0x55555862eda0)
at ../gtk4/gtk/gtkwidget.c:11588
#23 0x00007ffff77bbec6 in gtk_widget_activate_action (widget=0x555555efabb0, name=0x7ffff7b6ee96 "list.select-item", format_string=0x7ffff7b6ee90 "(ubb)")
at ../gtk4/gtk/gtkwidget.c:11629
#24 0x00007ffff7667837 in gtk_list_factory_widget_click_gesture_released (gesture=0x555555efb2b0, n_press=1, x=142.4453125, y=15.085938453674316, self=0x555555efabb0)
at ../gtk4/gtk/gtklistfactorywidget.c:469
#25 0x00007ffff75141c2 in _gtk_marshal_VOID__INT_DOUBLE_DOUBLEv
(closure=0x555555efb340, return_value=0x0, instance=0x555555efb2b0, args=0x7fffffffcee0, marshal_data=0x0, n_params=3, param_types=0x555555ceb2a0)
at gtk/gtkmarshalers.c:3688
#26 0x00007ffff7f4523c in g_signal_emit_valist () at /usr/lib/libgobject-2.0.so.0
#27 0x00007ffff7f45324 in g_signal_emit () at /usr/lib/libgobject-2.0.so.0
#28 0x00007ffff76196aa in gtk_gesture_click_end (gesture=0x555555efb2b0, sequence=0x0) at ../gtk4/gtk/gtkgestureclick.c:275
#29 0x00007ffff7f2bc67 in g_cclosure_marshal_VOID__BOXEDv () at /usr/lib/libgobject-2.0.so.0
#30 0x00007ffff7f4523c in g_signal_emit_valist () at /usr/lib/libgobject-2.0.so.0
#31 0x00007ffff7f45324 in g_signal_emit () at /usr/lib/libgobject-2.0.so.0
#32 0x00007ffff7614814 in _gtk_gesture_set_recognized (gesture=0x555555efb2b0, recognized=0, sequence=0x0) at ../gtk4/gtk/gtkgesture.c:340
#33 0x00007ffff761492b in _gtk_gesture_check_recognized (gesture=0x555555efb2b0, sequence=0x0) at ../gtk4/gtk/gtkgesture.c:381
#34 0x00007ffff7615383 in gtk_gesture_handle_event (controller=0x555555efb2b0, event=0x55555862ab10, x=142.4453125, y=15.085938453674316)
at ../gtk4/gtk/gtkgesture.c:686
#35 0x00007ffff761b7f2 in gtk_gesture_single_handle_event (controller=0x555555efb2b0, event=0x55555862ab10, x=142.4453125, y=15.085938453674316)
at ../gtk4/gtk/gtkgesturesingle.c:230
#36 0x00007ffff76198e3 in gtk_gesture_click_handle_event (controller=0x555555efb2b0, event=0x55555862ab10, x=142.4453125, y=15.085938453674316)
at ../gtk4/gtk/gtkgestureclick.c:323
#37 0x00007ffff75cd2d1 in gtk_event_controller_handle_event
(controller=0x555555efb2b0, event=0x55555862ab10, target=0x555555efc340, x=142.4453125, y=15.085938453674316) at ../gtk4/gtk/gtkeventcontroller.c:362
#38 0x00007ffff77ac846 in gtk_widget_run_controllers
(widget=0x555555efabb0, event=0x55555862ab10, target=0x555555efc340, x=142.4453125, y=15.085938453674316, phase=GTK_PHASE_BUBBLE) at ../gtk4/gtk/gtkwidget.c:4572
#39 0x00007ffff77acef9 in gtk_widget_event (widget=0x555555efabb0, event=0x55555862ab10, target=0x555555efc340) at ../gtk4/gtk/gtkwidget.c:4766
#40 0x00007ffff767798b in gtk_propagate_event_internal (widget=0x555555efabb0, event=0x55555862ab10, topmost=0x0) at ../gtk4/gtk/gtkmain.c:1954
#41 0x00007ffff7677b2e in gtk_propagate_event (widget=0x555555efc340, event=0x55555862ab10) at ../gtk4/gtk/gtkmain.c:2004
#42 0x00007ffff7677293 in gtk_main_do_event (event=0x55555862ab10) at ../gtk4/gtk/gtkmain.c:1696
#43 0x00007ffff77cc6dd in surface_event (surface=0x55555614de90, event=0x55555862ab10, widget=0x555555cfbb80) at ../gtk4/gtk/gtkwindow.c:4768
#44 0x00007ffff7a114fb in _gdk_marshal_BOOLEAN__POINTERv
(closure=0x55555621ba00, return_value=0x7fffffffda50, instance=0x55555614de90, args=0x7fffffffdb00, marshal_data=0x0, n_params=1, param_types=0x55555614bde0)
at gdk/gdkmarshalers.c:302
#45 0x00007ffff7ac1cdd in gdk_surface_event_marshallerv
(closure=0x55555621ba00, return_value=0x7fffffffda50, instance=0x55555614de90, args=0x7fffffffdb00, marshal_data=0x0, n_params=1, param_types=0x55555614bde0)
at ../gtk4/gdk/gdksurface.c:461
#46 0x00007ffff7f4523c in g_signal_emit_valist () at /usr/lib/libgobject-2.0.so.0
#47 0x00007ffff7f45324 in g_signal_emit () at /usr/lib/libgobject-2.0.so.0
#48 0x00007ffff7ac6de7 in gdk_surface_handle_event (event=0x55555862ab10) at ../gtk4/gdk/gdksurface.c:2939
#49 0x00007ffff7a9d06d in _gdk_event_emit (event=0x55555862ab10) at ../gtk4/gdk/gdkevents.c:493
#50 0x00007ffff7a2036d in gdk_event_source_dispatch (base=0x555555c6ffc0, callback=0x0, data=0x0) at ../gtk4/gdk/wayland/gdkeventsource.c:142
#51 0x00007ffff730f53b in g_main_context_dispatch () at /usr/lib/libglib-2.0.so.0
#52 0x00007ffff736c219 in () at /usr/lib/libglib-2.0.so.0
#53 0x00007ffff730e1a2 in g_main_context_iteration () at /usr/lib/libglib-2.0.so.0
#54 0x00007ffff71bc3be in g_application_run () at /usr/lib/libgio-2.0.so.0
#55 0x00005555555d83a0 in main (argc=1, argv=0x7fffffffdfc8) at ../gtk4/demos/gtk-demo/main.c:1125
(gdb)