Subject: Re: bug#39203: GNOME desktop is not displaying battery status
From: Ludovic Courtès <[email-masked]>
To: Jesse Gibbons <[email-masked]>
Cc: [email-masked]
Date: Tue, 21 Jan 2020 15:04:32 +0100
List-Id: <debbugs-submit.debbugs.gnu.org>

Hi Jesse,

Jesse Gibbons <[email-masked]> skribis:

> It looks like the problem was introduced in
> df45af90413906b18710d8c51c44afd5b92d6db6 when upower was updated to
> version 99.11. I also expect it is related to gnome-tweaks, which is
> out of date.
>
> I'm going to see if updating gnome-tweaks fixes it. If so, I'll send an
> update patch. If not, we can determine if it's worth reverting upower.

Fixed in 5dc6d5ce9997e4caf66d154f91c3695e02e5386f!

Below are the notes I took as I was debugging this.

Thanks for your report,
Ludo’.

Actually upowerd fails to start and /var/log/messages here has things
like:

--8<---------------cut here---------------start------------->8---
dbus-daemon[429]: [system] Activating service name='org.freedesktop.UPower' requested by ':1.48' (uid=989 pid=822 comm="/gnu/store/lcn1flxr0z575jmv2m2p6hgzn3caf6x2-gnome-") (using servicehelper)
dbus-daemon[429]: [system] Failed to activate service 'org.freedesktop.UPower': timed out (service_start_timeout=25000ms)
--8<---------------cut here---------------end--------------->8---

I attached ‘strace’ to dbus-daemon and then launched ‘upower’ to cause
it to attempt to start upowered.  At some point, the gdbus thread of
upowerd makes a ‘RequestName’ RPC, and the reply of dbus-daemon is:

--8<---------------cut here---------------start------------->8---
429   sendmsg(30, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="l\3\1\1\205\0\0\0\t\0\0\0m\0\0\0\6\1s\0\5\0\0\0:1.68\0\0\0\4\1s\0'\0\0\0org.freedesktop.DBus.Error.AccessDenied\0\5\1u\0\f\0\0\0\10\1g\0\1s\0\0\7\1s\0\24\0\0\0org.freedesktop.DBus\0\0\0\0", iov_len=128}, {iov_base="\200\0\0\0Connection \":1.68\" is not allowed to own the service \"org.freedesktop.UPower\" due to security policies in the configuration file\0", iov_len=133}], msg_iovlen=2, msg_controllen=0, msg_flags=0}, MSG_NOSIGNAL <unfinished ...>
--8<---------------cut here---------------end--------------->8---

Indeed, upower no longer shows up in /etc/dbus-1/system-local.conf.
That’s because the relevant files are now in share/dbus-1 instead of
etc/dbus-1 where our ‘dbus-configuration-directory’ procedure looks for
them.  I traced it back to:

  https://cgit.freedesktop.org/upower/commit/?id=18457c99b68786cd729b315723d680e6860d9cfa