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

Issue 607247 link

Starred by 2 users

Issue metadata

Status: WontFix
Owner:
Last visit > 30 days ago
Closed: Jun 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 1
Type: Bug-Regression
M50



Sign in to add a comment

setInnerHTML very slow in m50 for Google Keep

Project Member Reported by schenney@chromium.org, Apr 27 2016

Issue description

Version: m50
OS: Linux (at least)

What steps will reproduce the problem?
(1) Open Google Keep
(2) Enter a very long note with html content. I just used "Text with https://crbug.com" repeated about 50 times.
(3) Click on done and wait for something to happen

What is the expected output?
Something happens fast

What do you see instead?
In m50, but not m49 or m51, it takes a very long time to setInnerHtml the formatted text.

The Keep team may be able to get us a smaller reproduction case. But it seems whatever is was has been fixed for m51, and maybe needs to be merged back in to m50.

 
Cc: joguntebi@google.com
I'm with Keep team. I tried to create a repro case in JSFiddle, but the problem was only reproducing for me in the JS console in the Keep tab. Perhaps related to how many resources are available in the tab? Still looking into it. Thanks. I'll reopen as necessary
Oh -- looks like I can't close it on my own.
Components: Blink>Compositing
Labels: Needs-Bisect Needs-Feedback
Owner: dominicc@chromium.org
Status: Available (was: Untriaged)
I could reproduce this on Linux 50.0.2661.86 (Official Build) (64-bit). I don't see innerHTML lighting up in traces though; it appears the main thread is spending that time in Keep JavaScript. However there's something weird going on, the compositor and browser are very busy animating and painting something, despite nothing really happening on screen.

Could you provide a trace or show me what points to innerHTML? Do you have any non-obfuscated debug frontends up somewhere I could poke at?

From our side we could try bisecting this to find the regression and progression.
if on corp network or vpn, url param jsmode=du will server unobfuscated JS.
keep.google.com?jsmode=du

Comment 6 by ajha@chromium.org, May 2 2016

Cc: ajha@chromium.org
If possible, could anyone attach any reproduction case or jsfiddle to try a repro and reverse bisect to find the CL that fixed this issue in M-51.

Cc: hayato@chromium.org yosin@chromium.org xiaoche...@chromium.org
I took a look at this with the unobfuscated code in 50.0.2661.94 (Official Build) (64-bit) Linux.

Pasting ~20 copies of this bug text hangs the renderer for ~1.5s doing layout that seem to be triggered by the spell checker.

Then theres ~14s thunking through something that's proxying event dispatching. Is there something going on in Keep with event handlers?

I don't see innerHTML setting showing up on this trace.

Comment 8 by ajha@chromium.org, May 10 2016

I was unable to reproduce this on Linux Ubuntu 14.04 on the latest stable(50.0.2661.94). Didn't observe any slowness or lag on saving the Note as per C#0 and on the URL: keep.google.com?jsmode=du

Could anyone review the screen-cast and confirm if anything being missed here & if the issue is seen on Ubuntu at all. 
607247.mp4
9.3 MB Download
Cc: kavvaru@chromium.org tkonch...@chromium.org
 Issue 612058  has been merged into this issue.

Comment 10 by ajha@chromium.org, May 26 2016

Labels: -Needs-Bisect
Stable is rolling out to 51.0.2704.63 and as per C#0 Issue is M-50 specific.

schenney@: Could you please confirm if we can close this.
Cc: chrishtr@chromium.org
Components: -Blink>Compositing
Dominic does this bug need to get sent to the layout team?
I think now that m51 has shipped to stable we can ignore this - the bug didn't repro there. Furthermore, the Keep team has made changes to mitigate the problem which has had beneficial performance results regardless. So now it will be hard to debug and fix.

I also suspect that this is the same issue that is hitting gmail very hard related to Range objects and GC, since the reproduction actions are quite similar (putting in lots of text that requires formatting in some form).

I vote for WontFix at this time.
WontFix is okay with us (Keep Team)
Status: WontFix (was: Available)
Labels: -Hotlist-GoogleApps Hotlist-Partner-GSuite

Sign in to add a comment