Open Bug 1496514 Opened 6 years ago Updated 2 years ago

Long stalls (10-15 seconds) while paging down on load of very large Google doc

Categories

(Core :: JavaScript Engine, defect, P2)

x86_64
macOS
defect

Tracking

()

Performance Impact medium
Tracking Status
firefox64 --- fix-optional
firefox65 --- fix-optional

People

(Reporter: acreskey, Unassigned)

References

Details

A long stall, generally 10-15 seconds of duration, can be observed when paging down multiple times as the content is loaded on a very large Google doc.

The test document is the same as in bug 1488435
https://docs.google.com/document/d/1CwPnZ7NnzzIt_UjqhaESbgWyI8VRDDzUQA_le9qaeG0/edit#

Steps to reproduce:
Start loading the above Google doc.
When the vertical scrollbar shows that more content is available, hit the page down key between 6 and 10 times. At some point the application will stop responding. 
The application will be frozen until the entire document is loaded.

Here is a capture with a 13-second stall:
https://perfht.ml/2PbjXST

If the page down key is held during load, even longer stalls can result.
e.g. 33 seconds
https://perfht.ml/2zOU0mU

Testing this on Chrome 69 and I see a similar stall (same steps). This stall also resolves once the entire document is loaded.
I hand-measured this at between 6 and 7 seconds.

Tested on
MacBook Pro (2017)
3.1 GHz Intel Core i7
One issue bas found related to this is the excessive number of Ion IC fallback stubs that get hit in gdocs.  I'm seeing upwards of 5 million hits for loading a large page, and 1 million fallback stub hits for a sequence of keypresses (6 keypresses, indicating that we're hitting fallback stubs more than 160,000 times per keypress).

I'm in the process of characterizing all of these fallback hits.  Some good chunk of them are in sparse arrays, but I want a fuller understanding of what these ICs are which are performing poorly.
QA Contact: past
Whiteboard: qf → [qf]
QA Contact: past
Component: Untriaged → JavaScript Engine
Product: Firefox → Core
I could reproduce this issue on 

User Agent 	Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:62.0) Gecko/20100101 Firefox/62.0
Whiteboard: [qf] → [qf:p1:f67]
Priority: -- → P1
Blocks: 1465980
No longer blocks: 1465980
Whiteboard: [qf:p1:f67] → [qf:p1]
Priority: P1 → P2
Whiteboard: [qf:p1] → [qf:p2]
Performance Impact: --- → P2
Whiteboard: [qf:p2]
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.