Crash when creating GtkTextView with G_DEBUG=gc-friendly
#0 0x00007ffff6f58b40 in __memset_avx2_unaligned_erms () at /lib64/libc.so.6
#1 0x00007ffff718844e in g_slice_free1 (mem_size=16, mem_block=<optimized out>) at ../glib/gslice.c:335
#2 0x00007ffff7a30a7d in gdk_rgba_free (rgba=<optimized out>) at ../gdk/gdkrgba.c:82
#3 0x00007ffff786be79 in gtk_text_view_set_attributes_from_style (text_view=text_view@entry=0x437310 [GtkTextView], values=values@entry=0x432520)
at ../gtk/gtktextview.c:7790
#4 0x00007ffff787171d in gtk_text_view_ensure_layout (text_view=text_view@entry=0x437310 [GtkTextView]) at ../gtk/gtktextview.c:7948
#5 0x00007ffff787198a in gtk_text_view_set_vadjustment_values (text_view=text_view@entry=0x437310 [GtkTextView]) at ../gtk/gtktextview.c:8396
#6 0x00007ffff787a9a9 in gtk_text_view_set_vadjustment (adjustment=0x502040 [GtkAdjustment], text_view=0x437310 [GtkTextView]) at ../gtk/gtktextview.c:8336
#7 gtk_text_view_set_property (object=<optimized out>, prop_id=<optimized out>, value=0x7fffffffdd80, pspec=0x47c0e0 [GParamObject])
at ../gtk/gtktextview.c:4052
#8 0x00007ffff726b18e in object_set_property
(object=0x437310 [GtkTextView], pspec=0x47c0e0 [GParamObject], value=0x47f560, nqueue=0x0, user_specified=<optimized out>) at ../gobject/gobject.c:1839
#9 0x00007ffff726b978 in g_object_new_internal (class=class@entry=0x46cd70, params=params@entry=0x0, n_params=n_params@entry=0) at ../gobject/gobject.c:2291
#10 0x00007ffff726ce2c in g_object_new_with_properties
(object_type=0x460dd0 [GtkTextView/GtkWidget/GInitiallyUnowned], n_properties=<optimized out>, names=names@entry=0x0, values=values@entry=0x0)
at ../gobject/gobject.c:2409
#11 0x00007ffff726d9e1 in g_object_new (object_type=<optimized out>, first_property_name=<optimized out>) at ../gobject/gobject.c:2055
#12 0x000000000040114f in main ()
Reproducer:
#include <gtk/gtk.h>
int
main (int argc,
char *argv[])
{
gtk_init ();
gtk_text_view_new ();
return 0;
}
$ gcc crash.c -o crash $(pkg-config --libs --cflags gtk4)
$ ./crash
$ G_DEBUG=gc-friendly ./crash
Segmentation fault (core dumped)
Noticed failing CI in https://gitlab.gnome.org/GNOME/libadwaita/-/jobs/2540847
So the SDK commit in there is 579e8fbf5a554f9eeed45d2d60b0c638feb6189fdf0bfddd8926bee81740656a
and the last good one was 9934e9b9f31497eda629d5c6df5bbd630dd83ec6275554e08c7e66b939de3988
.
While libadwaita and GTK didn't have any relevant changes in the meantime, GLib went from 20c4fcb2 to 828030a6 and in the meantime !2935 (merged) happened so I'm suspecting that.
Edited by Alice Mikhaylenko