Freezing in content/hang in chrome when visiting Humble Bundle "Double Fine Presents"
Categories
(Core :: Graphics: WebRender, defect, P2)
Tracking
()
Tracking | Status | |
---|---|---|
firefox-esr60 | --- | unaffected |
firefox64 | --- | unaffected |
firefox65 | --- | unaffected |
firefox66 | --- | verified |
People
(Reporter: yoasif, Assigned: sotaro)
References
()
Details
(Keywords: nightly-community, regression)
Attachments
(1 file, 1 obsolete file)
3.93 MB,
video/webm
|
Details |
Visit https://www.humblebundle.com/games/double-fine-presents
What happens: Freezing of page, non-responsive chrome. Browser eventually freezes and OS asks to force quit.
See screencast.
12:29.47 INFO: No more inbound revisions, bisection finished.
12:29.47 INFO: Last good revision: fd6b8be34aed51a18d91261abeb586bbbf350e50
12:29.47 INFO: First bad revision: d1b5339852740fc2e559b66668204fc9202daf15
12:29.47 INFO: Pushlog:
https://hg.mozilla.org/integration/autoland/pushloghtml?fromchange=fd6b8be34aed51a18d91261abeb586bbbf350e50&tochange=d1b5339852740fc2e559b66668204fc9202daf15
Reporter | ||
Updated•5 years ago
|
Reporter | ||
Comment 1•5 years ago
|
||
Reporter | ||
Updated•5 years ago
|
Comment 2•5 years ago
|
||
Sotaro, might be related to the change in the pushlog above?
Updated•5 years ago
|
Updated•5 years ago
|
Assignee | ||
Comment 3•5 years ago
|
||
I confirmed the same regression range as in comment 0.
https://perfht.ml/2FASkl2 is a profile before freeze. Majority of time was spent in PrimitiveStore::update_visibility()
Visual Studio Concurrency Visualizer also showed high cpu usage in PrimitiveStore::update_visibility(). Somehow PrimitiveStore::update_visibility() took very very long time.
Assignee | ||
Comment 4•5 years ago
•
|
||
"for y in p0.y .. p1.y {}" in TileCache::update_prim_dependencies() actually took long time. Iteration was huge since world_rect was very large.
Then when picture caching was disabled, I did not saw the hang.
Assignee | ||
Comment 5•5 years ago
|
||
Frame size became too big, we need to add a size limit to nsDisplayTransform::ShouldPrerenderTransformedContent() for webrender.
Comment 6•5 years ago
|
||
Huh, this is very unexpected. That loop should in theory only cover a small amount of tiles, regardless of the size of the incoming content? I can take a look at this on Monday - thanks for looking into it so far!
Assignee | ||
Comment 7•5 years ago
|
||
Thanks!
Assignee | ||
Comment 8•5 years ago
|
||
Anyway, it seems necessary to limit frame size of async animation.
Assignee | ||
Comment 9•5 years ago
|
||
Comment 10•5 years ago
|
||
Sotaro, I opened https://bugzilla.mozilla.org/show_bug.cgi?id=1521329 which has a bug fix in picture caching for this problem. With the change, the picture caching code is not affected by the size of the primitive dimensions.
Assignee | ||
Comment 11•5 years ago
|
||
Thanks! I confirmed that the problem was addressed :)
Assignee | ||
Updated•5 years ago
|
Reporter | ||
Comment 12•5 years ago
|
||
This now works for me.
Updated•5 years ago
|
Updated•5 years ago
|
Comment 13•5 years ago
|
||
I have managed to reproduce the issue using Fx 66.0a1 buildID: 20190119215456 on Ubuntu 16.04 x64.
The issue is verified fixed using Fx66.0b13 on macOS 10.14, Windows 10 x64 and Ubuntu 16.04.
Please note that the bundle used for the bug submission was no longer available, so another bundle link was used to successfully reproduce the issue and confirm its fix. (here is the link of the bundle)
Description
•