Bug 2342294 - Broken GNOME dark mode due to crash in xdg-desktop-portal
Summary: Broken GNOME dark mode due to crash in xdg-desktop-portal
Keywords:
Status: CLOSED WORKSFORME
Alias: None
Product: Fedora
Classification: Fedora
Component: xdg-desktop-portal
Version: 41
Hardware: Unspecified
OS: Linux
unspecified
medium
Target Milestone: ---
Assignee: David King
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2025-01-27 17:04 UTC by Michal Domonkos
Modified: 2025-01-27 22:04 UTC (History)
5 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2025-01-27 20:41:32 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description Michal Domonkos 2025-01-27 17:04:11 UTC
The latest update to xdg-desktop-portal (1.18.4-4.fc41.x86_64) causes GNOME to ignore the Dark Style switch setting and only renders applications in light mode.  Looking at the journal, the xdg-desktop-portal process has crashed with the below stack trace.  Downgrading the package to xdg-desktop-portal-1.18.4-2.fc41.x86_64 fixes it for me.

Message: Process 616820 (xdg-desktop-por) of user 1000 dumped core.

Module libnss_systemd.so.2 from rpm systemd-256.11-1.fc41.x86_64
Module libnss_sss.so.2 from rpm sssd-2.10.1-1.fc41.x86_64
Module libgvfscommon.so from rpm gvfs-1.56.1-1.fc41.x86_64
Module libgvfsdbus.so from rpm gvfs-1.56.1-1.fc41.x86_64
Module libblkid.so.1 from rpm util-linux-2.40.4-1.fc41.x86_64
Module libcap.so.2 from rpm libcap-2.70-4.fc41.x86_64
Module libffi.so.8 from rpm libffi-3.4.6-3.fc41.x86_64
Module libselinux.so.1 from rpm libselinux-3.7-5.fc41.x86_64
Module libmount.so.1 from rpm util-linux-2.40.4-1.fc41.x86_64
Module libz.so.1 from rpm zlib-ng-2.2.3-1.fc41.x86_64
Module libgmodule-2.0.so.0 from rpm glib2-2.82.2-1.fc41.x86_64
Module libpcre2-8.so.0 from rpm pcre2-10.44-1.fc41.1.x86_64
Module libsystemd.so.0 from rpm systemd-256.11-1.fc41.x86_64
Module libpipewire-0.3.so.0 from rpm pipewire-1.2.7-1.fc41.x86_64
Module libjson-glib-1.0.so.0 from rpm json-glib-1.10.0-1.fc41.x86_64
Module libgobject-2.0.so.0 from rpm glib2-2.82.2-1.fc41.x86_64
Module libgio-2.0.so.0 from rpm glib2-2.82.2-1.fc41.x86_64
Module libglib-2.0.so.0 from rpm glib2-2.82.2-1.fc41.x86_64
Module xdg-desktop-portal from rpm xdg-desktop-portal-1.18.4-4.fc41.x86_64
Stack trace of thread 616820:
#0  0x000055fdd469c530 n/a (xdg-desktop-portal + 0x35530)
#1  0x000055fdd46a7410 n/a (xdg-desktop-portal + 0x40410)
#2  0x000055fdd46d8c44 n/a (xdg-desktop-portal + 0x71c44)
#3  0x00007f9fabf21842 connection_get_cb.lto_priv.0 (libgio-2.0.so.0 + 0xe3842)
#4  0x00007f9fabebaccc g_task_return_now (libgio-2.0.so.0 + 0x7cccc)
#5  0x00007f9fabebe993 g_task_return (libgio-2.0.so.0 + 0x80993)
#6  0x00007f9fabf1ca12 bus_get_async_initable_cb (libgio-2.0.so.0 + 0xdea12)
#7  0x00007f9fabebaccc g_task_return_now (libgio-2.0.so.0 + 0x7cccc)
#8  0x00007f9fabebad05 complete_in_idle_cb (libgio-2.0.so.0 + 0x7cd05)
#9  0x00007f9fac054add g_idle_dispatch (libglib-2.0.so.0 + 0x46add)
#10 0x00007f9fac04e28c g_main_context_dispatch_unlocked.lto_priv.0 (libglib-2.0.so.0 + 0x4028c)
#11 0x00007f9fac0ae7b8 g_main_context_iterate_unlocked.isra.0 (libglib-2.0.so.0 + 0xa07b8)
#12 0x00007f9fac054377 g_main_loop_run (libglib-2.0.so.0 + 0x46377)
#13 0x000055fdd46732af n/a (xdg-desktop-portal + 0xc2af)
#14 0x00007f9fab9e7248 __libc_start_call_main (libc.so.6 + 0x3248)
#15 0x00007f9fab9e730b __libc_start_main@@GLIBC_2.34 (libc.so.6 + 0x330b)
#16 0x000055fdd4673915 n/a (xdg-desktop-portal + 0xc915)

Stack trace of thread 616823:
#0  0x00007f9fabacb930 ppoll (libc.so.6 + 0xe7930)
#1  0x00007f9fac0ae8a3 g_main_context_iterate_unlocked.isra.0 (libglib-2.0.so.0 + 0xa08a3)
#2  0x00007f9fac054377 g_main_loop_run (libglib-2.0.so.0 + 0x46377)
#3  0x00007f9fabf22662 gdbus_shared_thread_func.lto_priv.0 (libgio-2.0.so.0 + 0xe4662)
#4  0x00007f9fac080d43 g_thread_proxy (libglib-2.0.so.0 + 0x72d43)
#5  0x00007f9faba55168 start_thread (libc.so.6 + 0x71168)
#6  0x00007f9fabad914c __clone3 (libc.so.6 + 0xf514c)

Stack trace of thread 616822:
#0  0x00007f9fabad6f1d syscall (libc.so.6 + 0xf2f1d)
#1  0x00007f9fac078e1d g_cond_wait (libglib-2.0.so.0 + 0x6ae1d)
#2  0x00007f9fac01868b g_async_queue_pop_intern_unlocked (libglib-2.0.so.0 + 0xa68b)
#3  0x00007f9fac081a23 g_thread_pool_spawn_thread (libglib-2.0.so.0 + 0x73a23)
#4  0x00007f9fac080d43 g_thread_proxy (libglib-2.0.so.0 + 0x72d43)
#5  0x00007f9faba55168 start_thread (libc.so.6 + 0x71168)
#6  0x00007f9fabad914c __clone3 (libc.so.6 + 0xf514c)

Stack trace of thread 616824:
#0  0x00007f9fabad6f1d syscall (libc.so.6 + 0xf2f1d)
#1  0x00007f9fac079ae0 g_cond_wait_until (libglib-2.0.so.0 + 0x6bae0)
#2  0x00007f9fac018653 g_async_queue_pop_intern_unlocked (libglib-2.0.so.0 + 0xa653)
#3  0x00007f9fac0825ba g_thread_pool_thread_proxy.lto_priv.0 (libglib-2.0.so.0 + 0x745ba)
#4  0x00007f9fac080d43 g_thread_proxy (libglib-2.0.so.0 + 0x72d43)
#5  0x00007f9faba55168 start_thread (libc.so.6 + 0x71168)
#6  0x00007f9fabad914c __clone3 (libc.so.6 + 0xf514c)

Stack trace of thread 616821:
#0  0x00007f9fabacb930 ppoll (libc.so.6 + 0xe7930)
#1  0x00007f9fac0ae8a3 g_main_context_iterate_unlocked.isra.0 (libglib-2.0.so.0 + 0xa08a3)
#2  0x00007f9fac04f783 g_main_context_iteration (libglib-2.0.so.0 + 0x41783)
#3  0x00007f9fac04f7e1 glib_worker_main (libglib-2.0.so.0 + 0x417e1)
#4  0x00007f9fac080d43 g_thread_proxy (libglib-2.0.so.0 + 0x72d43)
#5  0x00007f9faba55168 start_thread (libc.so.6 + 0x71168)
#6  0x00007f9fabad914c __clone3 (libc.so.6 + 0xf514c)
ELF object binary architecture: AMD x86-64



Reproducible: Always

Steps to Reproduce:
1. Log in to a GNOME account
2. Select "Dark style" in the Quick Settings menu
3. Start an application that normally respects light/dark style (e.g. Text Editor)
Actual Results:  
The application uses light mode.

Expected Results:  
The application should use dark mode.

Comment 1 Michael Catanzaro 2025-01-27 20:26:06 UTC
It's not crashing for me. Please attach a stack trace https://handbook.gnome.org/issues/stack-traces.html

Thanks!

Comment 2 Michal Domonkos 2025-01-27 20:41:32 UTC
Hmm, so I've upgraded the package back to the latest version and can't reproduce anymore.  I've also rebooted now and dark mode still works, no crashes whatsoever.  Looks like it was some kind of momentary glitch then...

I'll close now and will reopen if it occurs again (knocks on the wood it won't) :)

Comment 3 Michal Domonkos 2025-01-27 20:56:55 UTC
Oh, and thanks for the link (on generating the stack trace), I'll make sure to attach one next time! :)

Comment 4 Michal Domonkos 2025-01-27 22:04:09 UTC
FWIW, I just looked at my journal log (from that particular boot where xdg-desktop-portal kept crashing) again and realized I'd missed one crucial detail, which is that right *before* the crash (at the very same second even), there was a BTRFS error reported by the kernel.  So I think it's safe to say that *that* was the real root cause of my issues, not xdg-desktop-portal which just happened to be affected for some reason.  Apologies for the noise!


Note You need to log in before you can comment on or make changes to this bug.