I've noticed it when running emacs-snapshot. emacs is very responsive
at first but after a while (one hour more or less) it's unbearably slow.
Moving the focus from one window to another takes a few seconds. When
that happens, both emacs and hud-service cpu usage go up to 100% (I have
a dual-core CPU).
--
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to hud in Ubuntu.
https://bugs.launchpad.net/bugs/1300722
Title:
hud-service is eating up 100% of one of my CPUs in a poll loop
Status in Unity HUD:
Confirmed
Status in “hud” package in Ubuntu:
In Progress
Bug description:
hud-service is polling like crazy:
Context Switches:
PID ProcessVoluntary Involuntary Total
Ctxt Sw/Sec Ctxt Sw/Sec Ctxt Sw/Sec
2295 hud-service 46084.6342.94 46127.58 (very high)
2325 hud-service 0.09 0.00 0.09 (very low)
2329 hud-service 0.07 0.00 0.07 (very low)
2340 hud-service 0.05 0.00 0.05 (very low)
Total 46084.8442.94 46127.78
File I/O operations:
No file I/O operations detected.
System calls traced:
PID Process Syscall CountRate/Sec
2295 hud-service poll 83 23124.8503
2295 hud-service write10 0.2313
2295 hud-service sendmsg 4 0.0925
2325 hud-service restart_syscall 1 0.0231
2329 hud-service restart_syscall 1 0.0231
2340 hud-service restart_syscall 1 0.0231
Total 100 23125.2435
(gdb) where
#0 0x7fda8121cfbd in poll () at ../sysdeps/unix/syscall-template.S:81
#1 0x7fda7f1bb4b8 in ?? () from /lib/x86_64-linux-gnu/libdbus-1.so.3
#2 0x7fda7f1ba3ff in ?? () from /lib/x86_64-linux-gnu/libdbus-1.so.3
#3 0x7fda7f1a49dc in ?? () from /lib/x86_64-linux-gnu/libdbus-1.so.3
#4 0x7fda7f1a5464 in ?? () from /lib/x86_64-linux-gnu/libdbus-1.so.3
#5 0x7fda82ce9e65 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5DBus.so.5
#6 0x7fda82d2fc64 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5DBus.so.5
#7 0x7fda82d30582 in QDBusPendingCallWatcher::waitForFinished() () from
/usr/lib/x86_64-linux-gnu/libQt5DBus.so.5
#8 0x7fda83eb940b in DBusMenuImporter::slotMenuAboutToShow() () from
/usr/lib/x86_64-linux-gnu/libdbusmenu-qt5.so.2
#9 0x7fda8435d2a6 in QMetaObject::activate(QObject*, int, int, void**)
() from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#10 0x0045ab3f in hud::service::DBusMenuCollector::openMenu(QMenu*,
unsigned int) ()
#11 0x0045abd8 in hud::service::DBusMenuCollector::openMenu(QMenu*,
unsigned int) ()
#12 0x0045abd8 in hud::service::DBusMenuCollector::openMenu(QMenu*,
unsigned int) ()
#13 0x0045abd8 in hud::service::DBusMenuCollector::openMenu(QMenu*,
unsigned int) ()
#14 0x0045abd8 in hud::service::DBusMenuCollector::openMenu(QMenu*,
unsigned int) ()
#15 0x0045abd8 in hud::service::DBusMenuCollector::openMenu(QMenu*,
unsigned int) ()
#16 0x0045ae8d in hud::service::DBusMenuCollector::activate() ()
#17 0x00441e43 in hud::service::WindowImpl::activate() ()
#18 0x00439f6a in
hud::service::QueryImpl::updateToken(QSharedPointerhud::service::Window) ()
#19 0x0043a672 in hud::service::QueryImpl::refresh() ()
#20 0x0044b115 in ?? ()
#21 0x7fda8435d2a6 in QMetaObject::activate(QObject*, int, int, void**)
() from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#22 0x0045662a in
hud::service::ApplicationListImpl::FocusedWindowChanged(unsigned int, QString
const, unsigned int) ()
#23 0x7fda8435d2a6 in QMetaObject::activate(QObject*, int, int, void**)
() from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#24 0x00467361 in
ComCanonicalUnityWindowStackInterface::FocusedWindowChanged(unsigned int,
QString const, unsigned int) ()
#25 0x004678bd in ?? ()
#26 0x00467c63 in
ComCanonicalUnityWindowStackInterface::qt_metacall(QMetaObject::Call, int,
void**) ()
#27 0x7fda82cf180f in ?? () from /usr/lib/x86_64-linux-gnu/libQt5DBus.so.5
#28 0x7fda8435e22e in QObject::event(QEvent*) () from
/usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#29 0x7fda823d5c2c in QApplicationPrivate::notify_helper(QObject*,
QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#30 0x7fda823dadf6 in QApplication::notify(QObject*, QEvent*) () from
/usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#31 0x7fda84335c2d in QCoreApplication::notifyInternal(QObject*, QEvent*)
() from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5