[Pkg-utopia-maintainers] Bug#689298: are you still experiencing the reported bug?

Jamie Heilman jamie at audible.transient.net
Sun Dec 21 00:51:24 UTC 2014


Jamie Heilman wrote:
> Jamie Heilman wrote:
> > Tomas Pospisek wrote:
> > > Hello Jamie,
> > > 
> > > you reported bug http://bugs.debian.org/689298 against an older version of
> > > upower.
> > > 
> > > Debian jessie contains now a newer version of upower. In case you are
> > > running Debian jessie - do you still experience that problem?
> > 
> > I'm not running jessie, but this was trivial to reproduce in a vm, so
> > if I get the time I'll spin one up and test it.
> 
> I can confirm that upowerd nolonger spins trying to open
> /proc/timer_stats; while it does continue to use a rather stupid
> amount of CPU, it is now more evenly split between dbus, upowerd, and
> gnome-power-statistics.  gnome-power-statistics is still not fixed
> (see 689592) it still leaks memory like crazy in this scenario, and
> dbus message passing appears to still being getting heavily abused the
> whole time judging by the amount of cpu it burns.

OK, spent a little more time fiddling with this; against a kernel with
CONFIG_TIMER_STATS I can't induce upowerd to go crazy from within my
kvm guest.  But if I use a kernel w/o that setting it's a very
different story.  As soon as I start gnome-power-statistics things
degrade:
  1) gnome-power-statistics reports
     "Processor wakeups per second:
      GDBus.Error:org.freedesktop.UPower.Wakeups.GeneralError: cannot
      enable timerstats"
  2) gnome-power-statistics won't close; I have to signal it to make
     it exit
  3) gnome-power-statistics leaks memory like crazy (bug 689592)
  4) upowerd consumes between 30-60% of the guest's (single) cpu
     and this continues *even after gnome-power-statistics is no longer
     running*

So I wouldn't call this bug fixed.  Here's a snapshot from top after
I've started and killed gnome-power-statistics:

top - 16:39:42 up 17 min,  3 users,  load average: 1.31, 1.12, 0.62
Tasks:  86 total,   4 running,  82 sleeping,   0 stopped,   0 zombie
%Cpu(s): 43.2 us, 29.6 sy,  0.0 ni, 26.6 id,  0.0 wa,  0.0 hi,  0.0 si,  0.7 st
KiB Mem:   2054424 total,   550812 used,  1503612 free,    31496 buffers
KiB Swap:   477180 total,        0 used,   477180 free.   202672 cached Mem

  PID USER      PR  NI    VIRT    RES    SHR S %CPU %MEM     TIME+ COMMAND     
  545 root      20   0  234356  12284   7320 R 50.2  0.6   4:18.52 upowerd     
  386 message+  20   0   42680   3748   2836 S 14.0  0.2   1:23.11 dbus-daemon 
  480 root      20   0  201232  31740  18056 S  4.0  1.5   0:03.18 Xorg        
  703 jamie     20   0 1330984 206128  68292 R  4.0 10.0   0:09.51 gnome-shell 
  894 jamie     20   0  396180  28100  20412 R  0.7  1.4   0:00.78 gnome-termi+
    1 root      20   0  110512   4596   2916 S  0.0  0.2   0:00.67 systemd     
    2 root      20   0       0      0      0 S  0.0  0.0   0:00.00 kthreadd    
    3 root      20   0       0      0      0 S  0.0  0.0   0:00.04 ksoftirqd/0 
    5 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 kworker/0:0H
    6 root      20   0       0      0      0 S  0.0  0.0   0:00.00 kworker/u2:0
    7 root      20   0       0      0      0 S  0.0  0.0   0:00.44 rcu_preempt 
    8 root      20   0       0      0      0 S  0.0  0.0   0:00.00 rcu_sched   
    9 root      20   0       0      0      0 S  0.0  0.0   0:00.00 rcu_bh      
   10 root      rt   0       0      0      0 S  0.0  0.0   0:00.00 migration/0 
   11 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 khelper     
   12 root      20   0       0      0      0 S  0.0  0.0   0:00.00 kdevtmpfs   
   13 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 perf        

If we look at the system message bus it's just smothered in the same
thing over and over:

jamie at tom:~$ dbus-monitor --system |head
signal sender=org.freedesktop.DBus -> dest=:1.59 serial=2 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameAcquired
   string ":1.59"
signal sender=:1.10 -> dest=(null destination) serial=4502606 path=/org/freedesktop/UPower/Wakeups; interface=org.freedesktop.UPower.Wakeups; member=DataChanged
signal sender=:1.10 -> dest=(null destination) serial=4502607 path=/org/freedesktop/UPower/Wakeups; interface=org.freedesktop.UPower.Wakeups; member=DataChanged
signal sender=:1.10 -> dest=(null destination) serial=4502608 path=/org/freedesktop/UPower/Wakeups; interface=org.freedesktop.UPower.Wakeups; member=DataChanged
signal sender=:1.10 -> dest=(null destination) serial=4502609 path=/org/freedesktop/UPower/Wakeups; interface=org.freedesktop.UPower.Wakeups; member=DataChanged
signal sender=:1.10 -> dest=(null destination) serial=4502610 path=/org/freedesktop/UPower/Wakeups; interface=org.freedesktop.UPower.Wakeups; member=DataChanged
signal sender=:1.10 -> dest=(null destination) serial=4502611 path=/org/freedesktop/UPower/Wakeups; interface=org.freedesktop.UPower.Wakeups; member=DataChanged
signal sender=:1.10 -> dest=(null destination) serial=4502612 path=/org/freedesktop/UPower/Wakeups; interface=org.freedesktop.UPower.Wakeups; member=DataChanged
signal sender=:1.10 -> dest=(null destination) serial=4502613 path=/org/freedesktop/UPower/Wakeups; interface=org.freedesktop.UPower.Wakeups; member=DataChanged

An strace of upowerd shows it opening up /proc/interrupts and sending
a those dbus messages over and over again.


-- 
Jamie Heilman                     http://audible.transient.net/~jamie/



More information about the Pkg-utopia-maintainers mailing list