RESOLVED FIXED 110876
Multiple html5lib Layout Tests are slow since r144032
https://bugs.webkit.org/show_bug.cgi?id=110876
Summary Multiple html5lib Layout Tests are slow since r144032
Vsevolod Vlasov
Reported 2013-02-26 05:48:42 PST
Multiple html5lib Layout Tests are timing out on chromium since r144032 html5lib/generated/run-doctype01-data.html html5lib/generated/run-domjs-unsafe-data.html html5lib/generated/run-entities01-data.html html5lib/generated/run-plain-text-unsafe-data.html html5lib/generated/run-scriptdata01-data.html html5lib/generated/run-template-data.html html5lib/generated/run-tests1-data.html html5lib/generated/run-tests10-data.html html5lib/generated/run-tests16-data.html html5lib/generated/run-tests19-data.html html5lib/generated/run-tests2-data.html html5lib/generated/run-tests20-data.html html5lib/generated/run-tests6-data.html html5lib/generated/run-tests7-data.html html5lib/generated/run-tests9-data.html html5lib/generated/run-webkit01-data.html Caused by http://trac.webkit.org/changeset/144032/
Attachments
Patch (2.06 KB, patch)
2013-03-05 04:25 PST, Eric Seidel (no email)
no flags
Vsevolod Vlasov
Comment 1 2013-02-26 05:54:11 PST
Eric Seidel (no email)
Comment 2 2013-02-26 11:31:00 PST
These should just be marked as slow. They complete fine for me on my linux machine.
Eric Seidel (no email)
Comment 3 2013-02-27 01:04:19 PST
I'm sure we could look at ways to improve the data: url harness for this test to not be so slow. But it's likely these tests will just be marked as "slow" for the forseeable future. What they test is extremely valuable. :)
Vsevolod Vlasov
Comment 4 2013-02-27 01:05:15 PST
Vsevolod Vlasov
Comment 5 2013-02-27 04:38:26 PST
Some of them still fail when marked as slow, some html5lib/ started failing when others were made slow. I am going to add more information in this bug.
Vsevolod Vlasov
Comment 6 2013-02-27 04:42:11 PST
These tests are timing out even when marked as slow: html5lib/generated/run-entities01-data.html html5lib/generated/run-template-data.html html5lib/generated/run-tests1-data.html html5lib/generated/run-tests10-data.html html5lib/generated/run-tests16-data.html html5lib/generated/run-tests19-data.html http://test-results.appspot.com/dashboards/flakiness_dashboard.html#tests=html5lib%2Fgenerated%2Frun-entities01-data.html%2Chtml5lib%2Fgenerated%2Frun-template-data.html%2Chtml5lib%2Fgenerated%2Frun-tests1-data.html%2Chtml5lib%2Fgenerated%2Frun-tests10-data.html%2Chtml5lib%2Fgenerated%2Frun-tests16-data.html%2Chtml5lib%2Fgenerated%2Frun-tests19-data.html
Vsevolod Vlasov
Comment 7 2013-02-27 04:42:25 PST
Vsevolod Vlasov
Comment 8 2013-02-27 04:51:32 PST
These are also failing: html5lib/generated/run-tests10-write.html html5lib/generated/run-tests16-write.html html5lib/generated/run-tests19-write.html http://test-results.appspot.com/dashboards/flakiness_dashboard.html#tests=html5lib%2Fgenerated%2Frun-tests10-write.html%2Chtml5lib%2Fgenerated%2Frun-tests16-write.html%2Chtml5lib%2Fgenerated%2Frun-tests19-write.html Updated expectations: http://trac.webkit.org/changeset/144172
Rafael Weinstein
Comment 9 2013-03-04 15:54:27 PST
Marked all html5lib/generated as crashing here: http://trac.webkit.org/changeset/144692 Note that I removed all the more specific expectations in this patch.
Eric Seidel (no email)
Comment 10 2013-03-04 16:52:44 PST
Profiling an individual test, you can see parts of WebCore working. But profiling all the tests in aggregate, seems to show all our time being spent in V8 creating the window object each time we call document.open(). :) + 6.69% DumpRenderTree [kernel.kallsyms] [k] 0xffffffff8103b51a + 4.09% DumpRenderTree DumpRenderTree [.] v8::internal::Scanner::ScanIdentifierOrKeyword() + 2.33% DumpRenderTree DumpRenderTree [.] v8::internal::Scanner::Scan() + 1.63% DumpRenderTree DumpRenderTree [.] v8::internal::Scanner::Next() + 1.54% DumpRenderTree DumpRenderTree [.] v8::internal::RelocIterator::next() + 1.48% DumpRenderTree DumpRenderTree [.] v8::internal::TemplateHashMapImpl<v8::internal::ZoneAllocationPolicy>::Lookup(void*, unsigne + 1.38% DumpRenderTree DumpRenderTree [.] v8::internal::DescriptorArray::Append(v8::internal::Descriptor*) + 1.33% DumpRenderTree DumpRenderTree [.] v8::internal::Parser::ParseBinaryExpression(int, bool, bool*) + 1.25% DumpRenderTree DumpRenderTree [.] v8::internal::Parser::ParseAssignmentExpression(bool, bool*) + 1.23% DumpRenderTree perf-16889.map [.] 0xf48aab3592e + 1.23% DumpRenderTree DumpRenderTree [.] v8::internal::SymbolTable::LookupOneByteSymbol(v8::internal::Vector<unsigned char const>, v8 + 1.17% DumpRenderTree DumpRenderTree [.] v8::internal::Zone::New(int) + 1.09% DumpRenderTree DumpRenderTree [.] v8::internal::Parser::ParsePrimaryExpression(bool*) + 1.04% DumpRenderTree DumpRenderTree [.] v8::internal::FlexibleBodyVisitor<v8::internal::MarkCompactMarkingVisitor, v8::internal::Fix + 0.99% DumpRenderTree [unknown] [.] 0xf48aaa5ecb2
Eric Seidel (no email)
Comment 11 2013-03-04 16:55:45 PST
I'm using bug 111384 to check the perf of these tests.
Eric Seidel (no email)
Comment 12 2013-03-04 17:21:12 PST
(In reply to comment #10) > Profiling an individual test, you can see parts of WebCore working. But profiling all the tests in aggregate, seems to show all our time being spent in V8 creating the window object each time we call document.open(). :) After further investigation, this V8 start-up time is dominant only in the data url versions of the tests.
Eric Seidel (no email)
Comment 13 2013-03-04 17:22:36 PST
But it is *so* dominant, that it pushes the top symbol from the write versions down to < 1% of total time. :) The write() versions only create/load 1 iframe (repeatedly calling open(), write(), end() on said iframe), the data versions set the same iframe to a different src=data: url for each subtest.
Eric Seidel (no email)
Comment 14 2013-03-04 17:23:20 PST
The crashes which rafael is seeing only seem to occur on mac/win. I'm not able to repro them on linux.
Eric Seidel (no email)
Comment 15 2013-03-05 02:48:02 PST
(In reply to comment #9) > Marked all html5lib/generated as crashing here: > > http://trac.webkit.org/changeset/144692 > > Note that I removed all the more specific expectations in this patch. Thanks. I think the crashes are likely some side-effect of the way we're timing out. Since we're only seeing these troubles on Debug, I am going to post a patch to Skip all of these tests on Debug until the V8 per-document boot time is faster.
Eric Seidel (no email)
Comment 16 2013-03-05 04:25:32 PST
Rafael Weinstein
Comment 17 2013-03-05 12:34:05 PST
lgtm
Eric Seidel (no email)
Comment 18 2013-03-05 12:34:59 PST
WebKit Review Bot
Comment 19 2013-03-05 13:16:19 PST
Comment on attachment 191465 [details] Patch Clearing flags on attachment: 191465 Committed r144807: <http://trac.webkit.org/changeset/144807>
WebKit Review Bot
Comment 20 2013-03-05 13:16:23 PST
All reviewed patches have been landed. Closing bug.
Alan Cutter
Comment 21 2013-03-10 21:58:40 PDT
The run-tests16-data.html test has been timing out on the Chromium Linux release build now. http://build.webkit.org/results/Chromium%20Linux%20Release%20(Tests)/r144809%20(45627)/results.html Should this test be marked as flaky in release as well given a V8 issue exists for it?
Eric Seidel (no email)
Comment 22 2013-03-10 22:30:01 PDT
(In reply to comment #21) > The run-tests16-data.html test has been timing out on the Chromium Linux release build now. > http://build.webkit.org/results/Chromium%20Linux%20Release%20(Tests)/r144809%20(45627)/results.html > > Should this test be marked as flaky in release as well given a V8 issue exists for it? That's unfortunate. Yes, I expect some of the data- tests with lots of subtests will hit the timeout.
Note You need to log in before you can comment on or make changes to this bug.