[Webkit-unassigned] [Bug 76003] REGRESSION (r104210): WebProcess spins at 100% CPU for several minutes when loading an internal Apple site

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Tue Jan 10 20:58:40 PST 2012


https://bugs.webkit.org/show_bug.cgi?id=76003





--- Comment #6 from Oliver Hunt <oliver at apple.com>  2012-01-10 20:58:39 PST ---
(In reply to comment #2)
> (In reply to comment #0)
> > After r104210 we're seeing WebProcess spin at 100% CPU for several minutes after loading pages on an internal Apple site. A sample shows that almost all of the time is being spent in DynamicSubtreeNodeList::length below calls to WebCore::JSNodeList::getOwnPropertySlotByIndex.  I'll attach a reduction that demonstrates the regression.
> 
> According to my research people rarely modified DOM while hanging onto node list. This regression is the most pathological case where you're looping over node list and modifying DOM.
> 
> I suppose such code wasn't as unusual as I initially thought but you can get the same hang even before r104210 if you had modified the class name of any element inside the loop; e.g. element.className = 'hide';

To me it seems like a fairly obvious pattern to get a nodelist and then iterate over that list modifying attributes.  This seems like a fairly significant reason for them to exist at all.

-- 
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.



More information about the webkit-unassigned mailing list