[webkit-qt] Excessive timer usage results in 100% CPU usage

İsmail Dönmez ismail at namtrac.org
Fri Mar 26 06:08:46 PDT 2010


On Fri, Mar 26, 2010 at 2:52 PM, Holger Freyther <zecke at selfish.org> wrote:

> On Friday 26 March 2010 13:36:07 İsmail Dönmez wrote:
>
> > > Can you check who and how often someone is calling:
> > > Loader::scheduleServePendingRequests?
> >
> > Loader::scheduleServePendingRequests seems to be called all the time, the
> > backtrace is the same for all:
> >
> >
> >
>  qtwebkit4.dll!WebCore::Loader::servePendingRequests(WebCore::Loader::Prior
> > ity minimumPriority = 0) Line: 166, Byte Offsets: 0x10   C++
> >     qtwebkit4.dll!WebCore::Timer<WebCore::Loader>::fired(void) Line: 98,
> > Byte Offsets: 0x14 C++
> >     qtwebkit4.dll!WebCore::ThreadTimers::sharedTimerFiredInternal(void)
> > Line: 115, Byte Offsets: 0x114  C++
> >     qtwebkit4.dll!WebCore::SharedTimerQt::timerEvent(QTimerEvent* ev =
> > 0x00000000) Line: 106, Byte Offsets: 0x3c  C++
> >     qtcore4.dll!QObject::event(QEvent* e = 0x00000000) Line: 1276, Byte
> > Offsets: 0x33c  C++
>
>
> Okay, you are either on an older version of WebKit, or I'm, or you have
> local
> modifications? Could you verify or falsify the following:
>
> 1.) You have eight jobs pending
> 2.) The timer fires and servePendingRequests is called
> 3.) From within servePendingRequests we restart the zero time timer?
>
> if that is true, a backtrace would be nice and antti might be able to help
> you..


First of all I am using WebKit from git, should be updated as of
yesterday. I am not sure about 1, I only see COUNT 8, if that means 8
pending jobs then 1 is true. 2 & 3 are true. Here is a complete backtrace :

 > qtwebkit4.dll!WebCore::Loader::servePendingRequests(WebCore::Loader::Priority
minimumPriority = 0) Line: 171, Byte Offsets: 0x24 C++
  qtwebkit4.dll!WebCore::Timer<WebCore::Loader>::fired(void) Line: 98, Byte
Offsets: 0x14 C++
  qtwebkit4.dll!WebCore::ThreadTimers::sharedTimerFiredInternal(void) Line:
115, Byte Offsets: 0x114 C++
  qtwebkit4.dll!WebCore::SharedTimerQt::timerEvent(QTimerEvent* ev =
0x00000000) Line: 106, Byte Offsets: 0x3c C++
  qtcore4.dll!QObject::event(QEvent* e = 0x00000000) Line: 1276, Byte
Offsets: 0x33c C++
  qtgui4.dll!QApplicationPrivate::notify_helper(QObject* receiver =
0x00000000, QEvent* e = 0x00000000) Line: 4303, Byte Offsets: 0x8c C++
  qtgui4.dll!QApplication::notify(QObject* receiver = 0x00000000, QEvent* e
= 0x00000000) Line: 4262, Byte Offsets: 0xec8 C++
  qtcore4.dll!QCoreApplication::notifyInternal(QObject* receiver =
0x00000000, QEvent* event = 0x00000000) Line: 717, Byte Offsets: 0x74 C++
  qtcore4.dll!QEventDispatcherWin32::event(QEvent* e = 0x00000000) Line:
1109, Byte Offsets: 0x88 C++
  qtgui4.dll!QApplicationPrivate::notify_helper(QObject* receiver =
0x00000000, QEvent* e = 0x00000000) Line: 4303, Byte Offsets: 0x8c C++
  qtgui4.dll!QApplication::notify(QObject* receiver = 0x00000000, QEvent* e
= 0x00000000) Line: 4262, Byte Offsets: 0xec8 C++
  qtcore4.dll!QCoreApplication::notifyInternal(QObject* receiver =
0x00000000, QEvent* event = 0x00000000) Line: 717, Byte Offsets: 0x74 C++
  qtcore4.dll!QCoreApplicationPrivate::sendPostedEvents(QObject* receiver =
0x00000000, int event_type = 0, QThreadData* data = 0x00000000) Line: 1361,
Byte Offsets: 0x244 C++
  qtcore4.dll!qt_internal_proc(HWND__* hwnd = 0x00000000, unsigned int
message = 0, unsigned int wp = 0, long int lp = 0) Line: 492, Byte Offsets:
0x1e0 C++
  0x03f85c04
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-qt/attachments/20100326/edad11be/attachment.html>


More information about the webkit-qt mailing list