criticals when resizing parent window with AdwAboutDialog open
When I try to resize the parent window containing AdwAboutDialog, I get Gtk-critical logs.
This was tested with jhbuild on X11. built from gtk@f93601ed and bb69ba01
How to reproduce:
- Open
adwaita-1-demo
- About Dialog -> Run Demo
- Now resize the parent window - small enough so that the AboutDialog resizes from floating window to bottom sheet
Result: I get allocation criticals
Let me know if more details are required.
backtrace from gdb (this contains bt from two criticals each producing different traces):
(adwaita-1-demo:363332): Gtk-CRITICAL **: 22:22:08.276: Allocation width too small. Tried to allocate 323x516, but AdwGizmo 0x555557954800 needs at least 360x516.
Thread 1 "adwaita-1-demo" received signal SIGTRAP, Trace/breakpoint trap.
_g_log_abort (breakpoint=1) at ../../../../jhbuild/checkout/glib/glib/gmessages.c:421
warning: Source file is more recent than executable.
421 /* Assume GDB is attached. */
(gdb) where
#0 _g_log_abort (breakpoint=1) at ../../../../jhbuild/checkout/glib/glib/gmessages.c:421
#1 0x00007ffff7b8b5d8 in g_log_writer_default (log_level=10, fields=0x7fffffffc120, n_fields=6, user_data=0x0) at ../../../../jhbuild/checkout/glib/glib/gmessages.c:2716
#2 0x00007ffff7b8914a in g_log_structured_array (log_level=G_LOG_LEVEL_CRITICAL, fields=0x7fffffffc120, n_fields=6) at ../../../../jhbuild/checkout/glib/glib/gmessages.c:1825
#3 0x00007ffff7b8941b in g_log_structured_standard (log_domain=0x7ffff6d4ba38 "Gtk", log_level=G_LOG_LEVEL_CRITICAL, file=0x7ffff6d4baa0 "../../../../jhbuild/checkout/gtk/gtk/gtkwidget.c", line=0x7ffff6d4c2ed "3986",
func=0x7ffff6d4da30 <__func__.180> "gtk_widget_allocate", message_format=0x7ffff6d4c298 "Allocation width too small. Tried to allocate %dx%d, but %s %p needs at least %dx%d.")
at ../../../../jhbuild/checkout/glib/glib/gmessages.c:1882
#4 0x00007ffff708e510 in gtk_widget_allocate (widget=0x555557954800, width=323, height=516, baseline=-1, transform=0x5555564a91a0) at ../../../../jhbuild/checkout/gtk/gtk/gtkwidget.c:3986
#5 0x00007ffff7dea748 in adw_floating_sheet_size_allocate (widget=0x555557952510, width=383, height=576, baseline=-1) at ../../../../jhbuild/checkout/libadwaita/src/adw-floating-sheet.c:171
#6 0x00007ffff708ec5c in gtk_widget_allocate (widget=0x555557952510, width=383, height=576, baseline=-1, transform=0x0) at ../../../../jhbuild/checkout/gtk/gtk/gtkwidget.c:4103
#7 0x00007ffff7d64451 in allocate_child (self=0x5555579554e0, width=383, height=576, baseline=-1) at ../../../../jhbuild/checkout/libadwaita/src/adw-breakpoint-bin.c:227
#8 0x00007ffff7d64bf0 in adw_breakpoint_bin_size_allocate (widget=0x5555579554e0, width=383, height=576, baseline=-1) at ../../../../jhbuild/checkout/libadwaita/src/adw-breakpoint-bin.c:421
#9 0x00007ffff708ec5c in gtk_widget_allocate (widget=0x5555579554e0, width=383, height=576, baseline=-1, transform=0x0) at ../../../../jhbuild/checkout/gtk/gtk/gtkwidget.c:4103
#10 0x00007ffff6e255c8 in gtk_bin_layout_allocate (layout_manager=0x5555577c1e30, widget=0x555557957440, width=383, height=576, baseline=-1) at ../../../../jhbuild/checkout/gtk/gtk/gtkbinlayout.c:95
#11 0x00007ffff6f39ddc in gtk_layout_manager_allocate (manager=0x5555577c1e30, widget=0x555557957440, width=383, height=576, baseline=-1) at ../../../../jhbuild/checkout/gtk/gtk/gtklayoutmanager.c:409
#12 0x00007ffff708ec28 in gtk_widget_allocate (widget=0x555557957440, width=383, height=576, baseline=-1, transform=0x0) at ../../../../jhbuild/checkout/gtk/gtk/gtkwidget.c:4096
#13 0x00007ffff7de7f25 in adw_dialog_host_size_allocate (widget=0x555555904aa0, width=383, height=576, baseline=-1) at ../../../../jhbuild/checkout/libadwaita/src/adw-dialog-host.c:287
#14 0x00007ffff708ec5c in gtk_widget_allocate (widget=0x555555904aa0, width=383, height=576, baseline=-1, transform=0x0) at ../../../../jhbuild/checkout/gtk/gtk/gtkwidget.c:4103
#15 0x00007ffff708db0f in gtk_widget_size_allocate (widget=0x555555904aa0, allocation=0x7fffffffcae0, baseline=-1) at ../../../../jhbuild/checkout/gtk/gtk/gtkwidget.c:3746
#16 0x00007ffff70ae688 in gtk_window_size_allocate (widget=0x55555591afa0, width=383, height=576, baseline=-1) at ../../../../jhbuild/checkout/gtk/gtk/gtkwindow.c:4604
#17 0x00007ffff6e1f7c0 in gtk_application_window_real_size_allocate (widget=0x55555591afa0, width=383, height=576, baseline=-1) at ../../../../jhbuild/checkout/gtk/gtk/gtkapplicationwindow.c:491
#18 0x00007ffff7d5b242 in adw_application_window_size_allocate (widget=0x55555591afa0, width=383, height=576, baseline=-1) at ../../../../jhbuild/checkout/libadwaita/src/adw-application-window.c:107
#19 0x00007ffff708ec5c in gtk_widget_allocate (widget=0x55555591afa0, width=383, height=576, baseline=-1, transform=0x0) at ../../../../jhbuild/checkout/gtk/gtk/gtkwidget.c:4103
#20 0x00007ffff70a8bf8 in gtk_window_native_layout (native=0x55555591afa0, width=383, height=576) at ../../../../jhbuild/checkout/gtk/gtk/gtkwindow.c:2172
#21 0x00007ffff6fc1cb7 in gtk_native_layout (self=0x55555591afa0, width=505, height=698) at ../../../../jhbuild/checkout/gtk/gtk/gtknative.c:111
#22 0x00007ffff6fc1ce4 in surface_layout_cb (surface=0x55555628f3f0, width=505, height=698, native=0x55555591afa0) at ../../../../jhbuild/checkout/gtk/gtk/gtknative.c:120
#23 0x00007ffff72e509e in _gdk_marshal_VOID__INT_INTv (closure=0x555556352c60, return_value=0x0, instance=0x55555628f3f0, args=0x7fffffffd208, marshal_data=0x0, n_params=2, param_types=0x5555556aeaf0) at gdk/gdkmarshalers.c:479
#24 0x00007ffff7f86b33 in _g_closure_invoke_va (closure=0x555556352c60, return_value=0x0, instance=0x55555628f3f0, args=0x7fffffffd208, n_params=2, param_types=0x5555556aeaf0) at ../../../../jhbuild/checkout/glib/gobject/gclosure.c:897
#25 0x00007ffff7fa542e in signal_emit_valist_unlocked (instance=0x55555628f3f0, signal_id=41, detail=0, var_args=0x7fffffffd208) at ../../../../jhbuild/checkout/glib/gobject/gsignal.c:3423
#26 0x00007ffff7fa4e0c in g_signal_emit_valist (instance=0x55555628f3f0, signal_id=41, detail=0, var_args=0x7fffffffd208) at ../../../../jhbuild/checkout/glib/gobject/gsignal.c:3262
#27 0x00007ffff7fa6697 in g_signal_emit (instance=0x55555628f3f0, signal_id=41, detail=0) at ../../../../jhbuild/checkout/glib/gobject/gsignal.c:3582
#28 0x00007ffff73ad3cd in gdk_surface_layout_on_clock (clock=0x5555562a4660, data=0x55555628f3f0) at ../../../../jhbuild/checkout/gtk/gdk/gdksurface.c:1317
#29 0x00007ffff7f8a5c0 in g_cclosure_marshal_VOID__VOIDv (closure=0x5555562a47a0, return_value=0x0, instance=0x5555562a4660, args=0x7fffffffd778, marshal_data=0x0, n_params=0, param_types=0x0)
at ../../../../jhbuild/checkout/glib/gobject/gmarshal.c:165
#30 0x00007ffff7f86b33 in _g_closure_invoke_va (closure=0x5555562a47a0, return_value=0x0, instance=0x5555562a4660, args=0x7fffffffd778, n_params=0, param_types=0x0) at ../../../../jhbuild/checkout/glib/gobject/gclosure.c:897
#31 0x00007ffff7fa542e in signal_emit_valist_unlocked (instance=0x5555562a4660, signal_id=50, detail=0, var_args=0x7fffffffd778) at ../../../../jhbuild/checkout/glib/gobject/gsignal.c:3423
#32 0x00007ffff7fa4e0c in g_signal_emit_valist (instance=0x5555562a4660, signal_id=50, detail=0, var_args=0x7fffffffd778) at ../../../../jhbuild/checkout/glib/gobject/gsignal.c:3262
#33 0x00007ffff7fa6697 in g_signal_emit (instance=0x5555562a4660, signal_id=50, detail=0) at ../../../../jhbuild/checkout/glib/gobject/gsignal.c:3582
#34 0x00007ffff738cb2e in _gdk_frame_clock_emit_layout (frame_clock=0x5555562a4660) at ../../../../jhbuild/checkout/gtk/gdk/gdkframeclock.c:700
#35 0x00007ffff738db56 in gdk_frame_clock_paint_idle (data=0x5555562a4660) at ../../../../jhbuild/checkout/gtk/gdk/gdkframeclockidle.c:610
#36 0x00007ffff7b7d4e8 in g_timeout_dispatch (source=0x5555578bb650, callback=0x7ffff738d766 <gdk_frame_clock_paint_idle>, user_data=0x5555562a4660) at ../../../../jhbuild/checkout/glib/glib/gmain.c:4989
#37 0x00007ffff7b7b2ac in g_main_dispatch (context=0x5555555e34f0) at ../../../../jhbuild/checkout/glib/glib/gmain.c:3344
#38 0x00007ffff7b7c326 in g_main_context_dispatch_unlocked (context=0x5555555e34f0) at ../../../../jhbuild/checkout/glib/glib/gmain.c:4152
#39 0x00007ffff7b7c4da in g_main_context_iterate_unlocked (context=0x5555555e34f0, block=1, dispatch=1, self=0x5555555e3660) at ../../../../jhbuild/checkout/glib/glib/gmain.c:4217
#40 0x00007ffff7b7c592 in g_main_context_iteration (context=0x5555555e34f0, may_block=1) at ../../../../jhbuild/checkout/glib/glib/gmain.c:4282
#41 0x00007ffff79a782d in g_application_run (application=0x5555555de7e0, argc=1, argv=0x7fffffffdc48) at ../../../../jhbuild/checkout/glib/gio/gapplication.c:2613
#42 0x0000555555598cbf in main (argc=1, argv=0x7fffffffdc48) at ../../../../jhbuild/checkout/libadwaita/demo/adwaita-demo.c:109
(gdb) thread apply all bt full
-snip-
(gdb)
(gdb)
(gdb)
(gdb)
(gdb) c
Continuing.
(adwaita-1-demo:363332): Gtk-CRITICAL **: 22:22:30.625: Allocation width too small. Tried to allocate 323x516, but AdwBreakpointBin 0x555557955e00 needs at least 360x516.
Thread 1 "adwaita-1-demo" received signal SIGTRAP, Trace/breakpoint trap.
_g_log_abort (breakpoint=1) at ../../../../jhbuild/checkout/glib/glib/gmessages.c:421
421 /* Assume GDB is attached. */
(gdb) c
Continuing.
(adwaita-1-demo:363332): Gtk-CRITICAL **: 22:22:33.815: Allocation height too small. Tried to allocate 0x0, but AdwBottomSheet 0x555557c1ac30 needs at least 0x200.
Thread 1 "adwaita-1-demo" received signal SIGTRAP, Trace/breakpoint trap.
_g_log_abort (breakpoint=1) at ../../../../jhbuild/checkout/glib/glib/gmessages.c:421
421 /* Assume GDB is attached. */
(gdb) where
#0 _g_log_abort (breakpoint=1) at ../../../../jhbuild/checkout/glib/glib/gmessages.c:421
#1 0x00007ffff7b8b5d8 in g_log_writer_default (log_level=10, fields=0x7fffffffc7a0, n_fields=6, user_data=0x0) at ../../../../jhbuild/checkout/glib/glib/gmessages.c:2716
#2 0x00007ffff7b8914a in g_log_structured_array (log_level=G_LOG_LEVEL_CRITICAL, fields=0x7fffffffc7a0, n_fields=6) at ../../../../jhbuild/checkout/glib/glib/gmessages.c:1825
#3 0x00007ffff7b8941b in g_log_structured_standard (log_domain=0x7ffff6d4ba38 "Gtk", log_level=G_LOG_LEVEL_CRITICAL, file=0x7ffff6d4baa0 "../../../../jhbuild/checkout/gtk/gtk/gtkwidget.c", line=0x7ffff6d4c28e "3977",
func=0x7ffff6d4da30 <__func__.180> "gtk_widget_allocate", message_format=0x7ffff6d4c238 "Allocation height too small. Tried to allocate %dx%d, but %s %p needs at least %dx%d.")
at ../../../../jhbuild/checkout/glib/glib/gmessages.c:1882
#4 0x00007ffff708e45a in gtk_widget_allocate (widget=0x555557c1ac30, width=0, height=0, baseline=-1, transform=0x0) at ../../../../jhbuild/checkout/gtk/gtk/gtkwidget.c:3977
#5 0x00007ffff709c81e in gtk_widget_ensure_allocate (widget=0x555557c1ac30) at ../../../../jhbuild/checkout/gtk/gtk/gtkwidget.c:10799
#6 0x00007ffff708e180 in gtk_widget_ensure_allocate_on_children (widget=0x5555579554e0) at ../../../../jhbuild/checkout/gtk/gtk/gtkwidget.c:3913
#7 0x00007ffff709c82c in gtk_widget_ensure_allocate (widget=0x5555579554e0) at ../../../../jhbuild/checkout/gtk/gtk/gtkwidget.c:10807
#8 0x00007ffff708e180 in gtk_widget_ensure_allocate_on_children (widget=0x555557957440) at ../../../../jhbuild/checkout/gtk/gtk/gtkwidget.c:3913
#9 0x00007ffff709c82c in gtk_widget_ensure_allocate (widget=0x555557957440) at ../../../../jhbuild/checkout/gtk/gtk/gtkwidget.c:10807
#10 0x00007ffff708e180 in gtk_widget_ensure_allocate_on_children (widget=0x555555904aa0) at ../../../../jhbuild/checkout/gtk/gtk/gtkwidget.c:3913
#11 0x00007ffff709c82c in gtk_widget_ensure_allocate (widget=0x555555904aa0) at ../../../../jhbuild/checkout/gtk/gtk/gtkwidget.c:10807
#12 0x00007ffff708e180 in gtk_widget_ensure_allocate_on_children (widget=0x55555591afa0) at ../../../../jhbuild/checkout/gtk/gtk/gtkwidget.c:3913
#13 0x00007ffff708ebad in gtk_widget_allocate (widget=0x55555591afa0, width=383, height=576, baseline=-1, transform=0x0) at ../../../../jhbuild/checkout/gtk/gtk/gtkwidget.c:4084
#14 0x00007ffff70a8bf8 in gtk_window_native_layout (native=0x55555591afa0, width=383, height=576) at ../../../../jhbuild/checkout/gtk/gtk/gtkwindow.c:2172
#15 0x00007ffff6fc1cb7 in gtk_native_layout (self=0x55555591afa0, width=505, height=698) at ../../../../jhbuild/checkout/gtk/gtk/gtknative.c:111
#16 0x00007ffff6fc1ce4 in surface_layout_cb (surface=0x55555628f3f0, width=505, height=698, native=0x55555591afa0) at ../../../../jhbuild/checkout/gtk/gtk/gtknative.c:120
#17 0x00007ffff72e509e in _gdk_marshal_VOID__INT_INTv (closure=0x555556352c60, return_value=0x0, instance=0x55555628f3f0, args=0x7fffffffd208, marshal_data=0x0, n_params=2, param_types=0x5555556aeaf0) at gdk/gdkmarshalers.c:479
#18 0x00007ffff7f86b33 in _g_closure_invoke_va (closure=0x555556352c60, return_value=0x0, instance=0x55555628f3f0, args=0x7fffffffd208, n_params=2, param_types=0x5555556aeaf0) at ../../../../jhbuild/checkout/glib/gobject/gclosure.c:897
#19 0x00007ffff7fa542e in signal_emit_valist_unlocked (instance=0x55555628f3f0, signal_id=41, detail=0, var_args=0x7fffffffd208) at ../../../../jhbuild/checkout/glib/gobject/gsignal.c:3423
#20 0x00007ffff7fa4e0c in g_signal_emit_valist (instance=0x55555628f3f0, signal_id=41, detail=0, var_args=0x7fffffffd208) at ../../../../jhbuild/checkout/glib/gobject/gsignal.c:3262
#21 0x00007ffff7fa6697 in g_signal_emit (instance=0x55555628f3f0, signal_id=41, detail=0) at ../../../../jhbuild/checkout/glib/gobject/gsignal.c:3582
#22 0x00007ffff73ad3cd in gdk_surface_layout_on_clock (clock=0x5555562a4660, data=0x55555628f3f0) at ../../../../jhbuild/checkout/gtk/gdk/gdksurface.c:1317
#23 0x00007ffff7f8a5c0 in g_cclosure_marshal_VOID__VOIDv (closure=0x5555562a47a0, return_value=0x0, instance=0x5555562a4660, args=0x7fffffffd778, marshal_data=0x0, n_params=0, param_types=0x0)
at ../../../../jhbuild/checkout/glib/gobject/gmarshal.c:165
#24 0x00007ffff7f86b33 in _g_closure_invoke_va (closure=0x5555562a47a0, return_value=0x0, instance=0x5555562a4660, args=0x7fffffffd778, n_params=0, param_types=0x0) at ../../../../jhbuild/checkout/glib/gobject/gclosure.c:897
#25 0x00007ffff7fa542e in signal_emit_valist_unlocked (instance=0x5555562a4660, signal_id=50, detail=0, var_args=0x7fffffffd778) at ../../../../jhbuild/checkout/glib/gobject/gsignal.c:3423
#26 0x00007ffff7fa4e0c in g_signal_emit_valist (instance=0x5555562a4660, signal_id=50, detail=0, var_args=0x7fffffffd778) at ../../../../jhbuild/checkout/glib/gobject/gsignal.c:3262
#27 0x00007ffff7fa6697 in g_signal_emit (instance=0x5555562a4660, signal_id=50, detail=0) at ../../../../jhbuild/checkout/glib/gobject/gsignal.c:3582
#28 0x00007ffff738cb2e in _gdk_frame_clock_emit_layout (frame_clock=0x5555562a4660) at ../../../../jhbuild/checkout/gtk/gdk/gdkframeclock.c:700
#29 0x00007ffff738db56 in gdk_frame_clock_paint_idle (data=0x5555562a4660) at ../../../../jhbuild/checkout/gtk/gdk/gdkframeclockidle.c:610
#30 0x00007ffff7b7d4e8 in g_timeout_dispatch (source=0x5555578bb650, callback=0x7ffff738d766 <gdk_frame_clock_paint_idle>, user_data=0x5555562a4660) at ../../../../jhbuild/checkout/glib/glib/gmain.c:4989
#31 0x00007ffff7b7b2ac in g_main_dispatch (context=0x5555555e34f0) at ../../../../jhbuild/checkout/glib/glib/gmain.c:3344
#32 0x00007ffff7b7c326 in g_main_context_dispatch_unlocked (context=0x5555555e34f0) at ../../../../jhbuild/checkout/glib/glib/gmain.c:4152
#33 0x00007ffff7b7c4da in g_main_context_iterate_unlocked (context=0x5555555e34f0, block=1, dispatch=1, self=0x5555555e3660) at ../../../../jhbuild/checkout/glib/glib/gmain.c:4217
#34 0x00007ffff7b7c592 in g_main_context_iteration (context=0x5555555e34f0, may_block=1) at ../../../../jhbuild/checkout/glib/glib/gmain.c:4282
#35 0x00007ffff79a782d in g_application_run (application=0x5555555de7e0, argc=1, argv=0x7fffffffdc48) at ../../../../jhbuild/checkout/glib/gio/gapplication.c:2613
#36 0x0000555555598cbf in main (argc=1, argv=0x7fffffffdc48) at ../../../../jhbuild/checkout/libadwaita/demo/adwaita-demo.c:109
(gdb) thread apply all bt full
-snip-
(gdb)
(gdb)
Edited by Alice Mikhaylenko