Bug 185181

Summary: kget tends to trigger high CPU load
Product: [Applications] kget Reporter: squan
Component: generalAssignee: KGet authors <kget>
Status: RESOLVED WORKSFORME    
Severity: normal CC: mat69, rasasi78
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: openSUSE   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description squan 2009-02-21 23:42:37 UTC
Version:            (using KDE 4.2.0)
OS:                Linux
Installed from:    SuSE RPMs

While downloading files with gket it often happens that my system is suddenly under heavy system load.
Using 'top' then shows that kget, kded and plasma together are doing heavy CPU bound activity summing up to 100% load.

Below three random backtraces from attaching kget with gdb:
(gdb) bt
#0  0xffffe430 in __kernel_vsyscall ()
#1  0xb673e411 in select () from /lib/libc.so.6
#2  0xb6034285 in ?? () from /usr/lib/libxcb.so.1
#3  0xb6035c5a in xcb_wait_for_reply () from /usr/lib/libxcb.so.1
#4  0xb65625d1 in _XReply () from /usr/lib/libX11.so.6
#5  0xb653f313 in XGetWindowProperty () from /usr/lib/libX11.so.6
#6  0xb7e8bfae in NETRootInfo::update (this=0x81e4dcc, dirty_props=0xbf974764) at /usr/src/debug/kdelibs-4.2.0/kdeui/windowmanagement/netwm.cpp:2179
#7  0xb7e8d3af in NETRootInfo::event (this=0x81e4dcc, event=0xbf974d9c, properties=0xbf974848, properties_size=5) at /usr/src/debug/kdelibs-4.2.0/kdeui/windowmanagement/netwm.cpp:2052
#8  0xb7e7df0d in KWindowSystemPrivate::x11Event (this=0x81e4db8, ev=0xbf974d3c) at /usr/src/debug/kdelibs-4.2.0/kdeui/windowmanagement/kwindowsystem_x11.cpp:136
#9  0xb7d3ad59 in KApplication::x11EventFilter (this=0xbf975008, _event=0xbf974d3c) at /usr/src/debug/kdelibs-4.2.0/kdeui/kernel/kapplication.cpp:935
#10 0xb6a77b9e in ?? () from /usr/lib/libQtGui.so.4
#11 0xb6a885f5 in QApplication::x11ProcessEvent(_XEvent*) () from /usr/lib/libQtGui.so.4
#12 0xb6ab20ca in ?? () from /usr/lib/libQtGui.so.4
#13 0xb60fa9a8 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#14 0xb60fe063 in ?? () from /usr/lib/libglib-2.0.so.0
#15 0xb60fe221 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#16 0xb74adfb8 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#17 0xb6ab17c5 in ?? () from /usr/lib/libQtGui.so.4
#18 0xb748201a in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#19 0xb74821da in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#20 0xb7484895 in QCoreApplication::exec() () from /usr/lib/libQtCore.so.4
#21 0xb6a18777 in QApplication::exec() () from /usr/lib/libQtGui.so.4
#22 0x0809ab5a in main (argc=1, argv=0xbf9751f4) at /usr/src/debug/kdenetwork-4.2.0/kget/main.cpp:153
(gdb) c
Continuing.
  C-c C-c
Program received signal SIGINT, Interrupt.
0xffffe430 in __kernel_vsyscall ()
(gdb) bt
#0  0xffffe430 in __kernel_vsyscall ()
#1  0xb7337b3b in write () from /lib/libpthread.so.0
#2  0xb72b7901 in ?? () from /usr/lib/libQtNetwork.so.4
#3  0xb72a0f58 in ?? () from /usr/lib/libQtNetwork.so.4
#4  0xb72af78c in ?? () from /usr/lib/libQtNetwork.so.4
#5  0xb72afb26 in ?? () from /usr/lib/libQtNetwork.so.4
#6  0xb72b09ad in QAbstractSocket::waitForBytesWritten(int) () from /usr/lib/libQtNetwork.so.4
#7  0xb799216b in KIO::SocketConnectionBackend::sendCommand (this=0x853d820, task=@0xbf974458) at /usr/src/debug/kdelibs-4.2.0/kio/kio/connection.cpp:294
#8  0xb7991f43 in KIO::Connection::sendnow (this=0x8424858, _cmd=100, data=@0xbf974518) at /usr/src/debug/kdelibs-4.2.0/kio/kio/connection.cpp:502
#9  0xb7992cef in KIO::Connection::send (this=0x8424858, cmd=100, data=@0xbf974518) at /usr/src/debug/kdelibs-4.2.0/kio/kio/connection.cpp:486
#10 0xb7a67430 in KIO::Slave::send (this=0x8398ac0, cmd=100, arr=@0xbf974518) at /usr/src/debug/kdelibs-4.2.0/kio/kio/slave.cpp:315
#11 0xb79bc51a in KIO::TransferJob::sendAsyncData (this=0x84ec828, dataForSlave=@0xbf974518) at /usr/src/debug/kdelibs-4.2.0/kio/kio/job.cpp:1037
#12 0xb79bdd9c in KIO::TransferJob::slotDataReq (this=0x84ec828) at /usr/src/debug/kdelibs-4.2.0/kio/kio/job.cpp:1097
#13 0xb79c6203 in KIO::TransferJob::qt_metacall (this=0x84ec828, _c=QMetaObject::InvokeMetaMethod, _id=9, _a=0xbf9745c8) at /usr/src/debug/kdelibs-4.2.0/build/kio/jobclasses.moc:338
#14 0xb7498580 in QMetaObject::activate(QObject*, int, int, void**) () from /usr/lib/libQtCore.so.4
#15 0xb7499302 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/libQtCore.so.4
#16 0xb7a75157 in KIO::SlaveInterface::dataReq (this=0x8398ac0) at /usr/src/debug/kdelibs-4.2.0/build/kio/slaveinterface.moc:144
#17 0xb7a77d58 in KIO::SlaveInterface::dispatch (this=0x8398ac0, _cmd=101, rawdata=@0xbf974764) at /usr/src/debug/kdelibs-4.2.0/kio/kio/slaveinterface.cpp:166
#18 0xb7a75697 in KIO::SlaveInterface::dispatch (this=0x8398ac0) at /usr/src/debug/kdelibs-4.2.0/kio/kio/slaveinterface.cpp:91
#19 0xb7a67fb0 in KIO::Slave::gotInput (this=0x8398ac0) at /usr/src/debug/kdelibs-4.2.0/kio/kio/slave.cpp:322
#20 0xb7a68323 in KIO::Slave::qt_metacall (this=0x8398ac0, _c=QMetaObject::InvokeMetaMethod, _id=2, _a=0xbf974858) at /usr/src/debug/kdelibs-4.2.0/build/kio/slave.moc:75
#21 0xb7498580 in QMetaObject::activate(QObject*, int, int, void**) () from /usr/lib/libQtCore.so.4
#22 0xb7499302 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/libQtCore.so.4
#23 0xb79913c7 in KIO::Connection::readyRead (this=0x8424858) at /usr/src/debug/kdelibs-4.2.0/build/kio/connection.moc:84
#24 0xb7992df3 in KIO::ConnectionPrivate::dequeue (this=0x83f6b80) at /usr/src/debug/kdelibs-4.2.0/kio/kio/connection.cpp:82
#25 0xb7993446 in KIO::Connection::qt_metacall (this=0x8424858, _c=QMetaObject::InvokeMetaMethod, _id=1, _a=0x868f900) at /usr/src/debug/kdelibs-4.2.0/build/kio/connection.moc:72
#26 0xb749171b in QMetaCallEvent::placeMetaCall(QObject*) () from /usr/lib/libQtCore.so.4
#27 0xb7493281 in QObject::event(QEvent*) () from /usr/lib/libQtCore.so.4
#28 0xb6a188fc in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#29 0xb6a2075e in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#30 0xb7d3ba3d in KApplication::notify (this=0xbf975008, receiver=0x8424858, event=0x8d60880) at /usr/src/debug/kdelibs-4.2.0/kdeui/kernel/kapplication.cpp:307
#31 0xb7483961 in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/libQtCore.so.4
#32 0xb74845d5 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () from /usr/lib/libQtCore.so.4
#33 0xb74847cd in QCoreApplication::sendPostedEvents(QObject*, int) () from /usr/lib/libQtCore.so.4
#34 0xb74ae36f in ?? () from /usr/lib/libQtCore.so.4
#35 0xb60fa9a8 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#36 0xb60fe063 in ?? () from /usr/lib/libglib-2.0.so.0
#37 0xb60fe221 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#38 0xb74adfb8 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#39 0xb6ab17c5 in ?? () from /usr/lib/libQtGui.so.4
#40 0xb748201a in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#41 0xb74821da in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#42 0xb7484895 in QCoreApplication::exec() () from /usr/lib/libQtCore.so.4
#43 0xb6a18777 in QApplication::exec() () from /usr/lib/libQtGui.so.4
#44 0x0809ab5a in main (argc=1, argv=0xbf9751f4) at /usr/src/debug/kdenetwork-4.2.0/kget/main.cpp:153
(gdb) c
Continuing.
  C-c C-c
Program received signal SIGINT, Interrupt.
0xffffe430 in __kernel_vsyscall ()
(gdb) bt
#0  0xffffe430 in __kernel_vsyscall ()
#1  0xb673b6a7 in poll () from /lib/libc.so.6
#2  0xb60fdef2 in ?? () from /usr/lib/libglib-2.0.so.0
#3  0xb60fe221 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#4  0xb74adfb8 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#5  0xb6ab17c5 in ?? () from /usr/lib/libQtGui.so.4
#6  0xb748201a in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#7  0xb74821da in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#8  0xb7484895 in QCoreApplication::exec() () from /usr/lib/libQtCore.so.4
#9  0xb6a18777 in QApplication::exec() () from /usr/lib/libQtGui.so.4
#10 0x0809ab5a in main (argc=1, argv=0xbf9751f4) at /usr/src/debug/kdenetwork-4.2.0/kget/main.cpp:153
Comment 1 Raúl 2009-11-01 00:19:17 UTC
Hello:

I'm also having this problem on KDE 4.3.2 and Qt 4.5.3. This is the backtrace I have:

#0  0x00007fedb6c73976 in QAbstractSocket::waitForBytesWritten (this=0x280c990, msecs=-1) at socket/qabstractsocket.cpp:1758
#1  0x00007fedb7afce92 in KIO::SocketConnectionBackend::sendCommand (this=0x28807f0, task=...) at ../../kio/kio/connection.cpp:294
#2  0x00007fedb7afcbb0 in KIO::Connection::sendnow (this=0x28577a0, _cmd=79, data=...) at ../../kio/kio/connection.cpp:502        
#3  0x00007fedb7afdc98 in KIO::Connection::send (this=0x28577a0, cmd=79, data=...) at ../../kio/kio/connection.cpp:486            
#4  0x00007fedb7bda80e in KIO::SchedulerPrivate::slotReparseSlaveConfiguration (this=<value optimized out>, proto=<value optimized out>)
    at ../../kio/kio/scheduler.cpp:379                                                                                                  
#5  0x00007fedb7bdd4fb in KIO::Scheduler::qt_metacall (this=0x2307ae0, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>,     
    _a=<value optimized out>) at ./scheduler.moc:101                                                                                    
#6  0x00007fedb58eeb83 in QDBusConnectionPrivate::deliverCall (this=0x20e2c20, object=0x2307ae0, msg=..., metaTypes=..., slotIdx=9)     
    at qdbusintegrator.cpp:891                                                                                                          
#7  0x00007fedb58f635f in QDBusCallDeliveryEvent::placeMetaCall(QObject*) () from /usr/lib/libQtDBus.so.4                               
#8  0x00007fedb55e16c8 in QObject::event (this=0x2307ae0, e=0x298f3b0) at kernel/qobject.cpp:1110                                       
#9  0x00007fedb619a01d in QApplicationPrivate::notify_helper (this=0x20ee760, receiver=0x2307ae0, e=0x298f3b0)                          
    at kernel/qapplication.cpp:4065                                                                                                     
#10 0x00007fedb61a207a in QApplication::notify (this=0x7fffeafa6910, receiver=0x2307ae0, e=0x298f3b0) at kernel/qapplication.cpp:4030   
#11 0x00007fedb812a0db in KApplication::notify (this=0x7fffeafa6910, receiver=0x2307ae0, event=0x298f3b0)                               
    at ../../kdeui/kernel/kapplication.cpp:302                                                                                          
#12 0x00007fedb55d1c9c in QCoreApplication::notifyInternal (this=0x7fffeafa6910, receiver=0x2307ae0, event=0x298f3b0)
    at kernel/qcoreapplication.cpp:610
#13 0x00007fedb55d28e4 in QCoreApplication::sendEvent (receiver=0x0, event_type=0, data=0x20c8150)
    at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:213
#14 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x20c8150) at kernel/qcoreapplication.cpp:1247
#15 0x00007fedb55fa7d3 in QCoreApplication::sendPostedEvents (s=<value optimized out>)
---Type <return> to continue, or q <return> to quit---
    at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:218
#16 postEventSourceDispatch (s=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:276
#17 0x00007fedb108512a in g_main_dispatch (context=0x20f0620) at /tmp/buildd/glib2.0-2.22.2/glib/gmain.c:1960
#18 IA__g_main_context_dispatch (context=0x20f0620) at /tmp/buildd/glib2.0-2.22.2/glib/gmain.c:2513
#19 0x00007fedb1088988 in g_main_context_iterate (context=0x20f0620, block=1, dispatch=1, self=<value optimized out>)
    at /tmp/buildd/glib2.0-2.22.2/glib/gmain.c:2591
#20 0x00007fedb1088b3c in IA__g_main_context_iteration (context=0x20f0620, may_block=1) at /tmp/buildd/glib2.0-2.22.2/glib/gmain.c:2654
#21 0x00007fedb55fa39c in QEventDispatcherGlib::processEvents (this=0x20c7960, flags=<value optimized out>)
    at kernel/qeventdispatcher_glib.cpp:407
#22 0x00007fedb6230f1f in QGuiEventDispatcherGlib::processEvents (this=0x280dab0, flags=<value optimized out>)
    at kernel/qguieventdispatcher_glib.cpp:202
#23 0x00007fedb55d0562 in QEventLoop::processEvents (this=<value optimized out>, flags=...) at kernel/qeventloop.cpp:149
#24 0x00007fedb55d0934 in QEventLoop::exec (this=0x7fffeafa6880, flags=...) at kernel/qeventloop.cpp:201
#25 0x00007fedb55d2ba4 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:888
#26 0x000000000045c2ef in main (argc=2, argv=0x7fffeafa6ef8) at ../../kget/main.cpp:173

Thanks.
Comment 2 Matthias Fuchs 2009-11-14 19:01:29 UTC
As a lot of code has been changed in KGet lately it would be great if you could test if this problem also exists for trunk (what is to become KDE 4.4).

If you don't want to install trunk you could wait for KDE 4.4 Betas or RCs, so that the problem could be fixed for 4.4 if it still existed.
Comment 3 Lukas Appelhans 2009-12-01 14:16:35 UTC
So let's mark it as NEEDSINFO...

Lukas
Comment 4 squan 2009-12-28 11:48:10 UTC
This no longer happens with KDE 4.4 (tested with beta 2)