Inserting a non-ASCII character in a GtkEntry/GtkTextBuffer causes a crash
Steps to reproduce
- Open GTK Demo
- Open the search entry or run a demo with a GtkEntry/GtkTextView
- Open the emoji chooser and select an emoji, or paste an emoji from another program (like Characters), the app crashes
Version information
GTK: Version from the org.gnome.Platform//master runtime at 82242507
OS: Fedora 38 Silverblue
Warnings
(gtk4-demo:2): GLib-CRITICAL **: 10:23:38.122: g_variant_new_string: assertion 'g_utf8_validate (string, -1, NULL)' failed
(gtk4-demo:2): GLib-CRITICAL **: 10:23:38.122: g_variant_new_variant: assertion 'value != NULL' failed
Backtrace
This is by selecting an emoji in the emoji chooser of the search entry of GTK Demo:
Click to expand
#0 g_variant_is_trusted (value=value@entry=0x0) at ../glib/gvariant-core.c:756
#1 0x00007f1efe55ca5a in g_variant_builder_add_value (value=0x0, builder=0x7ffc1c17b7c0) at ../glib/gvariant.c:3563
__func__ = "g_variant_builder_add_value"
__func__ = "g_variant_builder_add_value"
#2 g_variant_builder_add_value (builder=0x7ffc1c17b7c0, value=0x0) at ../glib/gvariant.c:3551
__func__ = "g_variant_builder_add_value"
#3 0x00007f1efe55e99c in g_variant_valist_new (str=0x7ffc1c17b888, app=0x7ffc1c17b8b0) at ../glib/gvariant.c:5303
b = {u = {s = {partial_magic = 0, type = 0x55d120dc76b0, y = {0, 0, 0, 18446744073709551615, 94356670495648, 8, 3, 2, 1033660112, 0, 0, 0, 0, 0}}, x = {0, 94356687845040, 0, 0, 0, 18446744073709551615, 94356670495648, 8, 3, 2, 1033660112, 0, 0, 0, 0, 0}}}
#4 0x00007f1efe55ef00 in g_variant_new_va (format_string=, format_string@entry=0x7f1efeb0216c "(siiva{sv})", endptr=endptr@entry=0x0, app=app@entry=0x7ffc1c17b8b0) at ../glib/gvariant.c:5479
value =
__func__ = "g_variant_new_va"
#5 0x00007f1efe55f038 in g_variant_new (format_string=format_string@entry=0x7f1efeb0216c "(siiva{sv})") at ../glib/gvariant.c:5414
value =
ap = {{gp_offset = 40, fp_offset = 48, overflow_arg_area = 0x7ffc1c17b9a0, reg_save_area = 0x7ffc1c17b8d0}}
__func__ = "g_variant_new"
#6 0x00007f1efe958cb4 in emit_text_changed (self=0x55d11cee39f0 [GtkAtSpiContext], kind=0x7f1efeafa84d "insert", start=0, end=2, text=) at ../gtk/a11y/gtkatspicontext.c:719
copy = 0x55d120e463f0
#11 0x00007f1efef294b3 in (instance=, signal_id=, detail=) at ../gobject/gsignal.c:3675
var_args = {{gp_offset = 48, fp_offset = 48, overflow_arg_area = 0x7ffc1c17bf00, reg_save_area = 0x7ffc1c17be40}}
#7 0x00007f1efef0d43a in g_closure_invoke (closure=0x55d11ce20ec0, return_value=0x0, n_param_values=4, param_values=0x7ffc1c17bbb0, invocation_hint=0x7ffc1c17bb00) at ../gobject/gclosure.c:832
marshal = 0x7f1efe6d0570 <_gtk_marshal_VOID__STRING_INT_POINTER>
marshal_data = 0x0
in_marshal = 0
real_closure = 0x55d11ce20ea0
__func__ = "g_closure_invoke"
#8 0x00007f1efef21d09 in signal_emit_unlocked_R
(node=node@entry=0x7ffc1c17bcb0, detail=detail@entry=0, instance=instance@entry=0x55d11cf24fd0, emission_return=emission_return@entry=0x0, instance_and_params=instance_and_params@entry=0x7ffc1c17bbb0) at ../gobject/gsignal.c:4053
tmp =
handler = 0x55d11cf2b370
accumulator =
emission = {next = 0x7ffc1c17c090, instance = 0x55d11cf24fd0, ihint = {signal_id = 138, detail = 0, run_type = (G_SIGNAL_RUN_LAST | G_SIGNAL_ACCUMULATOR_FIRST_RUN)}, state = EMISSION_RUN, chain_type = 0x4 [void]}
hlist =
handler_list = 0x55d11cf2b370
return_accu =
accu = {g_type = 0x0, data = {{v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}, {v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}}}
signal_id =
max_sequential_handler_number =
return_value_altered =
n_params =
__func__ = "signal_emit_unlocked_R"
#9 0x00007f1efef23421 in signal_emit_valist_unlocked (instance=instance@entry=0x55d11cf24fd0, signal_id=signal_id@entry=138, detail=detail@entry=0, var_args=var_args@entry=0x7ffc1c17be20) at ../gobject/gsignal.c:3612
instance_and_params = 0x7ffc1c17bbb0
param_values = 0x7ffc1c17bbc8
node =
i =
__func__ = "signal_emit_valist_unlocked"
node_copy = {signal_id = 138, itype = 0x55d11cef80b0 [GtkEditable], name = 0x7f1efeaf0f44 "insert-text", destroyed = 0, flags = 2, n_params = 3, single_va_closure_is_valid = 1, single_va_closure_is_after = 0, param_types = 0x55d11cef7e30, return_type = 0x4 [void], class_closure_bsa = 0x55d11cef8090, accumulator = 0x0, c_marshaller = 0x7f1efe6d0570 <_gtk_marshal_VOID__STRING_INT_POINTER>, va_marshaller = 0x7f1efe6d0630 <_gtk_marshal_VOID__STRING_INT_POINTERv>, emission_hooks = 0x0, single_va_closure = 0x0}
#10 0x00007f1efef293f1 in g_signal_emit_valist (instance=0x55d11cf24fd0, signal_id=138, detail=0, var_args=0x7ffc1c17be20) at ../gobject/gsignal.c:3355
#12 0x00007f1efe841a03 in emoji_picked (chooser=, text=text@entry=0x55d120e43900 "😄️", self=0x55d11cf24fd0 [GtkText]) at ../gtk/gtktext.c:7003
pos = 2
--Type for more, q to quit, c to continue without paging--c
priv = 0x55d11cf24d40
#17 0x00007f1efef294b3 in (instance=instance@entry=0x55d11f8eca90, signal_id=, detail=detail@entry=0) at ../gobject/gsignal.c:3675
var_args = {{gp_offset = 24, fp_offset = 48, overflow_arg_area = 0x7ffc1c17c310, reg_save_area = 0x7ffc1c17c250}}
#13 0x00007f1efef106fb in g_cclosure_marshal_VOID__STRINGv
(closure=0x55d11fc09800, return_value=, instance=, args=, marshal_data=, n_params=, param_types=0x55d11d13c520) at ../gobject/gmarshal.c:1462
data1 =
data2 =
callback = 0x7f1efe841950
arg0 = 0x55d120e43900
args_copy = {{gp_offset = 32, fp_offset = 48, overflow_arg_area = 0x7ffc1c17c310, reg_save_area = 0x7ffc1c17c250}}
#14 0x00007f1efef0d652 in _g_closure_invoke_va (closure=0x55d11fc09800, return_value=0x0, instance=0x55d11f8eca90, args=0x7ffc1c17c230, n_params=1, param_types=0x55d11d13c520) at ../gobject/gclosure.c:895
marshal = 0x7f1efef10680
marshal_data = 0x0
in_marshal = 0
real_closure = 0x55d11fc097e0
__func__ = "_g_closure_invoke_va"
#15 0x00007f1efef234df in signal_emit_valist_unlocked (instance=instance@entry=0x55d11f8eca90, signal_id=signal_id@entry=254, detail=detail@entry=0, var_args=var_args@entry=0x7ffc1c17c230) at ../gobject/gsignal.c:3516
return_accu = 0x0
accu = {g_type = 0x0, data = {{v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}, {v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}}}
emission = {next = 0x7ffc1c17c540, instance = 0x55d11f8eca90, ihint = {signal_id = 254, detail = 0, run_type = (G_SIGNAL_RUN_FIRST | G_SIGNAL_ACCUMULATOR_FIRST_RUN)}, state = EMISSION_RUN, chain_type = 0x55d11d2dc090 [GtkEmojiChooser/GtkPopover/GtkWidget/GInitiallyUnowned]}
instance_type =
emission_return = {g_type = 0x0, data = {{v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}, {v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}}}
rtype = 0x4 [void]
static_scope = 0
fastpath_handler =
closure =
run_type =
hlist =
l =
fastpath =
instance_and_params =
param_values =
node =
i =
__func__ = "signal_emit_valist_unlocked"
node_copy = {signal_id = 254, itype = 0x55d11d2dc090 [GtkEmojiChooser/GtkPopover/GtkWidget/GInitiallyUnowned], name = 0x55d11f6af8d1 "emoji-picked", destroyed = 0, flags = 2, n_params = 1, single_va_closure_is_valid = 1, single_va_closure_is_after = 0, param_types = 0x55d11d13c520, return_type = 0x4 [void], class_closure_bsa = 0x0, accumulator = 0x0, c_marshaller = 0x7f1efef105d0 , va_marshaller = 0x7f1efef10680 , emission_hooks = 0x0, single_va_closure = 0x1}
#16 0x00007f1efef293f1 in g_signal_emit_valist (instance=0x55d11f8eca90, signal_id=254, detail=0, var_args=0x7ffc1c17c230) at ../gobject/gsignal.c:3355
#18 0x00007f1efe740abe in emoji_activated (box=, child=child@entry=0x55d11fce9eb0 [GtkEmojiChooserChild], data=0x55d11f8eca90) at ../gtk/gtkemojichooser.c:443
chooser = 0x55d11f8eca90 [GtkEmojiChooser]
text = 0x55d120e43900 "😄️"
label =
item = 0x55d11fcdd190
modifier =
#23 0x00007f1efef294b3 in (instance=, signal_id=, detail=) at ../gobject/gsignal.c:3675
var_args = {{gp_offset = 24, fp_offset = 48, overflow_arg_area = 0x7ffc1c17c7c0, reg_save_area = 0x7ffc1c17c700}}
#19 0x00007f1efef10d97 in g_cclosure_marshal_VOID__OBJECTv
(closure=0x55d11fbc4e00, return_value=, instance=0x55d11fb8cf60, args=, marshal_data=, n_params=, param_types=0x55d11fba5c20) at ../gobject/gmarshal.c:1910
data1 =
data2 =
callback = 0x7f1efe740870
arg0 = 0x55d11fce9eb0
args_copy = {{gp_offset = 32, fp_offset = 48, overflow_arg_area = 0x7ffc1c17c7c0, reg_save_area = 0x7ffc1c17c700}}
#20 0x00007f1efef0d652 in _g_closure_invoke_va (closure=0x55d11fbc4e00, return_value=0x0, instance=0x55d11fb8cf60, args=0x7ffc1c17c6e0, n_params=1, param_types=0x55d11fba5c20) at ../gobject/gclosure.c:895
marshal = 0x7f1efef10d20
marshal_data = 0x0
in_marshal = 0
real_closure = 0x55d11fbc4de0
__func__ = "_g_closure_invoke_va"
#21 0x00007f1efef234df in signal_emit_valist_unlocked (instance=instance@entry=0x55d11fb8cf60, signal_id=signal_id@entry=260, detail=detail@entry=0, var_args=var_args@entry=0x7ffc1c17c6e0) at ../gobject/gsignal.c:3516
return_accu = 0x0
accu = {g_type = 0x0, data = {{v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}, {v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}}}
emission = {next = 0x7ffc1c17c8e0, instance = 0x55d11fb8cf60, ihint = {signal_id = 260, detail = 0, run_type = (G_SIGNAL_RUN_FIRST | G_SIGNAL_ACCUMULATOR_FIRST_RUN)}, state = EMISSION_RUN, chain_type = 0x55d11d191ac0 [GtkFlowBox/GtkWidget/GInitiallyUnowned]}
instance_type =
emission_return = {g_type = 0x0, data = {{v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}, {v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}}}
rtype = 0x4 [void]
static_scope = 0
fastpath_handler =
closure =
run_type =
hlist =
l =
fastpath =
instance_and_params =
param_values =
node =
i =
__func__ = "signal_emit_valist_unlocked"
node_copy = {signal_id = 260, itype = 0x55d11d191ac0 [GtkFlowBox/GtkWidget/GInitiallyUnowned], name = 0x7f1efeaf12e0 "child-activated", destroyed = 0, flags = 2, n_params = 1, single_va_closure_is_valid = 1, single_va_closure_is_after = 1, param_types = 0x55d11fba5c20, return_type = 0x4 [void], class_closure_bsa = 0x55d11fba6440, accumulator = 0x0, c_marshaller = 0x7f1efef10c70 , va_marshaller = 0x7f1efef10d20 , emission_hooks = 0x0, single_va_closure = 0x55d11fba63a0}
#22 0x00007f1efef293f1 in g_signal_emit_valist (instance=0x55d11fb8cf60, signal_id=260, detail=0, var_args=0x7ffc1c17c6e0) at ../gobject/gsignal.c:3355
#28 0x00007f1efef294b3 in (instance=instance@entry=0x55d11fb8d780, signal_id=, detail=detail@entry=0) at ../gobject/gsignal.c:3675
var_args = {{gp_offset = 24, fp_offset = 48, overflow_arg_area = 0x7ffc1c17cb60, reg_save_area = 0x7ffc1c17caa0}}
#24 0x00007f1efe6ce489 in _gtk_marshal_VOID__INT_DOUBLE_DOUBLEv
(closure=, return_value=, instance=, args=, marshal_data=, n_params=, param_types=0x55d11ce95680) at gtk/gtkmarshalers.c:3688
data1 =
data2 =
callback =
arg0 = 6
arg1 = 6.952530295581115e-310
arg2 = 6.9056088275117327e-310
args_copy = {{gp_offset = 32, fp_offset = 80, overflow_arg_area = 0x7ffc1c17cb60, reg_save_area = 0x7ffc1c17caa0}}
#25 0x00007f1efef0d652 in _g_closure_invoke_va (closure=0x55d11fb8d930, return_value=0x0, instance=0x55d11fb8d780, args=0x7ffc1c17ca80, n_params=3, param_types=0x55d11ce95680) at ../gobject/gclosure.c:895
marshal = 0x7f1efe6ce3f0 <_gtk_marshal_VOID__INT_DOUBLE_DOUBLEv>
marshal_data = 0x0
in_marshal = 0
real_closure = 0x55d11fb8d910
__func__ = "_g_closure_invoke_va"
#26 0x00007f1efef234df in signal_emit_valist_unlocked (instance=instance@entry=0x55d11fb8d780, signal_id=signal_id@entry=99, detail=detail@entry=0, var_args=var_args@entry=0x7ffc1c17ca80) at ../gobject/gsignal.c:3516
return_accu = 0x0
accu = {g_type = 0x0, data = {{v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}, {v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}}}
emission = {next = 0x7ffc1c17cd10, instance = 0x55d11fb8d780, ihint = {signal_id = 99, detail = 0, run_type = (G_SIGNAL_RUN_FIRST | G_SIGNAL_ACCUMULATOR_FIRST_RUN)}, state = EMISSION_RUN, chain_type = 0x55d11ce75b50 [GtkGestureClick/GtkGestureSingle/GtkGesture/GtkEventController]}
instance_type =
emission_return = {g_type = 0x0, data = {{v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}, {v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}}}
rtype = 0x4 [void]
static_scope = 0
fastpath_handler =
closure =
run_type =
hlist =
l =
fastpath =
instance_and_params =
param_values =
node =
i =
__func__ = "signal_emit_valist_unlocked"
node_copy = {signal_id = 99, itype = 0x55d11ce75b50 [GtkGestureClick/GtkGestureSingle/GtkGesture/GtkEventController], name = 0x7f1efeaef86f "released", destroyed = 0, flags = 2, n_params = 3, single_va_closure_is_valid = 1, single_va_closure_is_after = 1, param_types = 0x55d11ce95680, return_type = 0x4 [void], class_closure_bsa = 0x55d11ce70ee0, accumulator = 0x0, c_marshaller = 0x7f1efe6ce320 <_gtk_marshal_VOID__INT_DOUBLE_DOUBLE>, va_marshaller = 0x7f1efe6ce3f0 <_gtk_marshal_VOID__INT_DOUBLE_DOUBLEv>, emission_hooks = 0x0, single_va_closure = 0x55d11ce95650}
#27 0x00007f1efef293f1 in g_signal_emit_valist (instance=0x55d11fb8d780, signal_id=99, detail=0, var_args=0x7ffc1c17ca80) at ../gobject/gsignal.c:3355
#29 0x00007f1efe77a72e in gtk_gesture_click_end (gesture=0x55d11fb8d780 [GtkGestureClick], sequence=sequence@entry=0x0) at ../gtk/gtkgestureclick.c:275
click = 0x55d11fb8d780 [GtkGestureClick]
priv = 0x55d11fb8d6d0
current = 0x0
x = 134.3984375
y = 42.527347564697266
interpreted = 1
state =
#34 0x00007f1efef294b3 in (instance=instance@entry=0x55d11fb8d780, signal_id=, detail=detail@entry=0) at ../gobject/gsignal.c:3675
var_args = {{gp_offset = 24, fp_offset = 48, overflow_arg_area = 0x7ffc1c17cf90, reg_save_area = 0x7ffc1c17ced0}}
#30 0x00007f1efef10a9a in g_cclosure_marshal_VOID__BOXEDv
(closure=0x55d11ce774f0, return_value=, instance=0x55d11fb8d780, args=, marshal_data=, n_params=, param_types=0x55d11ce77520) at ../gobject/gmarshal.c:1686
data1 =
data2 =
callback = 0x7f1efe77a670
arg0 = 0x0
args_copy = {{gp_offset = 32, fp_offset = 48, overflow_arg_area = 0x7ffc1c17cf90, reg_save_area = 0x7ffc1c17ced0}}
#31 0x00007f1efef0d652 in _g_closure_invoke_va (closure=0x55d11ce774f0, return_value=0x0, instance=0x55d11fb8d780, args=0x7ffc1c17ceb0, n_params=1, param_types=0x55d11ce77520) at ../gobject/gclosure.c:895
marshal = 0x7f1efef0ba50
marshal_data = 0x120
in_marshal = 0
real_closure = 0x55d11ce774d0
__func__ = "_g_closure_invoke_va"
#32 0x00007f1efef234df in signal_emit_valist_unlocked (instance=instance@entry=0x55d11fb8d780, signal_id=signal_id@entry=94, detail=detail@entry=0, var_args=var_args@entry=0x7ffc1c17ceb0) at ../gobject/gsignal.c:3516
return_accu = 0x0
accu = {g_type = 0x0, data = {{v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}, {v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}}}
emission = {next = 0x7ffc1c17d480, instance = 0x55d11fb8d780, ihint = {signal_id = 94, detail = 0, run_type = (G_SIGNAL_RUN_LAST | G_SIGNAL_ACCUMULATOR_FIRST_RUN)}, state = EMISSION_RUN, chain_type = 0x55d11ce75b50 [GtkGestureClick/GtkGestureSingle/GtkGesture/GtkEventController]}
instance_type =
emission_return = {g_type = 0x0, data = {{v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}, {v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}}}
rtype = 0x4 [void]
static_scope = 0
fastpath_handler =
closure =
run_type =
hlist =
l =
fastpath =
instance_and_params =
param_values =
node =
i =
__func__ = "signal_emit_valist_unlocked"
node_copy = {signal_id = 94, itype = 0x55d11ce600b0 [GtkGesture/GtkEventController], name = 0x55d11cdb13ab "end", destroyed = 0, flags = 2, n_params = 1, single_va_closure_is_valid = 1, single_va_closure_is_after = 1, param_types = 0x55d11ce77520, return_type = 0x4 [void], class_closure_bsa = 0x55d11ce4d930, accumulator = 0x0, c_marshaller = 0x7f1efef10950 , va_marshaller = 0x7f1efef10a00 , emission_hooks = 0x0, single_va_closure = 0x55d11ce774f0}
#33 0x00007f1efef293f1 in g_signal_emit_valist (instance=0x55d11fb8d780, signal_id=94, detail=0, var_args=0x7ffc1c17ceb0) at ../gobject/gsignal.c:3355
#35 0x00007f1efe777703 in _gtk_gesture_set_recognized (sequence=0x0, recognized=0, gesture=0x55d11fb8d780 [GtkGestureClick]) at ../gtk/gtkgesture.c:340
priv =
priv = 0x55d11fb8d720
has_matching_touchpoints = 0
#36 _gtk_gesture_check_recognized (gesture=gesture@entry=0x55d11fb8d780 [GtkGestureClick], sequence=sequence@entry=0x0) at ../gtk/gtkgesture.c:381
priv = 0x55d11fb8d720
has_matching_touchpoints = 0
#37 0x00007f1efe778e5b in gtk_gesture_handle_event (controller=0x55d11fb8d780 [GtkGestureClick], event=0x55d120dcc9e0 [GdkButtonEvent], x=134.3984375, y=42.527347564697266) at ../gtk/gtkgesture.c:686
was_claimed = 0
gesture = 0x55d11fb8d780 [GtkGestureClick]
sequence = 0x0
priv = 0x55d11fb8d720
source_device =
was_recognized = 1
event_type = GDK_BUTTON_RELEASE
phase = GDK_TOUCHPAD_GESTURE_PHASE_BEGIN
state = GDK_BUTTON1_MASK
target = 0x55d11fcdd380 [GtkLabel]
#38 0x00007f1efe77bd96 in gtk_gesture_single_handle_event (controller=0x55d11fb8d780 [GtkGestureClick], event=0x55d120dcc9e0 [GdkButtonEvent], x=134.3984375, y=42.527347564697266) at ../gtk/gtkgesturesingle.c:227
sequence =
priv = 0x55d11fb8d700
source_device =
source =
button =
state =
i =
retval =
event_type = GDK_BUTTON_RELEASE
#39 0x00007f1efe748b66 in gtk_event_controller_handle_event
(controller=controller@entry=0x55d11fb8d780 [GtkGestureClick], event=event@entry=0x55d120dcc9e0 [GdkButtonEvent], target=target@entry=0x55d11fcdd380 [GtkLabel], x=x@entry=134.3984375, y=y@entry=42.527347564697266)
at ../gtk/gtkeventcontroller.c:362
controller_class = 0x55d11ce734e0
priv =
retval = 0
__func__ = "gtk_event_controller_handle_event"
#40 0x00007f1efe88bfa8 in gtk_widget_run_controllers
(widget=widget@entry=0x55d11fb8cf60 [GtkFlowBox], event=event@entry=0x55d120dcc9e0 [GdkButtonEvent], target=target@entry=0x55d11fcdd380 [GtkLabel], x=134.3984375, y=42.527347564697266, phase=phase@entry=GTK_PHASE_BUBBLE)
at ../gtk/gtkwidget.c:4581
this_handled =
is_gesture = 1
controller_phase =
next = 0x55d11fb8d0b0 = {0x55d11fb8d070}
priv = 0x55d11fb8ce10
controller = 0x55d11fb8d780 [GtkGestureClick]
handled = 0
l = 0x55d11fb8db50 = {0x55d11fb8d780, 0x55d11fb8d070}
__func__ = "gtk_widget_run_controllers"
#41 0x00007f1efe8936e1 in gtk_widget_event (widget=widget@entry=0x55d11fb8cf60 [GtkFlowBox], event=event@entry=0x55d120dcc9e0 [GdkButtonEvent], target=target@entry=0x55d11fcdd380 [GtkLabel]) at ../gtk/gtkwidget.c:4775
return_val =
x = 4.6618397930122207e-310
y = 4.6618389156607234e-310
#42 0x00007f1efe7b835e in gtk_propagate_event_internal (widget=0x55d11fb8cf60 [GtkFlowBox], widget@entry=0x55d11fcdd380 [GtkLabel], event=event@entry=0x55d120dcc9e0 [GdkButtonEvent], topmost=) at ../gtk/gtkmain.c:1942
handled_event = 0
target = 0x55d11fcdd380 [GtkLabel]
widget_array = {start = 0x7ffc1c17d168, end = 0x7ffc1c17d1c0, end_allocation = 0x7ffc1c17d1e8, preallocated = {0x55d11fcdd380 [GtkLabel], 0x55d11fce9eb0 [GtkEmojiChooserChild], 0x55d11fb8cf60 [GtkFlowBox], 0x55d11fba5220 [GtkBox], 0x55d11fbaed80 [GtkViewport], 0x55d11f6ae710 [GtkScrolledWindow], 0x55d11fa6b1a0 [GtkBox], 0x55d11fb7a4f0 [GtkStack], 0x55d11fa84a20 [GtkBox], 0x55d11d2f3800 [GtkPopoverContent], 0x55d11f8eca90 [GtkEmojiChooser], 0x55d11ce4fe40 [GtkApplicationWindow], 0x55d11fc0b550 [GdkWaylandPopup], 0x55d11f8eca90 [GtkEmojiChooser], 0x55d11fcdd380 [GtkLabel], 0x7ffc1c17d1f0}}
i = 2
#43 0x00007f1efe7b83f2 in gtk_propagate_event (widget=widget@entry=0x55d11fcdd380 [GtkLabel], event=event@entry=0x55d120dcc9e0 [GdkButtonEvent]) at ../gtk/gtkmain.c:1992
window_group =
event_widget =
topmost =
__func__ = "gtk_propagate_event"
#44 0x00007f1efe7b8a73 in gtk_main_do_event (event=0x55d120dcc9e0 [GdkButtonEvent]) at ../gtk/gtkmain.c:1684
event_widget =
target_widget =
grab_widget = 0x55d11fcdd380 [GtkLabel]
window_group = 0x55d11cfb3470 [GtkWindowGroup]
rewritten_event =
tmp_list =
__func__ = "gtk_main_do_event"
#45 0x00007f1efe7e082c in surface_event (surface=, event=, widget=) at ../gtk/gtkpopover.c:877
#51 0x00007f1efef294b3 in (instance=instance@entry=0x55d11fc0b550, signal_id=, detail=detail@entry=0) at ../gobject/gsignal.c:3675
var_args = {{gp_offset = 24, fp_offset = 48, overflow_arg_area = 0x7ffc1c17d700, reg_save_area = 0x7ffc1c17d640}}
#46 0x00007f1efea15ccc in _gdk_marshal_BOOLEAN__POINTERv
(closure=closure@entry=0x55d11fc0bfa0, return_value=return_value@entry=0x7ffc1c17d510, instance=instance@entry=0x55d11fc0b550, args=args@entry=0x7ffc1c17d620, marshal_data=marshal_data@entry=0x0, n_params=n_params@entry=1, param_types=0x55d11d2f62b0) at gdk/gdkmarshalers.c:302
data1 =
data2 =
callback =
v_return =
arg0 = 0x0
args_copy = {{gp_offset = 32, fp_offset = 48, overflow_arg_area = 0x7ffc1c17d700, reg_save_area = 0x7ffc1c17d640}}
__func__ = "_gdk_marshal_BOOLEAN__POINTERv"
#47 0x00007f1efea83157 in gdk_surface_event_marshallerv (closure=0x55d11fc0bfa0, return_value=0x7ffc1c17d510, instance=0x55d11fc0b550, args=0x7ffc1c17d620, marshal_data=0x0, n_params=1, param_types=0x55d11d2f62b0)
at ../gdk/gdksurface.c:461
args_copy = {{gp_offset = 32, fp_offset = 48, overflow_arg_area = 0x7ffc1c17d700, reg_save_area = 0x7ffc1c17d640}}
event = 0x55d120dcc9e0 [GdkButtonEvent]
#48 0x00007f1efef0d652 in _g_closure_invoke_va (closure=0x55d11fc0bfa0, return_value=0x7ffc1c17d510, instance=0x55d11fc0b550, args=0x7ffc1c17d620, n_params=1, param_types=0x55d11d2f62b0) at ../gobject/gclosure.c:895
marshal = 0x7f1efea830d0
marshal_data = 0x0
in_marshal = 0
real_closure = 0x55d11fc0bf80
__func__ = "_g_closure_invoke_va"
#49 0x00007f1efef227e3 in signal_emit_valist_unlocked (instance=instance@entry=0x55d11fc0b550, signal_id=signal_id@entry=241, detail=detail@entry=0, var_args=var_args@entry=0x7ffc1c17d620) at ../gobject/gsignal.c:3516
return_accu = 0x7ffc1c17d510
accu = {g_type = 0x14 [gboolean], data = {{v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}, {v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}}}
emission = {next = 0x0, instance = 0x55d11fc0b550, ihint = {signal_id = 241, detail = 0, run_type = (G_SIGNAL_RUN_FIRST | G_SIGNAL_ACCUMULATOR_FIRST_RUN)}, state = EMISSION_RUN, chain_type = 0x55d11cddb6b0 [GdkWaylandPopup/GdkWaylandSurface/GdkSurface]}
instance_type =
emission_return = {g_type = 0x14 [gboolean], data = {{v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}, {v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}}}
rtype = 0x14 [gboolean]
static_scope = 0
fastpath_handler =
closure =
run_type =
hlist =
l =
fastpath =
instance_and_params =
param_values =
node =
i =
__func__ = "signal_emit_valist_unlocked"
node_copy = {signal_id = 241, itype = 0x55d11cddafa0 [GdkSurface], name = 0x7f1efe43063b "event", destroyed = 0, flags = 2, n_params = 1, single_va_closure_is_valid = 1, single_va_closure_is_after = 0, param_types = 0x55d11d2f62b0, return_type = 0x14 [gboolean], class_closure_bsa = 0x0, accumulator = 0x55d11d2f6250, c_marshaller = 0x7f1efea831a0 , va_marshaller = 0x7f1efea830d0 , emission_hooks = 0x0, single_va_closure = 0x1}
#50 0x00007f1efef293f1 in g_signal_emit_valist (instance=0x55d11fc0b550, signal_id=241, detail=0, var_args=0x7ffc1c17d620) at ../gobject/gsignal.c:3355
#52 0x00007f1efea86877 in gdk_surface_handle_event (event=event@entry=0x55d120dcc9e0 [GdkButtonEvent]) at ../gdk/gdksurface.c:2939
surface = 0x55d11fc0b550 [GdkWaylandPopup]
handled = 0
#53 0x00007f1efea6be2e in _gdk_event_emit (event=0x55d120dcc9e0 [GdkButtonEvent]) at ../gdk/gdkevents.c:493
#54 0x00007f1efea1f03a in gdk_event_source_dispatch (base=, callback=, data=) at ../gdk/wayland/gdkeventsource.c:142
source =
display =
event = 0x55d120dcc9e0 [GdkButtonEvent]
#55 0x00007f1efe510e97 in g_main_dispatch (context=context@entry=0x55d11cdb1d10) at ../glib/gmain.c:3468
dispatch = 0x7f1efea1f020
prev_source = 0x0
begin_time_nsec = 3005449657668
was_in_call = 0
user_data = 0x0
callback = 0x0
cb_funcs = 0x0
cb_data = 0x0
need_destroy =
source = 0x55d11cddcd40
current = 0x55d11cdc9db0
i = 0
__func__ = "g_main_dispatch"
#56 0x00007f1efe512fa7 in g_main_context_dispatch_unlocked (context=0x55d11cdb1d10) at ../glib/gmain.c:4276
max_priority = 2147483647
timeout = 11
some_ready = 1
nfds = 2
allocated_nfds =
fds = 0x7f1ef0003510
begin_time_nsec = 3005442266527
#57 g_main_context_iterate_unlocked (context=context@entry=0x55d11cdb1d10, block=block@entry=1, dispatch=dispatch@entry=1, self=) at ../glib/gmain.c:4341
max_priority = 2147483647
timeout = 11
some_ready = 1
nfds = 2
allocated_nfds =
fds = 0x7f1ef0003510
begin_time_nsec = 3005442266527
#58 0x00007f1efe513663 in g_main_context_iteration (context=context@entry=0x55d11cdb1d10, may_block=may_block@entry=1) at ../glib/gmain.c:4406
retval =
#59 0x00007f1efe3b2afd in g_application_run (application=application@entry=0x55d11cdaa530 [GtkApplication], argc=argc@entry=1, argv=argv@entry=0x7ffc1c17dac8) at ../gio/gapplication.c:2577
arguments = 0x55d11cdb0c90
status = 0
context = 0x55d11cdb1d10
acquired_context =
__func__ = "g_application_run"
#60 0x000055d11a81a162 in main (argc=1, argv=0x7ffc1c17dac8) at ../demos/gtk-demo/main.c:1127
app = 0x55d11cdaa530 [GtkApplication]
app_entries = {{name = 0x55d11a86120f "about", activate = 0x55d11a84b250 , parameter_type = 0x0, state = 0x0, change_state = 0x0, padding = {0, 0, 0}}, {name = 0x55d11a8611e2 "quit", activate = 0x55d11a84b1f0 , parameter_type = 0x0, state = 0x0, change_state = 0x0, padding = {0, 0, 0}}, {name = 0x55d11a867ad6 "inspector", activate = 0x55d11a84b1e0 , parameter_type = 0x0, state = 0x0, change_state = 0x0, padding = {0, 0, 0}}}
accels = {{action_and_target = 0x55d11a867a46 "app.about", accelerators = {0x55d11a867a50 "F1", 0x0}}, {action_and_target = 0x55d11a867a53 "app.quit", accelerators = {0x55d11a867a5c "q", 0x0}}}
i = 2
I haven't tried bisecting it but a11y: Be safe against non-UTF8 (!6448 - merged) could be where this regression happened since it is recent and touches the path where this crash happens.