Closed Bug 881967 Opened 11 years ago Closed 11 years ago

[code quality] Fix event listener leaks

Categories

(Marketplace Graveyard :: Consumer Pages, defect)

x86
macOS
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED
2013-06-20

People

(Reporter: basta, Assigned: basta)

Details

(Keywords: perf, Whiteboard: [qa-])

Event listeners are getting leaked left and right. Some page loads can add as many as 20 event listeners to the DOM which don't get cleaned up on navigation.

It's likely that element references are being cached by jQuery or getting somehow stored in the global scope. When the detached DOM nodes don't get GCed, their event listeners don't get GCed. This causes a buildup over time, slowing performance and ballooning the memory footprint.

On desktop, the memory footprint can expand past the 1GB mark if you browse around long enough, mostly because events aren't getting GCed, which means that closures aren't getting GCed, which means that compiled code isn't getting GCed.
Keywords: perf
This was mostly finished here:

https://github.com/mozilla/fireplace/commit/b1ec58e3b714c6487583cdeab8ce4cff9d616a60

There are still some rough edges in reviews, but they aren't huge perf hits.
Assignee: nobody → mattbasta
Status: NEW → RESOLVED
Closed: 11 years ago
Resolution: --- → FIXED
Target Milestone: --- → 2013-06-20
Can you please add some STRs or mark this bug as [qa-] ?
Whiteboard: [qa-]
You need to log in before you can comment on or make changes to this bug.