Crash on first Fedora 31 start
gnome-settings-daemon-3.34.1-1.fc31.x86_64
#0 0x00007f305983fc45 in g_ptr_array_add (array=0x7f3040001440, data=0x7f3049903a08) at ../glib/garray.c:1664
#1 0x00005589dfb55798 in map_keybinding () at ../plugins/media-keys/gsd-media-keys-manager.c:3224
#2 0x00005589dfb5ac09 in gsd_settings_migrate_check
(origin_schema=<optimized out>, origin_path=<optimized out>, dest_schema=<optimized out>, dest_path=<optimized out>, entries=<optimized out>, n_entries=<optimized out>)
at ../plugins/common/gsd-settings-migrate.c:61
#3 0x00005589dfb556a2 in migrate_keybinding_settings () at ../plugins/media-keys/gsd-media-keys-manager.c:3272
#4 0x00005589dfb590ea in gsd_media_keys_manager_start (manager=0x5589e089f1a0 [GsdMediaKeysManager], error=<optimized out>) at ../plugins/media-keys/gsd-media-keys-manager.c:3288
#5 0x00005589dfb50b00 in main (argc=<optimized out>, argv=<optimized out>) at ../plugins/common/daemon-skeleton-gtk.h:263
(gdb) list
3219 pos++;
3220 }
3221
3222 /* Add all remaining default values */
3223 while (*pos)
3224 g_ptr_array_add (array, (gpointer) *pos);
3225
3226 g_ptr_array_add (array, NULL);
3227
3228 return g_variant_new_strv ((const gchar * const *) array->pdata, -1);
(gdb) p pos
No symbol "pos" in current context.
I'm afraid that the backtrace doesn't even remotely have enough data to spot the problem easily. But I spotted this:
/* Add all remaining default values */
while (*pos)
g_ptr_array_add (array, (gpointer) *pos);
which I don't understand how it advances the pos
pointer. Also g_variant_get_strv
can return NULL.