Version: 2.4.2 (using KDE 4.6.5) OS: Linux When I start Amarok, and I do it minimized in the system tray, it starts to use a lot of CPU. It only goes normal when I click in the tray icon and main window is shown. After that, if I hide the main window again the problem doesnt occur anymore. The problem happens with any of the phonon backends (xine, vlc or gstreamer). Reproducible: Always Steps to Reproduce: · Start Amarok minimized in system tray Actual Results: · Amarok uses 40% of CPU Expected Results: · Amarok use of CPU not to be so high. It happens on a fresh install of Amarok, with a new /home/user/.kde/share/apps/amarok folder.
I just wonder where you got Amarok 2.4.2 from, as we didn't release it but will release Amarok 2.4.3 instead in the coming days. Could you please try again with 2.4.3 once it is released and also run Amarok in debugging mode so we can see where the problem comes from. The necessary options are 'amarok -d --nofork'
*** Bug 279144 has been marked as a duplicate of this bug. ***
Confirmed by duplicate.
(In reply to comment #1) > I just wonder where you got Amarok 2.4.2 from, as we didn't release it but will > release Amarok 2.4.3 instead in the coming days. > Could you please try again with 2.4.3 once it is released and also run Amarok > in debugging mode so we can see where the problem comes from. The necessary > options are 'amarok -d --nofork' yes, the same results with Amarok 2.4.3. Here is the pastebin from debugging mode (last part) http://paste.kde.org/105235/ please let me know if you need to know anything else.
I think my bug Bug 279144 has nothing to do with this bug. And by the way, amarok constantly writes something to the HDD when uses 100% cpu. Monitored with iotop. Amarok uses 100% cpu even maximized for me. And not 40%, but 100%. There were no X errors in the log.
Same problem here, on two totally different boxes (both gentoo linux, one x86 the other amd64). Amarok 2.4.3 uses 100% of one CPU core until activated from systray the first time.
I can confirm this, too. I get the exactly same behaviour as described. My System: Fedora 15 x86_64, KDE 4.7.0, Amarok 2.4-Git.
Hi, I experience this issue in Fedora 16: * Amarok 2.4.3, * KDE 4.7.0 * qt-4.8.0-0.6.beta1.fc16.x86_64. I don't experience it in Fedora 15: * Amarok 2.4.3, * KDE, 4.6.5 and * qt-4.7.3-8.fc15.x86_64. Another qt-4.8 issue? Martin Kho
Hi, @Martin Kho: qt-4.7.2 amarok-2.4.3 kde-4.7.0 The box currently in front of me is a x86 Gentoo system. The bug appears each time. No qt-4.8. Regards, Florian
Hi, I was indeed wrong, just booted into Fedora 15 and Amarok used ~40% cpu. Sorry for the noise :-) Martin Kho
Same here Gentoo amd64 qt-4.7.3 KDE-4.7-0 Amarok-2.4.3
Here's the relevant section of a gdb trace, attached while Amarok's in the high-CPU tray minimised state, on latest git. It looks like it's getting stuck in a widget adjustment loop until they're actually displayed. Thread 1 (Thread 0x7ff3dae4a7c0 (LWP 8745)): #0 0x00007ff3c53be854 in ?? () from /usr/lib/kde4/plugins/styles/oxygen.so #1 0x00007ff3d948ec3d in QAbstractScrollAreaPrivate::layoutChildren (this=0x24dee70) at widgets/qabstractscrollarea.cpp:399 #2 0x00007ff3d948fadd in QAbstractScrollArea::event (this=0x258d070, e=<value optimised out>) at widgets/qabstractscrollarea.cpp:924 #3 0x00007ff3d947c140 in QTextEdit::event (this=0x258d070, e=0x7fff4ea25db0) at widgets/qtextedit.cpp:1070 #4 0x00007ff3d900a9f4 in QApplicationPrivate::notify_helper (this=0x1613b70, receiver=0x258d070, e=0x7fff4ea25db0) at kernel/qapplication.cpp:4462 #5 0x00007ff3d900f3ba in QApplication::notify (this=<value optimised out>, receiver=0x258d070, e=0x7fff4ea25db0) at kernel/qapplication.cpp:4341 #6 0x00007ff3da9f6796 in KApplication::notify (this=0x7fff4ea281e0, receiver=0x258d070, event=0x7fff4ea25db0) at ../../kdeui/kernel/kapplication.cpp:311 #7 0x00007ff3d865049c in QCoreApplication::notifyInternal (this=0x7fff4ea281e0, receiver=0x258d070, event=0x7fff4ea25db0) at kernel/qcoreapplication.cpp:731 #8 0x00007ff3d90a861a in sendEvent (this=0x24dee70, x=<value optimised out>, y=<value optimised out>, w=<value optimised out>, h=<value optimised out>, isMove=false) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:215 #9 QWidgetPrivate::setGeometry_sys (this=0x24dee70, x=<value optimised out>, y=<value optimised out>, w=<value optimised out>, h=<value optimised out>, isMove=false) at kernel/qwidget_x11.cpp:2637 #10 0x00007ff3d9057d2d in QWidget::resize (this=0x258d070, s=...) at kernel/qwidget.cpp:6845 #11 0x00007ff3d95f733e in QGraphicsProxyWidget::resizeEvent (this=0x24de690, event=0x7fff4ea268a0) at graphicsview/qgraphicsproxywidget.cpp:1464 #12 0x00007ff3d52aeff9 in Plasma::TextBrowser::resizeEvent (this=0x24de690, event=0x7fff4ea268a0) at ../../plasma/widgets/textbrowser.cpp:171 #13 0x00007ff3ad2ba853 in LyricsBrowser::resizeEvent (this=0x24de690, event=0x7fff4ea268a0) at /home/sam/devel/amarok/src/context/applets/lyrics/LyricsBrowser.cpp:146 #14 0x00007ff3d9632277 in QGraphicsWidget::event (this=0x24de690, event=0x7fff4ea268a0) at graphicsview/qgraphicswidget.cpp:1355 #15 0x00007ff3d95f9abb in QGraphicsProxyWidget::event (this=0x24de690, event=0x7fff4ea268a0) at graphicsview/qgraphicsproxywidget.cpp:926 #16 0x00007ff3d900a9f4 in QApplicationPrivate::notify_helper (this=0x1613b70, receiver=0x24de690, e=0x7fff4ea268a0) at kernel/qapplication.cpp:4462 #17 0x00007ff3d900f3ba in QApplication::notify (this=<value optimised out>, receiver=0x24de690, e=0x7fff4ea268a0) at kernel/qapplication.cpp:4341 #18 0x00007ff3da9f6796 in KApplication::notify (this=0x7fff4ea281e0, receiver=0x24de690, event=0x7fff4ea268a0) at ../../kdeui/kernel/kapplication.cpp:311 #19 0x00007ff3d865049c in QCoreApplication::notifyInternal (this=0x7fff4ea281e0, receiver=0x24de690, event=0x7fff4ea268a0) at kernel/qcoreapplication.cpp:731 #20 0x00007ff3d9633933 in sendEvent (this=0x24de690, rect=...) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:215 #21 QGraphicsWidget::setGeometry (this=0x24de690, rect=...) at graphicsview/qgraphicswidget.cpp:404 #22 0x00007ff3d95f70b1 in QGraphicsProxyWidget::setGeometry (this=<value optimised out>, rect=<value optimised out>) at graphicsview/qgraphicsproxywidget.cpp:771 #23 0x00007ff3d963f350 in setGeometry (this=0x259f870, styleInfo=<value optimised out>, contentsGeometry=...) at graphicsview/qgridlayoutengine.cpp:701 #24 QGridLayoutEngine::setGeometries (this=0x259f870, styleInfo=<value optimised out>, contentsGeometry=...) at graphicsview/qgridlayoutengine.cpp:1096 #25 0x00007ff3d95f6273 in QGraphicsLinearLayout::setGeometry (this=<value optimised out>, rect=<value optimised out>) at graphicsview/qgraphicslinearlayout.cpp:518 #26 0x00007ff3d95f44aa in QGraphicsLayout::widgetEvent (this=0x259c050, e=<value optimised out>) at graphicsview/qgraphicslayout.cpp:366 #27 0x00007ff3d963217a in QGraphicsWidget::event (this=0x2586800, event=0x7fff4ea27170) at graphicsview/qgraphicswidget.cpp:1347 #28 0x00007ff3d900a9f4 in QApplicationPrivate::notify_helper (this=0x1613b70, receiver=0x2586800, e=0x7fff4ea27170) at kernel/qapplication.cpp:4462 #29 0x00007ff3d900f3ba in QApplication::notify (this=<value optimised out>, receiver=0x2586800, e=0x7fff4ea27170) at kernel/qapplication.cpp:4341 #30 0x00007ff3da9f6796 in KApplication::notify (this=0x7fff4ea281e0, receiver=0x2586800, event=0x7fff4ea27170) at ../../kdeui/kernel/kapplication.cpp:311 #31 0x00007ff3d865049c in QCoreApplication::notifyInternal (this=0x7fff4ea281e0, receiver=0x2586800, event=0x7fff4ea27170) at kernel/qcoreapplication.cpp:731 #32 0x00007ff3d9633933 in sendEvent (this=0x2586800, rect=...) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:215 #33 QGraphicsWidget::setGeometry (this=0x2586800, rect=...) at graphicsview/qgraphicswidget.cpp:404 #34 0x00007ff3d96313a8 in QGraphicsWidget::resize (this=0x2586800, size=...) at graphicsview/qgraphicswidget.cpp:309 #35 0x00007ff3b42562bd in QGraphicsWidget::resize (this=0x2586800, w=16777215, h=93570) at /usr/include/qt4/QtGui/qgraphicswidget.h:111 #36 0x00007ff3b4255d00 in Context::VerticalAppletLayout::showAtIndex (this=0x23ae250, index=0) at /home/sam/devel/amarok/src/context/containments/verticallayout/VerticalAppletLayout.cpp:224 #37 0x00007ff3b42552f7 in Context::VerticalAppletLayout::refresh (this=0x23ae250) at /home/sam/devel/amarok/src/context/containments/verticallayout/VerticalAppletLayout.cpp:121 #38 0x00007ff3b425328a in Context::VerticalToolbarContainment::updateGeometry (this=0x2406b40) at /home/sam/devel/amarok/src/context/containments/verticallayout/VerticalToolbarContainment.cpp:124 #39 0x00007ff3d51a0934 in Plasma::Applet::flushPendingConstraintsEvents (this=0x2406b40) at ../../plasma/applet.cpp:1342 #40 0x00007ff3d51a165d in Plasma::Applet::timerEvent (this=0x2406b40, event=<value optimised out>) at ../../plasma/applet.cpp:2506 #41 0x00007ff3d86641c9 in QObject::event (this=0x2406b40, e=<value optimised out>) at kernel/qobject.cpp:1190 #42 0x00007ff3d96321bb in QGraphicsWidget::event (this=0x2406b40, event=0x7fff4ea27ef0) at graphicsview/qgraphicswidget.cpp:1423 #43 0x00007ff3d900a9f4 in QApplicationPrivate::notify_helper (this=0x1613b70, receiver=0x2406b40, e=0x7fff4ea27ef0) at kernel/qapplication.cpp:4462 #44 0x00007ff3d900f3ba in QApplication::notify (this=<value optimised out>, receiver=0x2406b40, e=0x7fff4ea27ef0) at kernel/qapplication.cpp:4341 #45 0x00007ff3da9f6796 in KApplication::notify (this=0x7fff4ea281e0, receiver=0x2406b40, event=0x7fff4ea27ef0) at ../../kdeui/kernel/kapplication.cpp:311 #46 0x00007ff3d865049c in QCoreApplication::notifyInternal (this=0x7fff4ea281e0, receiver=0x2406b40, event=0x7fff4ea27ef0) at kernel/qcoreapplication.cpp:731 #47 0x00007ff3d867df12 in sendEvent (this=0x1609d00) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:215 #48 QTimerInfoList::activateTimers (this=0x1609d00) at kernel/qeventdispatcher_unix.cpp:604 #49 0x00007ff3d867acf4 in timerSourceDispatch (source=<value optimised out>) at kernel/qeventdispatcher_glib.cpp:184 #50 0x00007ff3d2429bcd in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #51 0x00007ff3d242a3a8 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #52 0x00007ff3d242a639 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #53 0x00007ff3d867b3ef in QEventDispatcherGlib::processEvents (this=0x14072e0, flags=<value optimised out>) at kernel/qeventdispatcher_glib.cpp:422 #54 0x00007ff3d90b44de in QGuiEventDispatcherGlib::processEvents (this=<value optimised out>, flags=<value optimised out>) at kernel/qguieventdispatcher_glib.cpp:204 #55 0x00007ff3d864f882 in QEventLoop::processEvents (this=<value optimised out>, flags=...) at kernel/qeventloop.cpp:149 #56 0x00007ff3d864fabc in QEventLoop::exec (this=0x7fff4ea28160, flags=...) at kernel/qeventloop.cpp:201 #57 0x00007ff3d8653ecb in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1008 #58 0x000000000040cad6 in main (argc=1, argv=0x7fff4ea2a838) at /home/sam/devel/amarok/src/main.cpp:291
I'm experiencing this under Debian testing with Amarok 2.4.3. This is most certainly a regression from 2.4.3 (2.4.2). After asking on #amarok, Sam Lade also reproduced the bug. He was the only one to try to reproduce. The actual CPU usage depends on the CPU. For example, on an Intel Core i3, a dual core CPU with Hyperthreading and therefore 4 "virtual cores", average CPU usage will be 25% (100%/4). Also, it takes a bit of time (about a minute) before CPU usage maximizes. This is most certainly the same bug as #279144, just a different symptom. I can reproduce both. To attempt summarizing: There is no CPU waste if there are no applets in the Context view. If there are applets, Amarok > 2.4.1 wastes CPU when it is started until the Context view is shown. Therefore, if the Context view is disabled, the waste lasts until the Context view is enabled. If the Context view is enabled but Amarok starts minimized (the most common case), CPU is wasted until Amarok is maximized. If the Context view is enabled and Amarok starts maximized, no CPU waste happens. Amarok will start minimized if the Show tray icon preference, enabled by default, is enabled and it was closed minimized. Therefore, the typical impact of this bug is that one core is fully loaded from the time KDE is started until the user plays some music. Thanks to Sam Lade for assistance.
(In reply to comment #13) > The actual CPU usage depends on the CPU. For example, on an Intel Core i3, a > dual core CPU with Hyperthreading and therefore 4 "virtual cores", average CPU > usage will be 25% (100%/4). Also, it takes a bit of time (about a minute) > before CPU usage maximizes. Actually, it consumes 100% CPU, because if you have 4 cores then full load of your system is 400%.
Well, given the CPU can't be used more than its full capacity, and that Amarok is not using the CPU to its full capacity, I guess it's normal to say it's below 100%. Whether 25% is representative I don't know (I have no idea how hyper-threading works). It's possible other tools will give you different number, but in any case, I'm referring to the consumption measures from KSysGuard. Not that this matters, really. 2.4.4 sounds like a great target for this bug...
I can confirm this bug. My Amarok starts minimized with system and eats 100% of CPU. It stops eat CPU after clicking on icon in system tray or after few minutes itself.
Just to be clear, I am using the following WORKAROUND, which works: 1. Remove all applets from the context view. 2. Optionally, disable the context view to get the saved space back. However, after step 1, if you ever want to restore applets, you will hit #280382.
*** Bug 281414 has been marked as a duplicate of this bug. ***
I can confirm this. My backtraces look a little different from those of Sam. I'll attach them, maybe you can get some information out of them.
Created attachment 63419 [details] 4 different backtraces while in the CPU eating phase
a possible workaround is to put that in a env file .kde/env/workaround.sh : ( sleep 10 && dbus-send --type=method_call --dest=org.kde.amarok /amarok/MainWindow com.trolltech.Qt.QWidget.showMinimized && dbus-send --type=method_call --dest=org.kde.amarok /amarok/MainWindow com.trolltech.Qt.QWidget.hide )&
*** Bug 282006 has been marked as a duplicate of this bug. ***
I can confirm this bug as well. I have kdelibs from 4.7 branch, Qt 4.7.3 from debian (sid) packages and Amarok master. Im also available to be poked on #kde-devel.
@Sam Lade: you could try to remove the lyrics plasmoid and see if the problem remains, if is still there remove the plasmoids one by one until it stops the behaviour, so at least would be a bit more clear if the problem is in a particular plasmoid or somewhere else
(In reply to comment #24) > @Sam Lade: you could try to remove the lyrics plasmoid and see if the problem > remains, if is still there remove the plasmoids one by one until it stops the > behaviour, so at least would be a bit more clear if the problem is in a > particular plasmoid or somewhere else From speaking to people reporting this issue in #amarok, the problem is not linked to any particular plasmoid. Problem persists as long as any plasmoids are present. With no plasmoids, it doesn't occur. I can retest this myself if you prefer.
Hi, Saw that it always - for me at least - takes ~5 minutes before Amarok turns to normal operation. May be this can give an extra clue. A time out routine somewhere? Martin Kho
OK, I can reproduce this as well with latest Git master. Gonna look into it.
That would be praiseworthy, Markey. Here are some backtraces I got when randomly interrupting Amarok when it is eating cpu. To me this all seems like Context::VerticalAppletLayout::refresh() is doing some work (showing children) it shouldn't be doing while it is not (yet) visible. #0 QGraphicsWidget::boundingRect (this=0x34ef9d0) at graphicsview/qgraphicswidget.cpp:2341 #1 0x00007f0ecefcc74e in QGraphicsItem::sceneBoundingRect (this=<optimized out>) at graphicsview/qgraphicsitem.cpp:4811 #2 0x00007f0eceffb562 in QGraphicsScene::itemsBoundingRect (this=<optimized out>) at graphicsview/qgraphicsscene.cpp:1916 #3 0x00007f0eceffb707 in QGraphicsScene::sceneRect (this=0x2dfa610) at graphicsview/qgraphicsscene.cpp:1664 #4 0x00007f0ea8d12801 in Context::VerticalAppletLayout::showAtIndex (this=0x2e64c10, index=0) at /var/tmp/portage/media-sound/amarok-9999-r50/work/amarok-9999/src/context/containments/verticallayout/VerticalAppletLayout.cpp:177 #5 0x00007f0ea8d0f5d4 in Context::VerticalToolbarContainment::updateGeometry (this=0x2e1dbe0) at /var/tmp/portage/media-sound/amarok-9999-r50/work/amarok-9999/src/context/containments/verticallayout/VerticalToolbarContainment.cpp:124 #6 0x00007f0eca0b1dfc in Plasma::Applet::flushPendingConstraintsEvents (this=0x2e1dbe0) at /var/tmp/portage/kde-base/kdelibs-4.7.49.9999-r50/work/kdelibs-4.7.49.9999/plasma/applet.cpp:1348 #7 0x00007f0eca0b2b6d in Plasma::Applet::timerEvent (this=0x2e1dbe0, event=<optimized out>) at /var/tmp/portage/kde-base/kdelibs-4.7.49.9999-r50/work/kdelibs-4.7.49.9999/plasma/applet.cpp:2552 #8 0x00007f0ece04ca69 in QObject::event (this=0x2e1dbe0, e=<optimized out>) at kernel/qobject.cpp:1181 #9 0x00007f0ecf02f50b in QGraphicsWidget::event (this=0x2e1dbe0, event=0x7fff3ccd5ee0) at graphicsview/qgraphicswidget.cpp:1455 #10 0x00007f0ecea1dbb4 in QApplicationPrivate::notify_helper (this=0x241a190, receiver=0x2e1dbe0, e=0x7fff3ccd5ee0) at kernel/qapplication.cpp:4481 #11 0x00007f0ecea22768 in QApplication::notify (this=<optimized out>, receiver=0x2e1dbe0, e=0x7fff3ccd5ee0) at kernel/qapplication.cpp:4360 #12 0x00007f0ed0a29cd6 in KApplication::notify (this=0x7fff3ccd6220, receiver=0x2e1dbe0, event=0x7fff3ccd5ee0) at /var/tmp/portage/kde-base/kdelibs-4.7.49.9999-r50/work/kdelibs-4.7.49.9999/kdeui/kernel/kapplication.cpp:311 #13 0x00007f0ece0389cc in QCoreApplication::notifyInternal (this=0x7fff3ccd6220, receiver=0x2e1dbe0, event=0x7fff3ccd5ee0) at kernel/qcoreapplication.cpp:787 #14 0x00007f0ece0665c2 in sendEvent (event=0x7fff3ccd5ee0, receiver=<optimized out>) at kernel/qcoreapplication.h:215 #15 QTimerInfoList::activateTimers (this=0x24204d0) at kernel/qeventdispatcher_unix.cpp:603 #16 0x00007f0ece063314 in timerSourceDispatch (source=<optimized out>) at kernel/qeventdispatcher_glib.cpp:184 #17 0x00007f0ec7e861b3 in g_main_dispatch (context=0x2406c70) at gmain.c:2441 #0 0x00007f0ecd716b59 in __libc_writev (fd=8, vector=0x7fff3ccd5d00, count=3) at ../sysdeps/unix/sysv/linux/writev.c:56 #1 0x00007f0ec8369f31 in write_vec (count=0x7fff3ccd5c74, vector=0x7fff3ccd5c78, c=<optimized out>) at /var/tmp/portage/x11-libs/libxcb-1.7/work/libxcb-1.7/src/xcb_conn.c:156 #2 _xcb_conn_wait (c=0x24225f0, cond=<optimized out>, vector=0x7fff3ccd5c78, count=0x7fff3ccd5c74) at /var/tmp/portage/x11-libs/libxcb-1.7/work/libxcb-1.7/src/xcb_conn.c:339 #3 0x00007f0ec836a3a3 in _xcb_out_send (c=0x24225f0, vector=0x7fff3ccd5d00, count=3) at /var/tmp/portage/x11-libs/libxcb-1.7/work/libxcb-1.7/src/xcb_out.c:338 #4 0x00007f0ec836a434 in xcb_writev (c=0x24225f0, vector=<optimized out>, count=<optimized out>, requests=6) at /var/tmp/portage/x11-libs/libxcb-1.7/work/libxcb-1.7/src/xcb_out.c:286 #5 0x00007f0ecf5337b6 in _XSend (dpy=0x242af10, data=<optimized out>, size=<optimized out>) at /var/tmp/portage/x11-libs/libX11-1.4.4/work/libX11-1.4.4/src/xcb_io.c:494 #6 0x00007f0ecf533b19 in _XEventsQueued (dpy=0x242af10, mode=<optimized out>) at /var/tmp/portage/x11-libs/libX11-1.4.4/work/libX11-1.4.4/src/xcb_io.c:353 #7 0x00007f0ecf52430f in XEventsQueued (dpy=0x242af10, mode=2) at /var/tmp/portage/x11-libs/libX11-1.4.4/work/libX11-1.4.4/src/Pending.c:43 #8 0x00007f0eceac4260 in x11EventSourceDispatch (s=0x2407c40, callback=0, user_data=0x0) at kernel/qguieventdispatcher_glib.cpp:151 #9 0x00007f0ec7e861b3 in g_main_dispatch (context=0x2406c70) at gmain.c:2441 #0 QMetaObject::method (this=0x7f0ecf4cb0e0, index=54) at kernel/qmetaobject.cpp:779 #1 0x00007f0ece042164 in QMetaObject::invokeMethod (obj=0x2ff1820, member=<optimized out>, type=Qt::AutoConnection, ret=..., val0=..., val1=..., val2=..., val3=..., val4=..., val5=..., val6=..., val7=..., val8=..., val9=...) at kernel/qmetaobject.cpp:1149 #2 0x00007f0ecef5a0b5 in invokeMethod (val9=..., val8=..., val7=..., val6=..., val5=..., val4=..., val3=..., val2=..., val1=..., val0=..., member=0x7f0ecf0d3615 "updateGeometries", obj=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs.h:426 #3 QTreeView::updateGeometries (this=0x2fd82f0) at itemviews/qtreeview.cpp:2685 #4 0x00007f0ecef62b61 in QTreeView::timerEvent (this=0x2fd82f0, event=0x7fff3ccd5ee0) at itemviews/qtreeview.cpp:1183 #5 0x00007f0ece04ca69 in QObject::event (this=0x2fd82f0, e=<optimized out>) at kernel/qobject.cpp:1181 #6 0x00007f0ecea6f745 in QWidget::event (this=0x2fd82f0, event=0x7fff3ccd5ee0) at kernel/qwidget.cpp:8754 #7 0x00007f0ecee05fe6 in QFrame::event (this=0x2fd82f0, e=0x7fff3ccd5ee0) at widgets/qframe.cpp:557 #8 0x00007f0ecee88143 in QAbstractScrollArea::event (this=0x2fd82f0, e=0x7fff3ccd5ee0) at widgets/qabstractscrollarea.cpp:996 #9 0x00007f0ecef1a57b in QAbstractItemView::event (this=0x2fd82f0, event=0x7fff3ccd5ee0) at itemviews/qabstractitemview.cpp:1564 #10 0x00007f0ecea1dbb4 in QApplicationPrivate::notify_helper (this=0x241a190, receiver=0x2fd82f0, e=0x7fff3ccd5ee0) at kernel/qapplication.cpp:4481 #11 0x00007f0ecea22768 in QApplication::notify (this=<optimized out>, receiver=0x2fd82f0, e=0x7fff3ccd5ee0) at kernel/qapplication.cpp:4360 #12 0x00007f0ed0a29cd6 in KApplication::notify (this=0x7fff3ccd6220, receiver=0x2fd82f0, event=0x7fff3ccd5ee0) at /var/tmp/portage/kde-base/kdelibs-4.7.49.9999-r50/work/kdelibs-4.7.49.9999/kdeui/kernel/kapplication.cpp:311 #13 0x00007f0ece0389cc in QCoreApplication::notifyInternal (this=0x7fff3ccd6220, receiver=0x2fd82f0, event=0x7fff3ccd5ee0) at kernel/qcoreapplication.cpp:787 #14 0x00007f0ece0665c2 in sendEvent (event=0x7fff3ccd5ee0, receiver=<optimized out>) at kernel/qcoreapplication.h:215 #15 QTimerInfoList::activateTimers (this=0x24204d0) at kernel/qeventdispatcher_unix.cpp:603 #16 0x00007f0ece063314 in timerSourceDispatch (source=<optimized out>) at kernel/qeventdispatcher_glib.cpp:184 #17 0x00007f0ec7e861b3 in g_main_dispatch (context=0x2406c70) at gmain.c:2441 #0 0x00007f0ecf01c485 in QGraphicsSceneEvent::QGraphicsSceneEvent (this=0x7fff3ccd3c60, dd=..., type=QEvent::GraphicsSceneResize) at graphicsview/qgraphicssceneevent.cpp:302 #1 0x00007f0ecf01d252 in QGraphicsSceneResizeEvent::QGraphicsSceneResizeEvent (this=0x7fff3ccd3c60) at graphicsview/qgraphicssceneevent.cpp:1553 #2 0x00007f0ecf030c10 in QGraphicsWidget::setGeometry (this=0x2febb30, rect=<optimized out>) at graphicsview/qgraphicswidget.cpp:400 #3 0x00007f0ecf03d014 in setGeometry (rect=..., this=0x3005990) at graphicsview/qgridlayoutengine.cpp:701 #4 QGridLayoutEngine::setGeometries (this=0x3006170, styleInfo=<optimized out>, contentsGeometry=...) at graphicsview/qgridlayoutengine.cpp:1096 #5 0x00007f0eceff23ec in QGraphicsLinearLayout::setGeometry (this=<optimized out>, rect=<optimized out>) at graphicsview/qgraphicslinearlayout.cpp:514 #6 0x00007f0eceff042a in QGraphicsLayout::widgetEvent (this=0x3005e80, e=<optimized out>) at graphicsview/qgraphicslayout.cpp:383 #7 0x00007f0ecf02f4cf in QGraphicsWidget::event (this=0x2fa3740, event=0x7fff3ccd4660) at graphicsview/qgraphicswidget.cpp:1379 #8 0x00007f0ecea1dbb4 in QApplicationPrivate::notify_helper (this=0x241a190, receiver=0x2fa3740, e=0x7fff3ccd4660) at kernel/qapplication.cpp:4481 #9 0x00007f0ecea22768 in QApplication::notify (this=<optimized out>, receiver=0x2fa3740, e=0x7fff3ccd4660) at kernel/qapplication.cpp:4360 #10 0x00007f0ed0a29cd6 in KApplication::notify (this=0x7fff3ccd6220, receiver=0x2fa3740, event=0x7fff3ccd4660) at /var/tmp/portage/kde-base/kdelibs-4.7.49.9999-r50/work/kdelibs-4.7.49.9999/kdeui/kernel/kapplication.cpp:311 #11 0x00007f0ece0389cc in QCoreApplication::notifyInternal (this=0x7fff3ccd6220, receiver=0x2fa3740, event=0x7fff3ccd4660) at kernel/qcoreapplication.cpp:787 #12 0x00007f0ecf030cae in sendEvent (event=0x7fff3ccd4660, receiver=0x2fa3740) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:215 #13 QGraphicsWidget::setGeometry (this=0x2fa3740, rect=<optimized out>) at graphicsview/qgraphicswidget.cpp:407 #14 0x00007f0ecf03d014 in setGeometry (rect=..., this=0x350ba80) at graphicsview/qgridlayoutengine.cpp:701 #15 QGridLayoutEngine::setGeometries (this=0x2e19410, styleInfo=<optimized out>, contentsGeometry=...) at graphicsview/qgridlayoutengine.cpp:1096 #16 0x00007f0eceff23ec in QGraphicsLinearLayout::setGeometry (this=<optimized out>, rect=<optimized out>) at graphicsview/qgraphicslinearlayout.cpp:514 #17 0x00007f0eceff042a in QGraphicsLayout::widgetEvent (this=0x2e5efc0, e=<optimized out>) at graphicsview/qgraphicslayout.cpp:383 #18 0x00007f0ecf02f4cf in QGraphicsWidget::event (this=0x2e64c10, event=0x7fff3ccd5060) at graphicsview/qgraphicswidget.cpp:1379 #19 0x00007f0ecea1dbb4 in QApplicationPrivate::notify_helper (this=0x241a190, receiver=0x2e64c10, e=0x7fff3ccd5060) at kernel/qapplication.cpp:4481 #20 0x00007f0ecea22768 in QApplication::notify (this=<optimized out>, receiver=0x2e64c10, e=0x7fff3ccd5060) at kernel/qapplication.cpp:4360 #21 0x00007f0ed0a29cd6 in KApplication::notify (this=0x7fff3ccd6220, receiver=0x2e64c10, event=0x7fff3ccd5060) at /var/tmp/portage/kde-base/kdelibs-4.7.49.9999-r50/work/kdelibs-4.7.49.9999/kdeui/kernel/kapplication.cpp:311 #22 0x00007f0ece0389cc in QCoreApplication::notifyInternal (this=0x7fff3ccd6220, receiver=0x2e64c10, event=0x7fff3ccd5060) at kernel/qcoreapplication.cpp:787 #23 0x00007f0ecf030cae in sendEvent (event=0x7fff3ccd5060, receiver=0x2e64c10) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:215 #24 QGraphicsWidget::setGeometry (this=0x2e64c10, rect=<optimized out>) at graphicsview/qgraphicswidget.cpp:407 #25 0x00007f0ea8d1280a in Context::VerticalAppletLayout::showAtIndex (this=0x2e64c10, index=0) at /var/tmp/portage/media-sound/amarok-9999-r50/work/amarok-9999/src/context/containments/verticallayout/VerticalAppletLayout.cpp:177 #26 0x00007f0ea8d0f5d4 in Context::VerticalToolbarContainment::updateGeometry (this=0x2e1dbe0) at /var/tmp/portage/media-sound/amarok-9999-r50/work/amarok-9999/src/context/containments/verticallayout/VerticalToolbarContainment.cpp:124 #27 0x00007f0eca0b1dfc in Plasma::Applet::flushPendingConstraintsEvents (this=0x2e1dbe0) at /var/tmp/portage/kde-base/kdelibs-4.7.49.9999-r50/work/kdelibs-4.7.49.9999/plasma/applet.cpp:1348
Summary from my testing so far: * When amarok is minimized, high CPU on startup until mainwindow is shown. * All applets removed: high CPU until window is shown. * When context view is disabled, high CPU until CV is added to the layout again. Does not seem to be related to any applet.
I'm also experiencing this bug on OpenSuse 12.1, with amarok 2.4.60git.1321705210-71.1 from Playground. Furthermore, if I try to start music playback while in minimized, high-cpu state, playback stops after one-two seconds, then after another 10 seconds or so amarok crashes, and DrKonqui doesn't show up. This is a backtrace with gdb: #0 0x00007ffff4865d95 in raise () from /lib64/libc.so.6 #1 0x00007ffff48672ab in abort () from /lib64/libc.so.6 #2 0x00007ffff4e94f2d in __gnu_cxx::__verbose_terminate_handler() () from /usr/lib64/libstdc++.so.6 #3 0x00007ffff4e930d6 in ?? () from /usr/lib64/libstdc++.so.6 #4 0x00007ffff4e93103 in std::terminate() () from /usr/lib64/libstdc++.so.6 #5 0x00007ffff4e93246 in __cxa_rethrow () from /usr/lib64/libstdc++.so.6 #6 0x00007ffff5ee0d56 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4 #7 0x00007ffff5ee4de7 in QCoreApplication::exec() () from /usr/lib64/libQtCore.so.4 #8 0x000000000040987e in main (argc=4, argv=0x7fffffffdb88) at /usr/src/debug/amarok-2.4.60git.1321705210/src/main.cpp:310 A more complete output of this gdb session is at http://paste.kde.org/149486/ Those X errors are spawning endlessly, until i open the main window. Then, CPU usage goes back to normal, and i can start playback with no other issues, that's why I believe this behavior is related to this bug. IIRC, with an older glibc this wasn't happening, OS uses 2.14.1, but I fear breaking my system if I revert that. I have an Acer 4810TG, and I'm using the intel 4500MHD GPU, Mesa 7.11, kernel 3.1.0, desktop effects on (disabling them gave me the same crash, but later).
Hi, While running top, I observe that when Amarok is active (hidden in the systemtray or maximized) both the dbus-daemon and udisk-daemon are permanently kept from sleeping (they use 0.7 - 1.3% CPU). Disabling the option Collections -> Watch folders for changes doesn't have any effect. No other application are keeping these daemons awake, in so far I've seen. May be this observation can be helpful in solving this issue? Martin Kho Btw. dbus-monitor doesn't show any useful info :-(
(In reply to comment #32) > Hi, > > While running top, I observe that when Amarok is active (hidden in the > systemtray or maximized) both the dbus-daemon and udisk-daemon are permanently > kept from sleeping (they use 0.7 - 1.3% CPU). Disabling the option Collections > -> Watch folders for changes doesn't have any effect. No other application are > keeping these daemons awake, in so far I've seen. May be this observation can > be helpful in solving this issue? > > Martin Kho > > Btw. dbus-monitor doesn't show any useful info :-( The dbus spam fixed in commit 8cc3fc7ab9f is likely responsible for the dbus CPU usage at least, and therefore unrelated to this issue.
I experienced the same issue. After boot, when KDE is loaded, Amarok uses 100% cpu time. When I click on the icon it goes back to an acceptable cpu time.
*** Bug 287398 has been marked as a duplicate of this bug. ***
There's a patch that should fix this bug at https://git.reviewboard.kde.org/r/103271/ It awaits review from someone more knowledgeable about the touched code than me.
Git commit 79bd9a7c6777e3f5d4e723bc5d3b00e5d6fe532b by Matěj Laitl. Committed on 27/11/2011 at 15:24. Pushed by laitl into branch 'master'. Fix infinite loop in context view eating CPU until main window is shown We used to use _scene_ sceneRect in VerticalToolbarContainment::updateGeometry() to update applets and geometry, but that leaded to infinite loop (across mainloop) - m_applets->setGeometry(), refresh() would enlarge _scene_ sceneRect by a few pixels which would trigger updateGeometry() and so on... We now use _view_ sceneRect to update geometry. Rick W. Chen discovered some glitches in applet collapsing when this patch is applied, but he has a patch for that in the works and this is more serious problem, so pushing this. REVIEW: 103271 BUG: 278897 FIXED-IN: 2.5 M +1 -0 ChangeLog M +12 -1 src/context/containments/verticallayout/VerticalToolbarContainment.cpp http://commits.kde.org/amarok/79bd9a7c6777e3f5d4e723bc5d3b00e5d6fe532b