Closed Bug 1103068 Opened 5 years ago Closed 5 years ago

Child process leaks held alive by nsXPCWrappedJS (nsIWebProgressListener)

Categories

(Firefox :: Tabbed Browser, defect)

defect
Not set
Points:
1

Tracking

()

RESOLVED FIXED
Firefox 36
Iteration:
37.1
Tracking Status
e10s ? ---

People

(Reporter: mccr8, Assigned: ttaubert)

References

Details

(Keywords: memory-leak, Whiteboard: [MemShrink])

Attachments

(1 file)

This is a regression from bug 1099490.  A bunch of docshell-y and JS stuff is being held alive by a JS implementation of nsIWebProgressListener.

Just looking at the patch, it looks like there is a new call to addProgressListener() without a corresponding removeProgressListener().  Could that be the problem?  I'll try digging into this further.
tracking-e10s: --- → ?
Flags: needinfo?(ttaubert)
That's probably because nsBrowserStatusFilter doesn't take a weak reference, unlike the nsDocLoader when calling addProgressListener().
Flags: needinfo?(ttaubert)
Andew, can you try this please?
Assignee: nobody → ttaubert
Status: NEW → ASSIGNED
Attachment #8527286 - Flags: feedback?(continuation)
Andrew. Sorry for the typo :/
Comment on attachment 8527286 [details] [diff] [review]
0001-Bug-1103068-Stop-leaking-due-to-a-strong-reference-h.patch

This fixes the leak for me, thanks!

Sorry, I meant to include a way to reproduce the leak easily.  You can just do:
  ./mach mochitest-plain --e10s dom/xbl/test/
Attachment #8527286 - Flags: feedback?(continuation) → feedback+
Attachment #8527286 - Flags: review?(wmccloskey)
Comment on attachment 8527286 [details] [diff] [review]
0001-Bug-1103068-Stop-leaking-due-to-a-strong-reference-h.patch

Review of attachment 8527286 [details] [diff] [review]:
-----------------------------------------------------------------

Could we also remove _filter from the docshell? It's nice to do even if it's not necessary.
Attachment #8527286 - Flags: review?(wmccloskey) → review+
(In reply to Bill McCloskey (:billm) from comment #5)
> Could we also remove _filter from the docshell? It's nice to do even if it's
> not necessary.

Sure!
Iteration: --- → 36.3
Points: --- → 1
Flags: qe-verify-
Flags: firefox-backlog+
Iteration: 36.3 → 37.1
https://hg.mozilla.org/mozilla-central/rev/101073587164
Status: ASSIGNED → RESOLVED
Closed: 5 years ago
Resolution: --- → FIXED
Target Milestone: --- → Firefox 36
You need to log in before you can comment on or make changes to this bug.