elementary / wingpanel-indicator-bluetooth

Wingpanel Bluetooth Indicator
GNU Lesser General Public License v2.1
20 stars 13 forks source link

After suspend, Bluetooth indicator flickers in greeter and wingpanel unresponsive on logging in #192

Closed jeremypw closed 1 year ago

jeremypw commented 1 year ago

What Happened?

I have noticed that recently wingpanel often becomes unresponsive (more than once per day) and can only be fixed by killing and restarting from the terminal.

I have not determined the trigger but have noticed that while in this state htop shows that there is very high activity on the messagebus and network manager processes (almost 20% of cpu)

Another posssibly related observation was that after waking up from suspend, in greeter, the bluetooth was flickering rapidly on and off. On entering the desktop the wingpanel was found to be unresponsive. After restarting the wingpanel and suspending again the bluetooth indicator no longer flickered in the greeter on rewakening.

Steps to Reproduce

Usually occurs after switching bluetooth on in session and then suspending for a while. On reawakening the bluetooth flickers rapidly in the greeter and the popover switch shows it is switching on and off rapidly. On logging in, bluetooth indicator shows "off" (i.e. is not restored as expected) and the wingpanel is unresponsive.

Expected Behavior

The wingpanel remains responsive.

OS Version

7.x (Horus)

Software Version

Latest release (I have run all updates)

Log Output

No response

Hardware Info

No response

jeremypw commented 1 year ago

Its happened again. This is some of what dbus-monitor shows: (100s of messages per second)

signal time=1680794910.338557 sender=:1.80 -> destination=(null destination) serial=83016 path=/org/ayatana/NotificationItem/nm_applet/Menu; interface=com.canonical.dbusmenu; member=LayoutUpdated
   uint32 3231755
   int32 0
method return time=1680794910.338956 sender=:1.37 -> destination=:1.80 serial=19822 reply_serial=83015
   array [
   ]
   array [
   ]
method return time=1680794910.342020 sender=:1.68 -> destination=:1.233 serial=27308 reply_serial=3778
   string ":1.68:user:16343"
signal time=1680794910.342144 sender=:1.68 -> destination=(null destination) serial=27309 path=/ca/desrt/dconf/Writer/user; interface=ca.desrt.dconf.Writer; member=Notify
   string "/io/elementary/desktop/wingpanel/bluetooth/bluetooth-enabled"
   array [
      string ""
   ]
   string ":1.68:user:16343"
method call time=1680794910.342505 sender=:1.233 -> destination=ca.desrt.dconf serial=3779 path=/ca/desrt/dconf/Writer/user; interface=ca.desrt.dconf.Writer; member=Change
   array of bytes [
      2f 69 6f 2f 65 6c 65 6d 65 6e 74 61 72 79 2f 64 65 73 6b 74 6f 70 2f 77
      69 6e 67 70 61 6e 65 6c 2f 62 6c 75 65 74 6f 6f 74 68 2f 62 6c 75 65 74
      6f 6f 74 68 2d 65 6e 61 62 6c 65 64 00 00 00 00 00 00 62 00 3d 45
   ]
signal time=1680794910.350551 sender=:1.80 -> destination=(null destination) serial=83017 path=/org/ayatana/NotificationItem/nm_applet/Menu; interface=com.canonical.dbusmenu; member=LayoutUpdated
   uint32 3231808
   int32 0
signal time=1680794910.410026 sender=:1.80 -> destination=(null destination) serial=83018 path=/org/ayatana/NotificationItem/nm_applet/Menu; interface=com.canonical.dbusmenu; member=LayoutUpdated
   uint32 3231860
   int32 0
method call time=1680794910.425192 sender=:1.80 -> destination=:1.37 serial=83019 path=/org/freedesktop/secrets; interface=org.freedesktop.Secret.Service; member=SearchItems
   array [
      dict entry(
         string "connection-uuid"
         string "0dea2844-8bad-48f3-bcdd-2017072acc02"
      )
   ]
signal time=1680794910.425220 sender=:1.80 -> destination=(null destination) serial=83020 path=/org/ayatana/NotificationItem/nm_applet/Menu; interface=com.canonical.dbusmenu; member=LayoutUpdated
   uint32 3231916
   int32 0
method return time=1680794910.425562 sender=:1.37 -> destination=:1.80 serial=19823 reply_serial=83019
   array [
   ]
   array [
   ]
signal time=1680794910.436057 sender=:1.80 -> destination=(null destination) serial=83021 path=/org/ayatana/NotificationItem/nm_applet/Menu; interface=com.canonical.dbusmenu; member=LayoutUpdated
   uint32 3231969
   int32 0
signal time=1680794910.498700 sender=:1.80 -> destination=(null destination) serial=83022 path=/org/ayatana/NotificationItem/nm_applet/Menu; interface=com.canonical.dbusmenu; member=LayoutUpdated
   uint32 3232021
   int32 0
method call time=1680794910.509759 sender=:1.80 -> destination=:1.37 serial=83023 path=/org/freedesktop/secrets; interface=org.freedesktop.Secret.Service; member=SearchItems
   array [
      dict entry(
         string "connection-uuid"
         string "13a2fbb0-bc37-4dca-b40a-1b7b2e6db3a8"
      )
   ]
signal time=1680794910.509787 sender=:1.80 -> destination=(null destination) serial=83024 path=/org/ayatana/NotificationItem/nm_applet/Menu; interface=com.canonical.dbusmenu; member=LayoutUpdated
   uint32 3232077
   int32 0
method return time=1680794910.510117 sender=:1.37 -> destination=:1.80 serial=19824 reply_serial=83023
   array [
   ]
   array [
   ]
signal time=1680794910.520449 sender=:1.80 -> destination=(null destination) serial=83025 path=/org/ayatana/NotificationItem/nm_applet/Menu; interface=com.canonical.dbusmenu; member=LayoutUpdated
   uint32 3232130
   int32 0
method return time=1680794910.567413 sender=:1.68 -> destination=:1.233 serial=27310 reply_serial=3779
   string ":1.68:user:16344"
signal time=1680794910.567508 sender=:1.68 -> destination=(null destination) serial=27311 path=/ca/desrt/dconf/Writer/user; interface=ca.desrt.dconf.Writer; member=Notify
   string "/io/elementary/desktop/wingpanel/bluetooth/bluetooth-enabled"
   array [
      string ""
   ]
   string ":1.68:user:16344"
method call time=1680794910.567715 sender=:1.233 -> destination=ca.desrt.dconf serial=3780 path=/ca/desrt/dconf/Writer/user; interface=ca.desrt.dconf.Writer; member=Change
   array of bytes [
      2f 69 6f 2f 65 6c 65 6d 65 6e 74 61 72 79 2f 64 65 73 6b 74 6f 70 2f 77
      69 6e 67 70 61 6e 65 6c 2f 62 6c 75 65 74 6f 6f 74 68 2f 62 6c 75 65 74
      6f 6f 74 68 2d 65 6e 61 62 6c 65 64 00 00 00 00 00 00 62 00 3d 45
   ]
method return time=1680794910.568100 sender=:1.68 -> destination=:1.233 serial=27312 reply_serial=3780
   string ":1.68:user:16345"
method call time=1680794910.572426 sender=:1.233 -> destination=ca.desrt.dconf serial=3781 path=/ca/desrt/dconf/Writer/user; interface=ca.desrt.dconf.Writer; member=Change
   array of bytes [
      2f 69 6f 2f 65 6c 65 6d 65 6e 74 61 72 79 2f 64 65 73 6b 74 6f 70 2f 77
      69 6e 67 70 61 6e 65 6c 2f 62 6c 75 65 74 6f 6f 74 68 2f 62 6c 75 65 74
      6f 6f 74 68 2d 65 6e 61 62 6c 65 64 00 00 00 00 01 00 62 00 3d 45
   ]
signal time=1680794910.590112 sender=:1.80 -> destination=(null destination) serial=83026 path=/org/ayatana/NotificationItem/nm_applet/Menu; interface=com.canonical.dbusmenu; member=LayoutUpdated
   uint32 3232182
   int32 0
method call time=1680794910.603842 sender=:1.80 -> destination=:1.37 serial=83027 path=/org/freedesktop/secrets; interface=org.freedesktop.Secret.Service; member=SearchItems
   array [
      dict entry(
         string "connection-uuid"
         string "30e233c7-00e4-4d39-839a-c7b6058140fb"
      )
   ]
signal time=1680794910.603910 sender=:1.80 -> destination=(null destination) serial=83028 path=/org/ayatana/NotificationItem/nm_applet/Menu; interface=com.canonical.dbusmenu; member=LayoutUpdated
   uint32 3232238
   int32 0
method return time=1680794910.604363 sender=:1.37 -> destination=:1.80 serial=19825 reply_serial=83027
   array [
   ]
   array [
   ]
signal time=1680794910.614000 sender=:1.80 -> destination=(null destination) serial=83029 path=/org/ayatana/NotificationItem/nm_applet/Menu; interface=com.canonical.dbusmenu; member=LayoutUpdated
   uint32 3232291
   int32 0
jeremypw commented 1 year ago

Running wingpanel from a terminal and waiting for a hang gave the following output, apparently in an infinite loop:

(io.elementary.wingpanel:115099): nm-CRITICAL **: 08:31:58.269: ((src/libnm-client-impl/nm-device.c:1141)): assertion '<dropped>' failed

jeremypw commented 1 year ago

Confirmed that when this issue occurs during suspend, the bluetooth indicator is rapidly switching on and off. Maybe related to commit ce88a7b03231b59c57f832aa656b4763d7d1e77e - it started about the same time. I'll try running a branch with this commit reverted.