Closed Bug 1016264 Opened 8 years ago Closed 6 years ago

Memory leak on uk.weather.com over a few days

Categories

(Core :: General, defect)

29 Branch
x86_64
Windows 7
defect
Not set
normal

Tracking

()

RESOLVED INCOMPLETE

People

(Reporter: matthew.bugzilla, Unassigned)

References

Details

(Whiteboard: [MemShrink:P2])

Attachments

(2 files)

User Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:29.0) Gecko/20100101 Firefox/29.0 (Beta/Release)
Build ID: 20140506152807

Steps to reproduce:

Load http://uk.weather.com/weather/hourByHour-Edgware-UKXX0761
Wait a few days.


Actual results:

Memory usage gets very high (detailed report attached).


Expected results:

Memory usage should not get very high.
Attachment #8429146 - Attachment mime type: application/octet-stream → text/plain
Version: Trunk → 29 Branch
Whiteboard: [MemShrink]
Matthew, can you attach a full memory report? Before and after snapshots using about:memory's "Measure and save.." feature would be even better.
Flags: needinfo?(matthew.bugzilla)
I'd rather not attach a full memory report, for privacy. But if there are specific other parts of the report that would be useful, I could certainly extract and attach them.
(In reply to Matthew Kogan from comment #2)
> I'd rather not attach a full memory report, for privacy. But if there are
> specific other parts of the report that would be useful, I could certainly
> extract and attach them.

Fair enough, perhaps a copy of the the text of the full report (before and after), but with just the first level of children expanded, like so:

386.00 MB (100.0%) -- explicit
├──120.58 MB (31.24%) ++ window-objects
├──102.01 MB (26.43%) ++ js-non-window
├───44.89 MB (11.63%) ── heap-unclassified
├───30.65 MB (07.94%) ++ add-ons
├───25.01 MB (06.48%) ++ heap-overhead
├───14.91 MB (03.86%) ++ storage
├───12.70 MB (03.29%) ++ (15 tiny)
├───12.03 MB (03.12%) ++ layout
├────8.30 MB (02.15%) ++ workers/workers()
├────7.07 MB (01.83%) ++ images
├────3.92 MB (01.02%) ++ network
└────3.91 MB (01.01%) ── atom-tables

And then the full values for the "Other Measurements" section, with "event-counts" collapsed.
Flags: needinfo?(matthew.bugzilla)
Whiteboard: [MemShrink] → [MemShrink:P2]
This is the single thing that stands out:

├──587.82 MB (53.82%) ── unused-gc-things

That's fragmentation in the JS GC heap. This is good news in a way -- I've been investigating fragmentation of this sort in bug 989379 but haven't had any way to reproduce. With luck this site will provide it.
Depends on: 989379
I've had this site open in a browser for about 20 hours and "js-main-runtime/zones/unused-gc-things" has increased from 3.2 MiB to 5.4 MiB. The window holding the page is only taking up 17 MiB. I'll keep it running, but I'm currently a long way from a smoking gun.
After running for a couple more days "js-main-runtime/zones/unused-gc-things" is still only 5.8 MiB and the window holding the page is at 31 MiB:

│   ├──31.14 MB (19.04%) -- top(http://uk.weather.com/weather/hourByHour-Edgware-UKXX0761, id=8)
│   │  ├──26.20 MB (16.02%) -- active
│   │  │  ├──20.74 MB (12.68%) -- window(http://uk.weather.com/weather/hourByHour-Edgware-UKXX0761)
│   │  │  │  ├──10.80 MB (06.60%) -- js-compartment(http://uk.weather.com/weather/hourByHour-Edgware-UKXX0761)
│   │  │  │  │  ├───8.24 MB (05.04%) -- objects
│   │  │  │  │  │   ├──7.22 MB (04.42%) -- gc-heap
│   │  │  │  │  │   │  ├──6.07 MB (03.71%) ── ordinary
│   │  │  │  │  │   │  └──1.15 MB (00.70%) ++ (2 tiny)
│   │  │  │  │  │   └──1.01 MB (00.62%) ++ (2 tiny)
│   │  │  │  │  ├───1.88 MB (01.15%) ++ shapes
│   │  │  │  │  └───0.68 MB (00.42%) ++ (5 tiny)
│   │  │  │  ├───3.16 MB (01.93%) -- layout
│   │  │  │  │   ├──1.65 MB (01.01%) ── style-sets [7]
│   │  │  │  │   └──1.51 MB (00.92%) ++ (7 tiny)
│   │  │  │  ├───2.71 MB (01.66%) ++ (3 tiny)
│   │  │  │  ├───2.36 MB (01.45%) ++ js-compartment(http://uk.weather.com/weather/hourByHour-Edgware-UKXX0761, javascript:"<html><body%20style='background:transparent'></body></html>")
│   │  │  │  └───1.70 MB (01.04%) ── style-sheets [14]
│   │  │  └───5.47 MB (03.34%) ++ (9 tiny)
│   │  └───4.94 MB (03.02%) -- js-zone(0x7f1f003da000)
│   │      ├──2.87 MB (01.75%) ── unused-gc-things
│   │      └──2.08 MB (01.27%) ++ (7 tiny)

The [7] and [14] are interesting... they indicate that we have 7 or 14 windows/compartments with the same memory reporting paths, but most of them only have style data. I'm not sure what to make of that. But I get similar results when loading the page for the first time.
(In reply to Nicholas Nethercote [:njn] from comment #6)
> I've had this site open in a browser for about 20 hours and
> "js-main-runtime/zones/unused-gc-things" has increased from 3.2 MiB to 5.4
> MiB. The window holding the page is only taking up 17 MiB. I'll keep it
> running, but I'm currently a long way from a smoking gun.

That amount seems minor.

Matthew, can you still reproduce when using a current version?
Flags: needinfo?(matthew.bugzilla)
Summary: Memory leak on uk.weather.com → Memory leak on uk.weather.com over a few days
I haven't tried, but it seems unlikely; the website I referred to has changed completely since then. I'm happy for you to close this.
Flags: needinfo?(matthew.bugzilla)
thanks for the update
Status: UNCONFIRMED → RESOLVED
Closed: 6 years ago
Resolution: --- → INCOMPLETE
You need to log in before you can comment on or make changes to this bug.