Skip to content

Power monitoring bug #455

Description

@9cb14c1ec0

When a Bluetooth audio device that publishes its battery level via UPower is paired and connected, cinnamon-settings-daemon continuously emits org.freedesktop.DBus.Properties.PropertiesChanged signals on /org/cinnamon/SettingsDaemon/Power at roughly 4 or 5 times per second. The Percentage value in each signal alternates between the laptop battery and the BT device battery (e.g. 31 ↔ 60), back to back, indefinitely.

After about ~30 minutes, I start seeing the following errors in ~/.xsession-errors (~4000 occurrences over a few hours)

Gjs-CRITICAL: Attempting to call back into JSAPI during the sweeping phase of GC.
The offending signal was g-properties-changed on GDBusProxy 0x...

Gjs-CRITICAL: Attempting to run a JS callback during garbage collection.
The offending callback was paint(), a vfunc.

Clutter-WARNING: Attempting to remove actor of type 'StIcon' from group of class
'ClutterBox', but the container is not the actor's parent.

At this point, I start to notice intermittent screen blackouts lasting a fraction of a second and UI rendering lag. I can temporarily fix it by by logging out and logging back in, or by cinnamon --replace, or simply by disconnecting my headset. The problem returns after ~30 minutes.

Environment

  • Distribution: Linux Mint 22.3
  • Cinnamon: 6.6.7
  • Kernel: 6.8.0-111-generic
  • UPower: (stock Mint 22.3)
  • Bluetooth device exposing battery: Shokz OpenComm headset (paired and connected)

Sample signal bodies (excerpt from dbus-monitor)

sender=:1.42 path=/org/cinnamon/SettingsDaemon/Power; interface=org.freedesktop.DBus.Properties; member=PropertiesChanged
   string "org.cinnamon.SettingsDaemon.Power"
   array [ dict entry( string "Percentage" variant uint32 31 ) ]
sender=:1.42 path=/org/cinnamon/SettingsDaemon/Power; interface=org.freedesktop.DBus.Properties; member=PropertiesChanged
   string "org.cinnamon.SettingsDaemon.Power"
   array [ dict entry( string "Percentage" variant uint32 60 ) ]

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions