fishbowl demo crashes on X11
Fishbowl demo crashes on X11.
How to reproduce:
- Open
gtk4-demo --run=fishbowl
- Click the next button until it crashes
bt:
AddressSanitizer:DEADLYSIGNAL
=================================================================
==10488==ERROR: AddressSanitizer: SEGV on unknown address 0x000000000018 (pc 0x7fb7651304be bp 0x7ffd30ee1510 sp 0x7ffd30ee14e0 T0)
==10488==The signal is caused by a READ memory access.
==10488==Hint: address points to the zero page.
#0 0x7fb7651304bd in gdk_x11_monitor_get_workarea ../../../../jhbuild/checkout/gtk+/gdk/x11/gdkmonitor-x11.c:79
#1 0x7fb765112977 in gdk_x11_surface_layout_popup ../../../../jhbuild/checkout/gtk+/gdk/x11/gdksurface-x11.c:1544
#2 0x7fb765112977 in gdk_x11_surface_present_popup ../../../../jhbuild/checkout/gtk+/gdk/x11/gdksurface-x11.c:1597
#3 0x7fb765112977 in gdk_x11_popup_present ../../../../jhbuild/checkout/gtk+/gdk/x11/gdksurface-x11.c:4641
#4 0x7fb764edbf1a in present_popup ../../../../jhbuild/checkout/gtk+/gtk/gtkpopover.c:565
#5 0x7fb764eddd46 in gtk_popover_show ../../../../jhbuild/checkout/gtk+/gtk/gtkpopover.c:932
#6 0x7fb764b67328 in _g_closure_invoke_va ../../../../jhbuild/checkout/glib/gobject/gclosure.c:873
#7 0x7fb764b86506 in g_signal_emit_valist ../../../../jhbuild/checkout/glib/gobject/gsignal.c:3403
#8 0x7fb764b86adc in g_signal_emit ../../../../jhbuild/checkout/glib/gobject/gsignal.c:3550
#9 0x7fb764fcafda in gtk_widget_show ../../../../jhbuild/checkout/gtk+/gtk/gtkwidget.c:2584
#10 0x7fb764b67328 in _g_closure_invoke_va ../../../../jhbuild/checkout/glib/gobject/gclosure.c:873
#11 0x7fb764b86506 in g_signal_emit_valist ../../../../jhbuild/checkout/glib/gobject/gsignal.c:3403
#12 0x7fb764b86adc in g_signal_emit ../../../../jhbuild/checkout/glib/gobject/gsignal.c:3550
#13 0x7fb764f85704 in gtk_toggle_button_set_active ../../../../jhbuild/checkout/gtk+/gtk/gtktogglebutton.c:327
#14 0x7fb764b670f1 in g_closure_invoke ../../../../jhbuild/checkout/glib/gobject/gclosure.c:810
#15 0x7fb764b7adf9 in signal_emit_unlocked_R ../../../../jhbuild/checkout/glib/gobject/gsignal.c:3738
#16 0x7fb764b86194 in g_signal_emit_valist ../../../../jhbuild/checkout/glib/gobject/gsignal.c:3494
#17 0x7fb764b86adc in g_signal_emit ../../../../jhbuild/checkout/glib/gobject/gsignal.c:3550
#18 0x7fb764fd5e74 in gtk_widget_map ../../../../jhbuild/checkout/gtk+/gtk/gtkwidget.c:2719
#19 0x7fb764fd946f in gtk_widget_reposition_after ../../../../jhbuild/checkout/gtk+/gtk/gtkwidget.c:5754
#20 0x55f6112f2d4d in gtk_fishbowl_add ../demos/gtk-demo/gtkfishbowl.c:181
#21 0x55f6112f2d4d in gtk_fishbowl_set_count ../demos/gtk-demo/gtkfishbowl.c:377
#22 0x55f6112f3ebb in gtk_fishbowl_set_creation_func ../demos/gtk-demo/gtkfishbowl.c:654
#23 0x55f6112bb4a7 in set_widget_type ../demos/gtk-demo/fishbowl.c:204
#24 0x7fb764b67328 in _g_closure_invoke_va ../../../../jhbuild/checkout/glib/gobject/gclosure.c:873
#25 0x7fb764b86506 in g_signal_emit_valist ../../../../jhbuild/checkout/glib/gobject/gsignal.c:3403
#26 0x7fb764b86adc in g_signal_emit ../../../../jhbuild/checkout/glib/gobject/gsignal.c:3550
#27 0x7fb764dd1147 in gtk_button_do_release ../../../../jhbuild/checkout/gtk+/gtk/gtkbutton.c:367
#28 0x7fb764dd1147 in click_released_cb ../../../../jhbuild/checkout/gtk+/gtk/gtkbutton.c:367
#29 0x7fb764d81aa1 in _gtk_marshal_VOID__INT_DOUBLE_DOUBLEv gtk/gtkmarshalers.c:5445
#30 0x7fb764b67328 in _g_closure_invoke_va ../../../../jhbuild/checkout/glib/gobject/gclosure.c:873
#31 0x7fb764b86506 in g_signal_emit_valist ../../../../jhbuild/checkout/glib/gobject/gsignal.c:3403
#32 0x7fb764b86adc in g_signal_emit ../../../../jhbuild/checkout/glib/gobject/gsignal.c:3550
#33 0x7fb764e5ed51 in gtk_gesture_click_end ../../../../jhbuild/checkout/gtk+/gtk/gtkgestureclick.c:281
#34 0x7fb764b6a0fe in g_cclosure_marshal_VOID__BOXEDv ../../../../jhbuild/checkout/glib/gobject/gmarshal.c:1686
#35 0x7fb764b67328 in _g_closure_invoke_va ../../../../jhbuild/checkout/glib/gobject/gclosure.c:873
#36 0x7fb764b86506 in g_signal_emit_valist ../../../../jhbuild/checkout/glib/gobject/gsignal.c:3403
#37 0x7fb764b86adc in g_signal_emit ../../../../jhbuild/checkout/glib/gobject/gsignal.c:3550
#38 0x7fb764e5b871 in _gtk_gesture_set_recognized ../../../../jhbuild/checkout/gtk+/gtk/gtkgesture.c:341
#39 0x7fb764e5b871 in _gtk_gesture_check_recognized ../../../../jhbuild/checkout/gtk+/gtk/gtkgesture.c:382
#40 0x7fb764e5cf92 in gtk_gesture_handle_event ../../../../jhbuild/checkout/gtk+/gtk/gtkgesture.c:674
#41 0x7fb764e603c5 in gtk_gesture_single_handle_event ../../../../jhbuild/checkout/gtk+/gtk/gtkgesturesingle.c:227
#42 0x7fb764e278d8 in gtk_event_controller_handle_event ../../../../jhbuild/checkout/gtk+/gtk/gtkeventcontroller.c:358
#43 0x7fb764fcb6c1 in gtk_widget_run_controllers ../../../../jhbuild/checkout/gtk+/gtk/gtkwidget.c:4331
#44 0x7fb764fd172f in _gtk_widget_captured_event ../../../../jhbuild/checkout/gtk+/gtk/gtkwidget.c:4410
#45 0x7fb764eabe31 in gtk_propagate_event_internal ../../../../jhbuild/checkout/gtk+/gtk/gtkmain.c:2040
#46 0x7fb764eac93a in gtk_main_do_event ../../../../jhbuild/checkout/gtk+/gtk/gtkmain.c:1814
#47 0x7fb764fdfd0b in surface_event ../../../../jhbuild/checkout/gtk+/gtk/gtkwindow.c:4736
#48 0x7fb7650b30e4 in _gdk_marshal_BOOLEAN__POINTER gdk/gdkmarshalers.c:258
#49 0x7fb7650dac7f in gdk_surface_event_marshaller ../../../../jhbuild/checkout/gtk+/gdk/gdksurface.c:414
#50 0x7fb764b670f1 in g_closure_invoke ../../../../jhbuild/checkout/glib/gobject/gclosure.c:810
#51 0x7fb764b7adf9 in signal_emit_unlocked_R ../../../../jhbuild/checkout/glib/gobject/gsignal.c:3738
#52 0x7fb764b85c72 in g_signal_emit_valist ../../../../jhbuild/checkout/glib/gobject/gsignal.c:3504
#53 0x7fb764b86adc in g_signal_emit ../../../../jhbuild/checkout/glib/gobject/gsignal.c:3550
#54 0x7fb7650de321 in gdk_surface_handle_event ../../../../jhbuild/checkout/gtk+/gdk/gdksurface.c:2794
#55 0x7fb76511f3b2 in gdk_event_source_dispatch ../../../../jhbuild/checkout/gtk+/gdk/x11/gdkeventsource.c:424
#56 0x7fb764c03d65 in g_main_dispatch ../../../../jhbuild/checkout/glib/glib/gmain.c:3325
#57 0x7fb764c03d65 in g_main_context_dispatch ../../../../jhbuild/checkout/glib/glib/gmain.c:4016
#58 0x7fb764c03fbf in g_main_context_iterate ../../../../jhbuild/checkout/glib/glib/gmain.c:4092
#59 0x7fb764c0404f in g_main_context_iteration ../../../../jhbuild/checkout/glib/glib/gmain.c:4157
#60 0x7fb764a65fcc in g_application_run ../../../../jhbuild/checkout/glib/gio/gapplication.c:2559
#61 0x55f6112a9ef2 in main ../demos/gtk-demo/main.c:1324
#62 0x7fb7642aecc9 in __libc_start_main ../csu/libc-start.c:308
#63 0x55f6112aa109 in _start (/media/sadiq/temp/jhbuild/checkout/gtk+/build/demos/gtk-demo/gtk4-demo+0x76109)
AddressSanitizer can not provide additional info.
SUMMARY: AddressSanitizer: SEGV ../../../../jhbuild/checkout/gtk+/gdk/x11/gdkmonitor-x11.c:79 in gdk_x11_monitor_get_workarea
==10488==ABORTING