Closed Bug 1064587 Opened 8 years ago Closed 8 years ago

Cycle collect nsFormFillController

Categories

(Toolkit :: Find Toolbar, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla35

People

(Reporter: mccr8, Assigned: mccr8)

References

Details

Attachments

(1 file)

e10s M5 is leaking 10 TabChildren (along with nsDocShell, etc.), plus some other stuff.

I can reproduce this locally with the slightly smaller:
  ./mach mochitest-plain --e10s --total-chunks 10 --this-chunk 10

These TabChildren are all being rooted by various |nsXPCWrappedJS (nsIAutoCompletePopup)|.  The only C++ things I can see that hold onto that are fields of nsFormFillController, which is exposed to JS, so I could certainly imagine cycles involving it.  I'll try CCing it.
What is keeping nsFormFillController alive?
Hmm, it is hard to tell just from the allocation stacks, because everything is just generic XPCOM stacks.  Some other XPCOM service it looks like?
Locally, this fixes the leaks in the test case in comment 0 (partial M5 e10s run).  I'll see what happens in an M5 e10s run.
Comment on attachment 8486122 [details] [diff] [review]
Cycle collect nsFormFillController.

Just a generic cycle collection patch, so I think it is reasonable for smaug to review it.

try run: https://tbpl.mozilla.org/?tree=Try&rev=9156076fd279
Attachment #8486122 - Flags: review?(bugs)
There's a bunch of weak pointers that get cleared using mutation observers that I suppose could be turned into strong pointers now, but I just left it alone.
Summary: nsXPCWrappedJS (nsIAutoCompletePopup) keeping alive TabChildren in M5 e10s → Cycle collect nsFormFillController
Attachment #8486122 - Flags: review?(bugs) → review+
Keywords: checkin-needed
https://hg.mozilla.org/mozilla-central/rev/badb065c77ac
Status: NEW → RESOLVED
Closed: 8 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla35
You need to log in before you can comment on or make changes to this bug.