closing inspector with fps overlay enabled results in crash
- Run
gtk4-demo
. - Open inspector
- In Global->Settings, enable FPS Overlay
- Close inspector window
Tested on both MacOS and X11 backends.
Thread 1 "gtk4-demo" received signal SIGSEGV, Segmentation fault.
0x00007ffff7b5fe23 in gtk_inspector_window_remove_overlay (iw=0x0, overlay=0x2009a40)
at ../../../../Projects/gtk+/gtk/inspector/window.c:762
762 item = g_list_find (iw->overlays, overlay);
(gdb) bt
#0 0x00007ffff7b5fe23 in gtk_inspector_window_remove_overlay (iw=0x0, overlay=0x2009a40)
at ../../../../Projects/gtk+/gtk/inspector/window.c:762
#1 0x00007ffff7b5d409 in gtk_inspector_visual_dispose (object=0xb36470)
at ../../../../Projects/gtk+/gtk/inspector/visual.c:1091
#2 0x00007ffff75ef0f3 in g_object_unref (_object=<optimized out>) at ../../../../Projects/glib/gobject/gobject.c:3465
#3 g_object_unref (_object=0xb36470) at ../../../../Projects/glib/gobject/gobject.c:3395
#4 0x00007ffff766d02a in g_hash_table_remove_all_nodes (hash_table=0x1da5b00, notify=<optimized out>,
destruction=<optimized out>) at ../../../../Projects/glib/glib/ghash.c:707
#5 0x00007ffff766ebed in g_hash_table_remove_all_nodes (destruction=0, notify=1, hash_table=0x1da5b00)
at ../../../../Projects/glib/glib/ghash.c:1884
#6 g_hash_table_remove_all (hash_table=0x1da5b00) at ../../../../Projects/glib/glib/ghash.c:1884
#7 0x00007ffff766ec37 in g_hash_table_destroy (hash_table=0x1da5b00) at ../../../../Projects/glib/glib/ghash.c:1487
#8 0x00007ffff766d02a in g_hash_table_remove_all_nodes (hash_table=0x1d6bb90, notify=<optimized out>,
destruction=<optimized out>) at ../../../../Projects/glib/glib/ghash.c:707
#9 0x00007ffff766ebed in g_hash_table_remove_all_nodes (destruction=0, notify=1, hash_table=0x1d6bb90)
at ../../../../Projects/glib/glib/ghash.c:1884
#10 g_hash_table_remove_all (hash_table=0x1d6bb90) at ../../../../Projects/glib/glib/ghash.c:1884
#11 0x00007ffff766ec37 in g_hash_table_destroy (hash_table=0x1d6bb90) at ../../../../Projects/glib/glib/ghash.c:1487
#12 0x00007ffff766105b in g_data_set_internal (datalist=0xe997e0, key_id=<optimized out>, new_data=0x0,
new_destroy_func=<optimized out>, dataset=0x0) at ../../../../Projects/glib/glib/gdataset.c:407
#13 0x00007ffff7a750ad in gtk_widget_real_destroy (object=0xe997d0) at ../../../../Projects/gtk+/gtk/gtkwidget.c:7157
#14 gtk_widget_dispose (object=0xe997d0) at ../../../../Projects/gtk+/gtk/gtkwidget.c:7055
#15 0x00007ffff75ef0f3 in g_object_unref (_object=<optimized out>) at ../../../../Projects/glib/gobject/gobject.c:3465
#16 g_object_unref (_object=0xe997d0) at ../../../../Projects/glib/gobject/gobject.c:3395
#17 0x00007ffff793f75d in gtk_widget_stack_free_elements (end=<optimized out>, start=<optimized out>)
at ../../../../Projects/gtk+/gdk/gdkarrayimpl.c:95
#18 gtk_widget_stack_clear (self=0x7fffffffd070) at ../../../../Projects/gtk+/gdk/gdkarrayimpl.c:104
#19 gtk_propagate_event_internal (widget=<optimized out>, widget@entry=0x1ccd550, event=event@entry=0x37b0d20,
topmost=<optimized out>) at ../../../../Projects/gtk+/gtk/gtkmain.c:1946
#20 0x00007ffff793f8e5 in gtk_propagate_event (widget=widget@entry=0x1ccd550, event=event@entry=0x37b0d20)
at ../../../../Projects/gtk+/gtk/gtkmain.c:1987
#21 0x00007ffff793fecb in gtk_main_do_event (event=0x37b0d20) at ../../../../Projects/gtk+/gtk/gtkmain.c:1679
#22 0x00007ffff7a7a22c in surface_event (surface=surface@entry=0xb68ae0, event=<optimized out>, widget=widget@entry=0xe997d0)
at ../../../../Projects/gtk+/gtk/gtkwindow.c:4802
#23 0x00007ffff7b67506 in _gdk_marshal_BOOLEAN__POINTER (closure=0x34211c0, return_value=0x7fffffffd3c0,
n_param_values=<optimized out>, param_values=0x7fffffffd470, invocation_hint=<optimized out>, marshal_data=<optimized out>)
at gdk/gdkmarshalers.c:258
#24 0x00007ffff7b8f530 in gdk_surface_event_marshaller (closure=0x34211c0, return_value=0x7fffffffd3c0, n_param_values=2,
param_values=0x7fffffffd470, invocation_hint=0x7fffffffd410, marshal_data=0x0)
at ../../../../Projects/gtk+/gdk/gdksurface.c:419
#25 0x00007ffff75ea102 in g_closure_invoke (closure=0x34211c0, return_value=0x7fffffffd3c0, n_param_values=2,
param_values=0x7fffffffd470, invocation_hint=0x7fffffffd410) at ../../../../Projects/glib/gobject/gclosure.c:810
#26 0x00007ffff75fc35b in signal_emit_unlocked_R (node=<optimized out>, detail=detail@entry=0,
instance=instance@entry=0xb68ae0, emission_return=emission_return@entry=0x7fffffffd550,
instance_and_params=instance_and_params@entry=0x7fffffffd470) at ../../../../Projects/glib/gobject/gsignal.c:3738
#27 0x00007ffff7602179 in g_signal_emit_valist (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>,
var_args=var_args@entry=0x7fffffffd608) at ../../../../Projects/glib/gobject/gsignal.c:3504
#28 0x00007ffff7602b4d in g_signal_emit (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>)
at ../../../../Projects/glib/gobject/gsignal.c:3550
#29 0x00007ffff7b92c9b in gdk_surface_handle_event (event=0x37b0d20) at ../../../../Projects/gtk+/gdk/gdksurface.c:2829
#30 0x00007ffff7bd52a3 in gdk_event_source_dispatch (source=source@entry=0x1d41890, callback=<optimized out>,
user_data=<optimized out>) at ../../../../Projects/gtk+/gdk/x11/gdkeventsource.c:424
#31 0x00007ffff768072d in g_main_dispatch (context=0xa46a70) at ../../../../Projects/glib/glib/gmain.c:3325
#32 g_main_context_dispatch (context=0xa46a70) at ../../../../Projects/glib/glib/gmain.c:4016
#33 0x00007ffff76809b8 in g_main_context_iterate (context=context@entry=0xa46a70, block=block@entry=1,
dispatch=dispatch@entry=1, self=<optimized out>) at ../../../../Projects/glib/glib/gmain.c:4092
#34 0x00007ffff7680a60 in g_main_context_iteration (context=0xa46a70, may_block=1)
at ../../../../Projects/glib/glib/gmain.c:4157
#35 0x00007ffff74e6a65 in g_application_run (application=0xa395d0, argc=1, argv=<optimized out>)
at ../../../../Projects/glib/gio/gapplication.c:2559
#36 0x0000000000425da1 in main (argc=1, argv=0x7fffffffda08) at ../../../../Projects/gtk+/demos/gtk-demo/main.c:1107