Bug 54570
| Summary: | Webkit hangs infinitely on lots of table rows (firefox is fine) | ||
|---|---|---|---|
| Product: | WebKit | Reporter: | Silvio <silvio.ventres> |
| Component: | WebCore Misc. | Assignee: | Nobody <webkit-unassigned> |
| Status: | RESOLVED WORKSFORME | ||
| Severity: | Critical | CC: | kling |
| Priority: | P2 | ||
| Version: | 528+ (Nightly build) | ||
| Hardware: | Mac (Intel) | ||
| OS: | OS X 10.6 | ||
| URL: | http://code.google.com/p/namebench/source/browse/trunk/data/alexa-top-2000-domains.txt?spec=svn854&r=854 | ||
Silvio
Go to the page, wait a bit and behold webkit hanging almost forever.
Instruments show HTMLTableRowsCollection::rowAfter as the function being called 78.5% of time, with the following tree of symbols shown:
78.5% WebCore::HTMLTableRowsCollection::rowAfter(..)
71.7% WebCore::HTMLCollection::calcLength()
71.7% WebCore::HTMLCollection::length()
splits into two:
38.7% WebCore::jsHTMLCollectionLength()
38.7% JSC::JSValue::get(..)
and:
33.0% WebCore::JSHTMLCollection::getOwnPropertySlot(..)
32.9% cti_op_get_by_val
Firefox 4beta9+ doesn't hang, taking about 20 seconds to render the page and takes 0% CPU time.
| Attachments | ||
|---|---|---|
| Add attachment proposed patch, testcase, etc. |
Andreas Kling
I instrumented the page now and we spend a total of 7ms below HTMLCollection::length(), so it appears this issue has been resolved. :)
Feel free to reopen the bug if you're still seeing the problem.