Weather Underground page rapidly uses a lot of JS memory
Categories
(Core :: JavaScript Engine, defect)
Tracking
()
People
(Reporter: yoasif, Assigned: sfink)
References
()
Details
(Whiteboard: [MemShrink:P1])
Attachments
(1 file)
111.43 KB,
application/x-gzip
|
Details |
From https://www.reddit.com/r/firefox/comments/f2m5yn/firefox_73_resource_leak_when_viewing/
Steps to reproduce:
What happens:
Memory balloons.
Expected result:
This page shouldn't use a lot of memory.
User reports that:
It wasn't a problem in version 72 but now it is in release 73 on Windows 10 Pro 1909 64bit.
but using mozregression, I seemed to reproduce the issue in 72 as well. Another user was able to reproduce on 71 as well.
Memory report attached.
Reporter | ||
Updated•5 years ago
|
Reporter | ||
Comment 1•5 years ago
|
||
Reportedly:
The web console is filled with errors like:
ERROR InternalError: "too much recursion"
T https://www.wunderground.com/bundle-next/polyfills-es2015.9278bdf64167dceb7056.js:1
P https://www.wunderground.com/bundle-next/polyfills-es2015.9278bdf64167dceb7056.js:1
D https://www.wunderground.com/bundle-next/polyfills-es2015.9278bdf64167dceb7056.js:1
then https://www.wunderground.com/bundle-next/polyfills-es2015.9278bdf64167dceb7056.js:1
<anonymous> https://www.wunderground.com/api/v1/script/dprSdkScript.js:1
then https://www.wunderground.com/bundle-next/polyfills-es2015.9278bdf64167dceb7056.js:1
<anonymous> https://www.wunderground.com/api/v1/script/dprSdkScript.js:1
then https://www.wunderground.com/bundle-next/polyfills-es2015.9278bdf64167dceb7056.js:1
<anonymous> https://www.wunderground.com/api/v1/script/dprSdkScript.js:1
then https://www.wunderground.com/bundle-next/polyfills-es2015.9278bdf64167dceb7056.js:1
<anonymous> https://www.wunderground.com/api/v1/script/dprSdkScript.js:1
main-es2015.c71604645cce05a423f6.js:1:114958
Updated•5 years ago
|
The memory usage is all JS, mostly classes, including more weak maps than I've ever seen in a report before.
│ │ │ ├──4,197.87 MB (91.43%) -- window(https://www.wunderground.com/weather/us/ny/manhattan/40.75,-74.00)
│ │ │ │ ├──4,187.76 MB (91.21%) -- js-realm(https://www.wunderground.com/weather/us/ny/manhattan/40.75,-74.00)
│ │ │ │ │ ├──4,173.67 MB (90.90%) -- classes
│ │ │ │ │ │ ├──1,112.43 MB (24.23%) ++ class(Call)/objects
│ │ │ │ │ │ ├──1,110.35 MB (24.18%) ++ class(Object)/objects
│ │ │ │ │ │ ├────908.20 MB (19.78%) ++ class(Function)/objects
│ │ │ │ │ │ ├────880.65 MB (19.18%) ++ class(Array)/objects
│ │ │ │ │ │ ├────160.01 MB (03.49%) ++ class(WeakMap)/objects
Steve, could this be related to some of the other weak map stuff on file?
Updated•5 years ago
|
Assignee | ||
Comment 3•5 years ago
|
||
I tried reproducing it, but wasn't sure how long I had to wait. When I measured after a minute or so, it was at 4GB and spewing out of memory errors... I'd say I can reproduce! (4GB in the content process, same pattern that mccr8 showed.)
Comment 4•5 years ago
|
||
Interestingly, this issue does not appear if I enable Enhanced Tracking Protection and/or uBlock Origin. This suggests that the scripts in question are tracking or ad scripts which are caught by the aforementioned tools.
Assignee | ||
Comment 5•5 years ago
|
||
I can also reproduce in 72.0.2. I cannot reproduce in Chrome, fwiw.
When I try to dump the CC/GC graph, it produces a couple of log files but always has two files still named "incomplete-{gc,cc}*". Usually they're zero-length, once I got a bunch of (incomplete) data in the 3.3GB GC log.
I'm having trouble getting a small enough log to analyze.
I cannot reproduce this currently with Firefox 73.0 in a clean profile on Ubuntu 19.10, even with Enhanced Tracking Protection disabled. There are no "too much recursion" errors in the web console and no memory growth.
Updated•3 years ago
|
Updated•2 years ago
|
Description
•