Bug 50643

Summary: xfdesktop crashes on start when icons are turned off
Product: Sisyphus Reporter: Ivan A. Melnikov <iv>
Component: xfdesktopAssignee: Mikhail Efremov <sem>
Status: CLOSED FIXED QA Contact: qa-sisyphus
Severity: major    
Priority: P5 CC: cas, oddity, sem
Version: unstable   
Hardware: all   
OS: Linux   

Description Ivan A. Melnikov 2024-06-14 15:07:15 MSK
$ rpm -qa xfdesktop
xfdesktop-4.19.2-alt2.gdbdf20d6.x86_64

If I turn of icons at the XFCE Desktop configuration (in Settings Manager, select Desktop, Desktop Icons tab, and there at the Icons Tab selector choose None), xfdesktop crashes on start with 100% repoducibility.

Here's part of GDB session with debuginfo installed:

(gdb) bt
#0  xfdesktop_file_icon_manager_file_enumerator_ready (file=0x555555709c60, result=0x555555896510, fmanager=0x555555774120) at /usr/src/debug/xfdesktop-4.19.2/src/xfdesktop-file-icon-manager.c:3471
#1  0x00007ffff7078833 in g_task_return_now (task=0x555555896510) at ../gio/gtask.c:1361
#2  0x00007ffff7078869 in complete_in_idle_cb (task=0x555555896510) at ../gio/gtask.c:1375
#3  0x00007ffff6e7d189 in g_main_dispatch (context=0x5555555f1400) at ../glib/gmain.c:3344
#4  0x00007ffff6ed8837 in g_main_context_dispatch_unlocked (context=0x5555555f1400) at ../glib/gmain.c:4152
#5  g_main_context_iterate_unlocked.isra.0 (context=context@entry=0x5555555f1400, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:4217
#6  0x00007ffff6e7c7fc in g_main_context_iteration (context=context@entry=0x5555555f1400, may_block=may_block@entry=1) at ../glib/gmain.c:4282
#7  0x00007ffff70abc1d in g_application_run (application=application@entry=0x5555555ecb80, argc=argc@entry=1, argv=argv@entry=0x7fffffffdaf8) at ../gio/gapplication.c:2712
#8  0x0000555555575aad in main (argc=1, argv=0x7fffffffdaf8) at /usr/src/debug/xfdesktop-4.19.2/src/main.c:56
(gdb) list
3466                                                      XfdesktopFileIconManager *fmanager)
3467    {
3468        GFileEnumerator *enumerator;
3469        GError *error = NULL;
3470
3471        g_clear_object(&fmanager->priv->enumerator);
3472
3473        enumerator = g_file_enumerate_children_finish(file, result, &error);
3474        if (enumerator == NULL) {
3475            if (error != NULL) {
(gdb) p fmanager->priv
$1 = (XfdesktopFileIconManagerPrivate *) 0x0
(gdb)
Comment 1 Ivan A. Melnikov 2024-06-14 15:07:51 MSK
Also reproducible on loongarch64.
Comment 2 Mikhail Efremov 2024-06-18 20:20:39 MSK
https://gitlab.xfce.org/xfce/xfdesktop/-/issues/297
Comment 3 Repository Robot 2024-06-18 20:50:05 MSK
xfdesktop-4.19.2-alt3.gdbdf20d6 -> sisyphus:

 Tue Jun 18 2024 Mikhail Efremov <sem@altlinux> 4.19.2-alt3.gdbdf20d6
 - Workaround for a crash (closes: #50643).