Bug 79592 - [Performance Tests] [Qt] jslib-modify-jquery.html and html5-full-render.html are timing out
Summary: [Performance Tests] [Qt] jslib-modify-jquery.html and html5-full-render.html ...
Status: RESOLVED WORKSFORME
Alias: None
Product: WebKit
Classification: Unclassified
Component: Tools / Tests (show other bugs)
Version: 528+ (Nightly build)
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Nobody
URL:
Keywords: Qt, QtTriaged
Depends on:
Blocks: 77037 79668
  Show dependency treegraph
 
Reported: 2012-02-25 18:39 PST by Ryosuke Niwa
Modified: 2012-05-12 00:00 PDT (History)
5 users (show)

See Also:


Attachments
Callgrind output for DRT running Dromaeo/jslib-modify-jquery.html (5.98 MB, application/octet-stream)
2012-03-02 09:13 PST, Jesus Sanchez-Palencia
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Ryosuke Niwa 2012-02-25 18:39:14 PST
Having any test time out is really bad on perf bots because we let each test run for 10 minutes :(

Running Dromaeo/jslib-modify-jquery.html (30 of 44)
timeout: PerformanceTests/Dromaeo/jslib-modify-jquery.html
FAILED

stopping DumpRenderTree timed out, killing it
killed

Running Parser/html5-full-render.html (40 of 44)
timeout: PerformanceTests/Parser/html5-full-render.html
FAILED

stopping DumpRenderTree timed out, killing it
killed
Comment 2 Jesus Sanchez-Palencia 2012-03-01 12:25:01 PST
Parser/html5-full-render.html is not timing out for me anymore after the fix we are discussing for https://bugs.webkit.org/show_bug.cgi?id=79561 .

However, Dromaeo/jslib-modify-jquery.html is and I still couldn't find the reason.
Comment 3 Jesus Sanchez-Palencia 2012-03-02 09:07:04 PST
(In reply to comment #2)
> However, Dromaeo/jslib-modify-jquery.html is and I still couldn't find the reason.

I couldn't go much further into it, but here goes a backtrace from gdb (after waiting quite a few minutes running the test) and I will attach a callgrind output that might help.

--------------------------------------------------------------------
#0  0x00007ffff68a2c70 in WebCore::RenderInline::culledInlineLastLineBox() const () from /home/jeez/code/webkit/build/webkit2-qt50-debug/Release/lib/libQtWebKit.so.4
#1  0x00007ffff68c7b00 in WebCore::RenderLineBoxList::dirtyLinesFromChangedChild(WebCore::RenderObject*, WebCore::RenderObject*) () from /home/jeez/code/webkit/build/webkit2-qt50-debug/Release/lib/libQtWebKit.so.4
#2  0x00007ffff68c7abc in WebCore::RenderLineBoxList::dirtyLinesFromChangedChild(WebCore::RenderObject*, WebCore::RenderObject*) () from /home/jeez/code/webkit/build/webkit2-qt50-debug/Release/lib/libQtWebKit.so.4
#3  0x00007ffff68e2d2a in WebCore::RenderObjectChildList::appendChildNode(WebCore::RenderObject*, WebCore::RenderObject*, bool) () from /home/jeez/code/webkit/build/webkit2-qt50-debug/Release/lib/libQtWebKit.so.4
#4  0x00007ffff68e102f in WebCore::RenderObject::addChild(WebCore::RenderObject*, WebCore::RenderObject*) () from /home/jeez/code/webkit/build/webkit2-qt50-debug/Release/lib/libQtWebKit.so.4
#5  0x00007ffff68a7a7e in WebCore::RenderInline::addChildIgnoringContinuation(WebCore::RenderObject*, WebCore::RenderObject*) () from /home/jeez/code/webkit/build/webkit2-qt50-debug/Release/lib/libQtWebKit.so.4
#6  0x00007ffff63bb7db in WebCore::NodeRendererFactory::createRendererIfNeeded() () from /home/jeez/code/webkit/build/webkit2-qt50-debug/Release/lib/libQtWebKit.so.4
#7  0x00007ffff63aecbb in WebCore::Node::createRendererIfNeeded() () from /home/jeez/code/webkit/build/webkit2-qt50-debug/Release/lib/libQtWebKit.so.4
#8  0x00007ffff63dea79 in WebCore::Text::attach() () from /home/jeez/code/webkit/build/webkit2-qt50-debug/Release/lib/libQtWebKit.so.4
#9  0x00007ffff6358f34 in WebCore::ContainerNode::attach() () from /home/jeez/code/webkit/build/webkit2-qt50-debug/Release/lib/libQtWebKit.so.4
#10 0x00007ffff638e89b in WebCore::Element::attach() () from /home/jeez/code/webkit/build/webkit2-qt50-debug/Release/lib/libQtWebKit.so.4
#11 0x00007ffff639591e in WebCore::Element::recalcStyle(WebCore::Node::StyleChange) () from /home/jeez/code/webkit/build/webkit2-qt50-debug/Release/lib/libQtWebKit.so.4
#12 0x00007ffff6395553 in WebCore::Element::recalcStyle(WebCore::Node::StyleChange) () from /home/jeez/code/webkit/build/webkit2-qt50-debug/Release/lib/libQtWebKit.so.4
#13 0x00007ffff6395553 in WebCore::Element::recalcStyle(WebCore::Node::StyleChange) () from /home/jeez/code/webkit/build/webkit2-qt50-debug/Release/lib/libQtWebKit.so.4
#14 0x00007ffff6379b5b in WebCore::Document::recalcStyle(WebCore::Node::StyleChange) () from /home/jeez/code/webkit/build/webkit2-qt50-debug/Release/lib/libQtWebKit.so.4
#15 0x00007ffff6379fb3 in WebCore::Document::updateStyleIfNeeded() () from /home/jeez/code/webkit/build/webkit2-qt50-debug/Release/lib/libQtWebKit.so.4
#16 0x00007ffff67fc2d2 in WebCore::ThreadTimers::sharedTimerFiredInternal() () from /home/jeez/code/webkit/build/webkit2-qt50-debug/Release/lib/libQtWebKit.so.4
#17 0x00007ffff079a642 in QObject::event (this=0x6b5140, e=0x7fffffffdb80) at kernel/qobject.cpp:995
#18 0x00007ffff1d0fc7c in QApplicationPrivate::notify_helper (this=0x679380, receiver=0x6b5140, e=0x7fffffffdb80) at kernel/qapplication.cpp:3716
#19 0x00007ffff1d0d312 in QApplication::notify (this=0x7fffffffe060, receiver=0x6b5140, e=0x7fffffffdb80) at kernel/qapplication.cpp:3175
#20 0x00007ffff0765eca in QCoreApplication::notifyInternal (this=0x7fffffffe060, receiver=0x6b5140, event=0x7fffffffdb80) at kernel/qcoreapplication.cpp:699
#21 0x00007ffff0769be1 in QCoreApplication::sendEvent (receiver=0x6b5140, event=0x7fffffffdb80) at kernel/qcoreapplication.h:206
#22 0x00007ffff07cd592 in QTimerInfoList::activateTimers (this=0x65a420) at kernel/qtimerinfo_unix.cpp:613
#23 0x00007ffff07ce759 in timerSourceDispatch (source=0x65a3c0) at kernel/qeventdispatcher_glib.cpp:186
#24 0x00007ffff07ce840 in idleTimerSourceDispatch (source=0x65a470) at kernel/qeventdispatcher_glib.cpp:233
#25 0x00007ffff32438bd in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#26 0x00007ffff32440b8 in ?? () from /usr/lib/libglib-2.0.so.0
#27 0x00007ffff3244289 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#28 0x00007ffff07cf203 in QEventDispatcherGlib::processEvents (this=0x65af50, flags=...) at kernel/qeventdispatcher_glib.cpp:424
#29 0x00007ffff076325a in QEventLoop::processEvents (this=0x7fffffffdee0, flags=...) at kernel/qeventloop.cpp:135
#30 0x00007ffff0763551 in QEventLoop::exec (this=0x7fffffffdee0, flags=...) at kernel/qeventloop.cpp:211
#31 0x00007ffff0766531 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:951
#32 0x00007ffff0d3418f in QGuiApplication::exec () at kernel/qguiapplication.cpp:799
#33 0x00007ffff1d0cdfa in QApplication::exec () at kernel/qapplication.cpp:3047
#34 0x00000000004198a1 in main ()
-------------------------------------------------------------------
Comment 4 Jesus Sanchez-Palencia 2012-03-02 09:13:14 PST
Created attachment 129911 [details]
Callgrind output for DRT running Dromaeo/jslib-modify-jquery.html
Comment 5 Csaba Osztrogonác 2012-03-05 03:23:13 PST
After Qt5 update we get results and it is killed in the same time:

Running Dromaeo/jslib-modify-jquery.html (30 of 44)
RESULT Dromaeo: jslib-modify-jquery= 6957.57172878 ms
median= 0.0 ms, stdev= 190.170680721 ms, min= 6434.96364789 ms, max= 7367.90516633 ms
Finished: 203.632039 s

stopping DumpRenderTree timed out, killing it
killed


How is it possible?
Comment 6 Jesus Sanchez-Palencia 2012-03-05 05:43:19 PST
(In reply to comment #5)
> After Qt5 update we get results and it is killed in the same time:

The same for me locally, but I have no idea. =/
Comment 7 Csaba Osztrogonác 2012-04-17 05:42:02 PDT
It is still valid, sometimes fail on the perf bot.
Comment 8 Ryosuke Niwa 2012-05-12 00:00:17 PDT
It appears that this problem is no longer visible on bots.