Font Rendering demo: crash when switching to the Grid tab
How to reproduce:
- Open
gtk4-demo --run=fontrendering
- Clear the text
- Right click on the text entry >
Insert Emoji
- Insert a single emoji
- Swith to the
Grid
tab
Backtrace:
warning: HEAP[gtk4-demo.exe]:
warning: Heap block at 000002A2A08048A0 modified at 000002A2A0804904 past requested size of 50
Thread 1 received signal SIGTRAP, Trace/breakpoint trap.
0x00007ffc127aa6d3 in ntdll!RtlRegisterSecureMemoryCacheCallback () from C:\WINDOWS\SYSTEM32\ntdll.dll
(gdb) bt
#0 0x00007ffc127aa6d3 in ntdll!RtlRegisterSecureMemoryCacheCallback ()
from C:\WINDOWS\SYSTEM32\ntdll.dll
#1 0x00007ffc127a6d5f in ntdll!RtlZeroHeap ()
from C:\WINDOWS\SYSTEM32\ntdll.dll
#2 0x00007ffc1276cec2 in ntdll!memset () from C:\WINDOWS\SYSTEM32\ntdll.dll
#3 0x00007ffc127a9581 in ntdll!RtlRegisterSecureMemoryCacheCallback ()
from C:\WINDOWS\SYSTEM32\ntdll.dll
#4 0x00007ffc126d5cc1 in ntdll!RtlGetCurrentServiceSessionId ()
from C:\WINDOWS\SYSTEM32\ntdll.dll
#5 0x00007ffc126d5b74 in ntdll!RtlGetCurrentServiceSessionId ()
from C:\WINDOWS\SYSTEM32\ntdll.dll
#6 0x00007ffc126d47b1 in ntdll!RtlFreeHeap ()
from C:\WINDOWS\SYSTEM32\ntdll.dll
#7 0x00007ffc125e9c9c in msvcrt!free () from C:\WINDOWS\System32\msvcrt.dll
#8 0x00007ffbb0bc27bc in g_free (mem=0x2a2a08048b0)
at ../glib/glib/gmem.c:220
#9 0x00007ffbceb3fa19 in pango_glyph_string_free (string=0x2a293b4ce00)
at ../pango/pango/glyphstring.c:140
#10 0x00007ffbceb582c0 in free_run (run=0x2a2a2ac9f80, data=0x1)
at ../pango/pango/pango-layout.c:3288
#11 0x00007ffbb0be27a4 in g_slist_foreach (list=0x2a2a1bdb1b0,
func=0x7ffbceb5827d <free_run>, user_data=0x1)
at ../glib/glib/gslist.c:887
#12 0x00007ffbceb5b5e4 in pango_layout_line_unref (line=0x2a2939c15a0)
at ../pango/pango/pango-layout.c:5027
#13 0x00007ffbceb581a8 in pango_layout_clear_lines (layout=0x2a29aff16c0)
at ../pango/pango/pango-layout.c:3240
#14 0x00007ffbceb5391d in pango_layout_finalize (object=0x2a29aff16c0)
at ../pango/pango/pango-layout.c:256
#15 0x00007ffbda086baf in g_object_unref (_object=0x2a29aff16c0)
at ../glib/gobject/gobject.c:3905
#16 0x00007ff7435b20e2 in update_image ()
at ../gtk4/demos/gtk-demo/fontrendering.c:266
#17 0x00007ffbda07ec2a in g_cclosure_marshal_VOID__PARAM (
closure=0x2a2e5dae900, return_value=0x0, n_param_values=2,
param_values=0xfa707fd7f0, invocation_hint=0xfa707fd700, marshal_data=0x0)
at ../glib/gobject/gmarshal.c:1516
#18 0x00007ffbda07a420 in g_closure_invoke (closure=0x2a2e5dae900,
return_value=0x0, n_param_values=2, param_values=0xfa707fd7f0,
invocation_hint=0xfa707fd700) at ../glib/gobject/gclosure.c:832
#19 0x00007ffbda09921c in signal_emit_unlocked_R (node=0x2a2e49384f0,
detail=1095, instance=0x2a2e601edd0, emission_return=0x0,
instance_and_params=0xfa707fd7f0) at ../glib/gobject/gsignal.c:3796
#20 0x00007ffbda0987d0 in g_signal_emit_valist (instance=0x2a2e601edd0,
signal_id=1, detail=1095, var_args=0xfa707fdad0 "P\200▒▒\002")
at ../glib/gobject/gsignal.c:3549
#21 0x00007ffbda098b42 in g_signal_emit (instance=0x2a2e601edd0, signal_id=1,
detail=1095) at ../glib/gobject/gsignal.c:3606
#22 0x00007ffbda081dda in g_object_dispatch_properties_changed (
object=0x2a2e601edd0, n_pspecs=1, pspecs=0xfa707fdb58)
at ../glib/gobject/gobject.c:1428
#23 0x00007ffbda082071 in g_object_notify_by_spec_internal (
object=0x2a2e601edd0, pspec=0x2a2e5c15f00)
at ../glib/gobject/gobject.c:1544
#24 0x00007ffbda082216 in g_object_notify_by_pspec (object=0x2a2e601edd0,
pspec=0x2a2e5c15f00) at ../glib/gobject/gobject.c:1650
#25 0x00007ffba2b64e8c in gtk_toggle_button_set_active (
toggle_button=0x2a2e601edd0, is_active=0)
at ../gtk4/gtk/gtktogglebutton.c:432
#26 0x00007ffba2b64db6 in gtk_toggle_button_set_active (
toggle_button=0x2a2e6127880, is_active=1)
at ../gtk4/gtk/gtktogglebutton.c:414
#27 0x00007ffba2b6487c in gtk_toggle_button_clicked (button=0x2a2e6127880)
at ../gtk4/gtk/gtktogglebutton.c:213
#28 0x00007ffbda07d8a7 in g_cclosure_marshal_VOID__VOIDv (
closure=0x2a2e512a110, return_value=0x0, instance=0x2a2e6127880,
args=0xfa707fe128 "",
marshal_data=0x7ffba2b647f0 <gtk_toggle_button_clicked>, n_params=0,
param_types=0x0) at ../glib/gobject/gmarshal.c:165
#29 0x00007ffbda07ab70 in g_type_class_meta_marshalv (closure=0x2a2e512a110,
return_value=0x0, instance=0x2a2e6127880, args=0xfa707fe128 "",
marshal_data=0x198, n_params=0, param_types=0x0)
at ../glib/gobject/gclosure.c:1060
#30 0x00007ffbda07a6d0 in _g_closure_invoke_va (closure=0x2a2e512a110,
return_value=0x0, instance=0x2a2e6127880, args=0xfa707fe128 "",
n_params=0, param_types=0x0) at ../glib/gobject/gclosure.c:895
#31 0x00007ffbda097ed2 in g_signal_emit_valist (instance=0x2a2e6127880,
signal_id=99, detail=0, var_args=0xfa707fe128 "")
at ../glib/gobject/gsignal.c:3456
#32 0x00007ffbda098b42 in g_signal_emit (instance=0x2a2e6127880,
signal_id=99, detail=0) at ../glib/gobject/gsignal.c:3606
#33 0x00007ffba290dd74 in gtk_button_do_release (button=0x2a2e6127880,
emit_clicked=1) at ../gtk4/gtk/gtkbutton.c:754
#34 0x00007ffba290ccb1 in click_released_cb (gesture=0x2a2e616a510,
n_press=1, x=25.000001907348633, y=16, widget=0x2a2e6127880)
at ../gtk4/gtk/gtkbutton.c:349
#35 0x00007ffba28ac310 in _gtk_marshal_VOID__INT_DOUBLE_DOUBLEv (
closure=0x2a2e5d3df00, return_value=0x0, instance=0x2a2e616a510,
args=0xfa707fe5b8 "\001", marshal_data=0x0, n_params=3,
param_types=0x2a2e5bc5430) at gtk/gtkmarshalers.c:5445
#36 0x00007ffbda07a6d0 in _g_closure_invoke_va (closure=0x2a2e5d3df00,
return_value=0x0, instance=0x2a2e616a510, args=0xfa707fe5b8 "\001",
n_params=3, param_types=0x2a2e5bc5430) at ../glib/gobject/gclosure.c:895
#37 0x00007ffbda097ed2 in g_signal_emit_valist (instance=0x2a2e616a510,
signal_id=89, detail=0, var_args=0xfa707fe5b8 "\001")
at ../glib/gobject/gsignal.c:3456
#38 0x00007ffbda098b42 in g_signal_emit (instance=0x2a2e616a510,
signal_id=89, detail=0) at ../glib/gobject/gsignal.c:3606
#39 0x00007ffba29d46f6 in gtk_gesture_click_end (gesture=0x2a2e616a510,
sequence=0x0) at ../gtk4/gtk/gtkgestureclick.c:276
#40 0x00007ffbda07eedc in g_cclosure_marshal_VOID__BOXEDv (
closure=0x2a2e5b88920, return_value=0x0, instance=0x2a2e616a510,
args=0xfa707fea88 "",
marshal_data=0x7ffba29d461c <gtk_gesture_click_end>, n_params=1,
param_types=0x2a2e5b74270) at ../glib/gobject/gmarshal.c:1686
#41 0x00007ffbda07ab70 in g_type_class_meta_marshalv (closure=0x2a2e5b88920,
return_value=0x0, instance=0x2a2e616a510, args=0xfa707fea88 "",
marshal_data=0x120, n_params=1, param_types=0x2a2e5b74270)
at ../glib/gobject/gclosure.c:1060
#42 0x00007ffbda07a6d0 in _g_closure_invoke_va (closure=0x2a2e5b88920,
return_value=0x0, instance=0x2a2e616a510, args=0xfa707fea88 "",
n_params=1, param_types=0x2a2e5b74270) at ../glib/gobject/gclosure.c:895
#43 0x00007ffbda097ed2 in g_signal_emit_valist (instance=0x2a2e616a510,
signal_id=84, detail=0, var_args=0xfa707fea88 "")
at ../glib/gobject/gsignal.c:3456
#44 0x00007ffbda098b42 in g_signal_emit (instance=0x2a2e616a510,
signal_id=84, detail=0) at ../glib/gobject/gsignal.c:3606
#45 0x00007ffba29cfb70 in _gtk_gesture_set_recognized (gesture=0x2a2e616a510,
recognized=0, sequence=0x0) at ../gtk4/gtk/gtkgesture.c:341
#46 0x00007ffba29cfc96 in _gtk_gesture_check_recognized (
gesture=0x2a2e616a510, sequence=0x0) at ../gtk4/gtk/gtkgesture.c:382
#47 0x00007ffba29d061e in gtk_gesture_handle_event (controller=0x2a2e616a510,
event=0x2a2939c1000, x=25.000001907348633, y=16)
at ../gtk4/gtk/gtkgesture.c:685
#48 0x00007ffba29d6883 in gtk_gesture_single_handle_event (
controller=0x2a2e616a510, event=0x2a2939c1000, x=25.000001907348633, y=16)
at ../gtk4/gtk/gtkgesturesingle.c:231
#49 0x00007ffba29d4915 in gtk_gesture_click_handle_event (
controller=0x2a2e616a510, event=0x2a2939c1000, x=25.000001907348633, y=16)
at ../gtk4/gtk/gtkgestureclick.c:324
#50 0x00007ffba298e2ac in gtk_event_controller_handle_event (
controller=0x2a2e616a510, event=0x2a2939c1000, target=0x2a2e61b5530,
x=25.000001907348633, y=16) at ../gtk4/gtk/gtkeventcontroller.c:363
#51 0x00007ffba2bc3d20 in gtk_widget_run_controllers (widget=0x2a2e6127880,
event=0x2a2939c1000, target=0x2a2e61b5530, x=25.000001907348633, y=16,
phase=GTK_PHASE_CAPTURE) at ../gtk4/gtk/gtkwidget.c:4524
#52 0x00007ffba2bc4298 in _gtk_widget_captured_event (widget=0x2a2e6127880,
event=0x2a2939c1000, target=0x2a2e61b5530) at ../gtk4/gtk/gtkwidget.c:4687
#53 0x00007ffba2a3f943 in gtk_propagate_event_internal (widget=0x2a2e6127880,
event=0x2a2939c1000, topmost=0x2a2e5e4c2a0) at ../gtk4/gtk/gtkmain.c:1903
#54 0x00007ffba2a3fb6e in gtk_propagate_event (widget=0x2a2e61b5530,
event=0x2a2939c1000) at ../gtk4/gtk/gtkmain.c:1985
#55 0x00007ffba2a3f393 in gtk_main_do_event (event=0x2a2939c1000)
at ../gtk4/gtk/gtkmain.c:1677
#56 0x00007ffba2be1e46 in surface_event (surface=0x2a2e5ce7bb0,
event=0x2a2939c1000, widget=0x2a2e5e4c2a0) at ../gtk4/gtk/gtkwindow.c:4706
#57 0x00007ffba2cf0891 in _gdk_marshal_BOOLEAN__POINTERv (
closure=0x2a2e5ddf000, return_value=0xfa707ff320, instance=0x2a2e5ce7bb0,
args=0xfa707ff4f8 "", marshal_data=0x0, n_params=1,
param_types=0x2a2e60da430) at gdk/gdkmarshalers.c:302
#58 0x00007ffba2d2a655 in gdk_surface_event_marshallerv (
closure=0x2a2e5ddf000, return_value=0xfa707ff320, instance=0x2a2e5ce7bb0,
args=0xfa707ff4f8 "", marshal_data=0x0, n_params=1,
param_types=0x2a2e60da430) at ../gtk4/gdk/gdksurface.c:463
#59 0x00007ffbda07a6d0 in _g_closure_invoke_va (closure=0x2a2e5ddf000,
return_value=0xfa707ff320, instance=0x2a2e5ce7bb0, args=0xfa707ff4f8 "",
n_params=1, param_types=0x2a2e60da430) at ../glib/gobject/gclosure.c:895
#60 0x00007ffbda097ed2 in g_signal_emit_valist (instance=0x2a2e5ce7bb0,
signal_id=234, detail=0, var_args=0xfa707ff4f8 "")
at ../glib/gobject/gsignal.c:3456
#61 0x00007ffbda098b42 in g_signal_emit (instance=0x2a2e5ce7bb0,
signal_id=234, detail=0) at ../glib/gobject/gsignal.c:3606
#62 0x00007ffba2d2f402 in gdk_surface_handle_event (event=0x2a2939c1000)
at ../gtk4/gdk/gdksurface.c:2947
#63 0x00007ffba2d0c76e in _gdk_event_emit (event=0x2a2939c1000)
at ../gtk4/gdk/gdkevents.c:490
#64 0x00007ffba2d54188 in gdk_event_dispatch (source=0x2a2e50e6d50,
callback=0x0, user_data=0x0) at ../gtk4/gdk/win32/gdkevents-win32.c:3415
#65 0x00007ffbb0bba1aa in g_main_dispatch (context=0x2a2e495a1b0)
at ../glib/glib/gmain.c:3444
#66 0x00007ffbb0bbb0e6 in g_main_context_dispatch (context=0x2a2e495a1b0)
at ../glib/glib/gmain.c:4162
#67 0x00007ffbb0bbb2e5 in g_main_context_iterate (context=0x2a2e495a1b0,
block=1, dispatch=1, self=0x2a2e49242a0) at ../glib/glib/gmain.c:4238
#68 0x00007ffbb0bbb3b3 in g_main_context_iteration (context=0x2a2e495a1b0,
may_block=1) at ../glib/glib/gmain.c:4303
#69 0x00007ffba61443ac in g_application_run (application=0x2a2e492c160,
argc=1, argv=0x2a2e49393c0) at ../glib/gio/gapplication.c:2571
#70 0x00007ff7435e8505 in main (argc=1, argv=0x2a2e49393c0)
at ../gtk4/demos/gtk-demo/main.c:1114
Version Informations:
- GTK 4.8.0
- Arch Linux x86_64 w/ GNOME Wayland
- Windows 10 21H2
Edited by Luca Bacci