New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 618180 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Closed: Jul 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Mac
Pri: 1
Type: Bug-Regression



Sign in to add a comment

Code search not responsive on page load

Project Member Reported by esprehn@chromium.org, Jun 8 2016

Issue description

Google Chrome	53.0.2761.2 (Official Build) canary (64-bit)
Revision	605ae590e7a3e805a4dda7e9487caeb06827c8aa-refs/branch-heads/2761@{#3}
OS	Mac OS X 
Blink	537.36 (@605ae590e7a3e805a4dda7e9487caeb06827c8aa)

What steps will reproduce the problem?
(1) Load https://cs.chromium.org/chromium/src/third_party/WebKit/Source/core/dom/Document.cpp?sq=package:chromium&dr=Ss&rcl=1465327106&l=3795
(2) Try to click around

I attached two traces, it looks like there's massive multi second layouts. Once the page is loaded select some text and try dragging around, it'll randomly freeze and become unresponsive again. Attached is a trace of this too. I see tons of event handler slices and massive layouts.

This is a regression.
 
trace_codesearch.json.gz
1023 KB Download
trace_codesearch (1).json.gz
1.5 MB Download
trace_dragging-selection.json.gz
2.4 MB Download

Comment 1 by e...@chromium.org, Jun 9 2016

Labels: Needs-Feedback
I fail to reproduce this on either stable or ToT on OS X. I don't see any abnormally long layouts either when loading the page or when "clicking around".

You say this is a regression, any idea when it started? 
Components: -Blink>Input Blink>Input>HitTesting
The massive layout in the trace is probably triggered by hit-testing. 
I can see this issue on M53 but not on M51 so it is a regression.

I have also attached  a devtools capture showing a 1.5 second layout during
scroll update. Some layout expert should take a look perhaps.
TimelineRawData-20160609T133030.zip
13.6 MB Download
Screen Shot 2016-06-09 at 1.31.26 PM.png
301 KB View Download
Labels: ReleaseBlock-Stable M-53
I'm still seeing this in Canary on OS X, codesearch is unusable, it locks up constantly.
I just build Content Shell locally on OS X, the page locks up and doesn't respond, and as you scroll or try to select text it keeps locking up again.

https://cs.chromium.org/chromium/src/third_party/WebKit/Source/core/dom/Document.cpp?sq=package:chromium&rcl=1465802517&l=5391

I loaded in Canary and Chrome gave the "Tab not responding" dialog.
Labels: -Needs-Feedback
Page loads fast in 51.0.2704.84, so this is a regression.

Comment 7 by e...@chromium.org, Jun 17 2016

Labels: Needs-Feedback
Could you please outline the steps needed to reproduce this?
No matter what I select, click or drag I cannot get either 52 or 53 to become unresponsive or trigger layouts longer than ~200 ms during load or ~50ms once loaded. 
I just load the page, and then I try to click a link or select text, the whole page seems to become frozen for several seconds.
Labels: OS-Mac
Please add OS labels release blockers.
Cc: dtapu...@chromium.org
Components: -Blink>Input>HitTesting
Labels: -Type-Bug Type-Bug-Regression
The traces clearly indicate that layout is slow; so I'm removing the Blink>Input>HitTesting label since it does seem the issue is solely in the layout camp. I've CC'd myself as I think this issue needs to be addressed soon.
Owner: cbiesin...@chromium.org
Status: Assigned (was: Untriaged)
I just did a local build and I see several multi second layouts, a profile in Instruments says:

Running Time	Self (ms)		Symbol Name
76074.0ms   83.3%	0.0	 	 blink::LayoutFlexibleBox::computeNextFlexLine(WTF::Vector<blink::LayoutBox*, 0ul, WTF::PartitionAllocator>&, blink::LayoutUnit&, double&, double&, double&, blink::LayoutUnit&, bool)

When loading https://cs.chromium.org/chromium/src/third_party/WebKit/Source/core/dom/Document.cpp?sq=package:chromium&dr=C&rcl=1466695104&l=3878

then select some text around the highlighted line and drag your mouse up and down to rapidly select more text and unselect text. Then try scrolling. You'll see huge hangs around page load.

Is this a flexbox bug?
huge-layouts.png
149 KB View Download
Oh hmm, that could be related to  bug 621644 ? That one is now fixed, so
maybe this will be better now too.

Comment 13 by ajha@chromium.org, Jul 4 2016

esprehn@: Can we get an update on this issue as per C#12.
OK, I ran a profile on trunk (plus https://codereview.chromium.org/2056043002/)

Now, 59% of the time is spent in Javascript code. 23% is spent in Flexbox layout, largely in the flex items' layoutIfNeeded. Only 4% is now spent in computeNextFlexLine.


Cc: dsansome@chromium.org
 Issue 619883  has been merged into this issue.
I'll check my macbook tonight, this doesn't seem to lockup for several seconds on my desktop MacPro now though.
esprehn@ : Gentle ping..! Could you please update further on this.
Looks fixed to me!
Status: Fixed (was: Assigned)
OK, so it seems this was fixed by some combination of  bug 621644  and  bug 617792 

All of the fixes are in 53, but only some were merged to 52.

Sign in to add a comment