"Settings schema 'org.gnome.settings-daemon.plugins.xsettings' does not contain a key named 'antialiasing'" with g-s-d 40.x
I am currently trying to narrow down haecker-felix/gnome-shell-40-copr#1 (comment 1038452).
When upgrading g-s-d from 3.38.x to 40.x, all gtk applications as well as the shell crash at startup. This seems to be the case because https://gitlab.gnome.org/GNOME/gtk/-/blob/gtk-3-24/gdk/wayland/gdkscreen-wayland.c#L404 still tries to access the old schemes located at /org/gnome/settings-daemon/plugins/xsettings/
which do not exist anymore.
This is the full backtrace (in this case of gnome-session-failed but the gtk crashes look similar):
(gdb) bt full
#0 g_log_structured_array (log_level=<optimized out>, fields=0x7ffe30845ca0, n_fields=4) at ../glib/gmessages.c:556
__func__ = "g_log_structured_array"
#1 0x00007f5ded8c9b89 in g_log_default_handler
(log_domain=log_domain@entry=0x7f5ded17e6c4 "GLib-GIO", log_level=log_level@entry=6, message=message@entry=0x557dd52eb200 "Settings schema 'org.gnome.settings-daemon.plugins.xsettings' does not contain a key named 'antialiasing'", unused_data=unused_data@entry=0x0) at ../glib/gmessages.c:3236
fields =
{{key = 0x7f5ded922207 "GLIB_OLD_LOG_API", value = 0x7f5ded97c0e3, length = -1}, {key = 0x7f5ded922148 "MESSAGE", value = 0x557dd52eb200, length = -1}, {key = 0x7f5ded92215b "PRIORITY", value = 0x7f5ded91c69d, length = -1}, {key = 0x7f5ded9221b5 "GLIB_DOMAIN", value = 0x7f5ded17e6c4, length = -1}}
n_fields = <optimized out>
#2 0x00007f5ded8caf26 in g_logv (log_domain=0x7f5ded17e6c4 "GLib-GIO", log_level=G_LOG_LEVEL_ERROR, format=<optimized out>, args=<optimized out>) at ../glib/gmessages.c:1382
domain = 0x0
data = 0x0
depth = <optimized out>
log_func = 0x7f5ded8c9ad0 <g_log_default_handler>
domain_fatal_mask = <optimized out>
masquerade_fatal = 0
test_level = 6
was_fatal = <optimized out>
was_recursion = <optimized out>
msg = 0x557dd52eb200 "Settings schema 'org.gnome.settings-daemon.plugins.xsettings' does not contain a key named 'antialiasing'"
msg_alloc = 0x557dd52eb200 "Settings schema 'org.gnome.settings-daemon.plugins.xsettings' does not contain a key named 'antialiasing'"
i = 2
#3 0x00007f5ded8cb1c3 in g_log
(log_domain=log_domain@entry=0x7f5ded17e6c4 "GLib-GIO", log_level=log_level@entry=G_LOG_LEVEL_ERROR, format=format@entry=0x7f5ded1a2768 "Settings schema '%s' does not contain a key named '%s'")
at ../glib/gmessages.c:1451
args = {{gp_offset = 40, fp_offset = 48, overflow_arg_area = 0x7ffe30845ec0, reg_save_area = 0x7ffe30845e00}}
#4 0x00007f5ded128201 in g_settings_schema_get_value (key=<optimized out>, schema=<optimized out>) at ../gio/gsettingsschema.c:986
s = 0x0
iter = <optimized out>
value = <optimized out>
s = 0x557dd52e9b20
value = 0x0
iter = <optimized out>
data = 0x0
code = 0 '\000'
#5 g_settings_schema_get_value (key=0x7f5dedad316a "antialiasing", schema=0x557dd52e9b20) at ../gio/gsettingsschema.c:972
s = 0x557dd52e9b20
value = 0x0
iter = <optimized out>
data = 0x0
code = 0 '\000'
#6 g_settings_schema_key_init (key=key@entry=0x7ffe30845f20, schema=0x557dd52e9b20, name=name@entry=0x7f5dedad316a "antialiasing") at ../gio/gsettingsschema.c:1266
iter = <optimized out>
data = 0x0
code = 0 '\000'
#7 0x00007f5ded12a661 in g_settings_get_enum (settings=settings@entry=0x557dd52e9b00 [GSettings], key=key@entry=0x7f5dedad316a "antialiasing") at ../gio/gsettings.c:1365
skey =
{schema = 0x0, name = 0x0, is_flags = 0, is_enum = 0, strinfo = 0x0, strinfo_length = 0, unparsed = 0x0, lc_char = 0 '\000', type = 0x0, minimum = 0x0, maximum = 0x0, default_value = 0x0, desktop_overrides = 0x0, ref_count = 0}
value = <optimized out>
result = <optimized out>
__func__ = "g_settings_get_enum"
#8 0x00007f5deda9f91a in update_xft_settings (screen=0x557dd52c4810 [GdkWaylandScreen]) at wayland/gdkscreen-wayland.c:404
source = <optimized out>
--Type <RET> for more, q to quit, c to continue without paging--c
schema = <optimized out>
screen_wayland = 0x557dd52c4810 [GdkWaylandScreen]
settings = 0x557dd52e9b00 [GSettings]
antialiasing = <optimized out>
hinting = <optimized out>
order = <optimized out>
use_rgba = 0
xft_settings = {antialias = <optimized out>, hinting = <optimized out>, dpi = <optimized out>, rgba = <optimized out>, hintstyle = <optimized out>}
dpi = <optimized out>
#9 0x00007f5deda9a43d in init_settings (screen=0x557dd52c4810 [GdkWaylandScreen]) at wayland/gdkscreen-wayland.c:828
i = 38
screen_wayland = 0x557dd52c4810 [GdkWaylandScreen]
source = 0x557dd52b8a40
schema = 0x0
settings = <optimized out>
screen = 0x557dd52c4810 [GdkWaylandScreen]
screen_wayland = 0x557dd52c4810 [GdkWaylandScreen]
wl_display = <optimized out>
display = 0x557dd52c00e0 [GdkWaylandDisplay]
display_wayland = 0x557dd52c00e0 [GdkWaylandDisplay]
__func__ = "_gdk_wayland_display_open"
#10 _gdk_wayland_screen_new (display=0x557dd52c00e0 [GdkWaylandDisplay]) at wayland/gdkscreen-wayland.c:1320
screen = 0x557dd52c4810 [GdkWaylandScreen]
screen_wayland = 0x557dd52c4810 [GdkWaylandScreen]
wl_display = <optimized out>
display = 0x557dd52c00e0 [GdkWaylandDisplay]
display_wayland = 0x557dd52c00e0 [GdkWaylandDisplay]
__func__ = "_gdk_wayland_display_open"
#11 _gdk_wayland_display_open (display_name=<optimized out>) at wayland/gdkdisplay-wayland.c:617
wl_display = <optimized out>
display = 0x557dd52c00e0 [GdkWaylandDisplay]
display_wayland = 0x557dd52c00e0 [GdkWaylandDisplay]
__func__ = "_gdk_wayland_display_open"
#12 0x00007f5deda38555 in gdk_display_manager_open_display (manager=<optimized out>, name=0x0) at gdkdisplaymanager.c:462
backend = 0x557dd52b37e0 "*"
any = <optimized out>
backend_list = <optimized out>
display = 0x0
backends = 0x557dd52ab6f0
i = <optimized out>
j = 0
allow_any = 1
__func__ = "gdk_display_manager_open_display"
#13 0x00007f5dedd5a318 in gtk_init_with_args (argc=0x7ffe3084620c, argv=0x7ffe30846200, parameter_string=<optimized out>, entries=<optimized out>, translation_domain=0x557dd33440ee "gnome-session-3.0", error=0x7ffe30846218) at gtkmain.c:999
context = 0x557dd52b3800
gtk_group = 0x557dd52b3560
retval = 1
#14 0x0000557dd3342b96 in main ()
Steps to reproduce
- Use https://copr.fedorainfracloud.org/coprs/haeckerfelix/gnome-shell-40/.
- Observe the crash of the shell after either restarting (or when updating g-s-d from a the session after starting any gtk application)
Version information
- gtk3 3.24.25-2.fc33
- gtk4 4.1.0-2.fc33
- gnome-shell, mutter, gnome-settings-daemon, gsettings-desktop-schemas from the copr linked at the beginning
Edited by Björn Daase