Skip to content

Power monitoring bug #455

@9cb14c1ec0

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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions