[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