Open Bug 1446181 Opened 2 years ago Updated 8 months ago

Investigate whether or not APZ subprotocols are being leaked


(Core :: Panning and Zooming, enhancement, P3)






(Reporter: kats, Assigned: kats)


(Depends on 1 open bug)


(Keywords: perf, Whiteboard: [gfx-noted])


(1 file)

According to, all subprotocols should have Send__delete__() called on them to delete them. However I don't think we're doing this for our APZ protocols such as PAPZCTreeManager and PAPZ. So in theory we might be leaking stuff. We should investigate and make sure we're cleaning up properly.
Priority: -- → P3
Whiteboard: [gfx-noted]
I added a printf to the APZCTreeManagerParent constructor and destructor, and it looks like we create an APZCTreeManagerParent for each tab, as expected, and they only get destroyed when the *process* they're attached to terminates. So if you happen to close the last tab in a process a bunch of them get freed. If you run with dom.ipc.processCount=1 then none of them get freed until shutdown. So yeah, this seems like a leak we should fix. I haven't checked PAPZ yet.
Comment on attachment 8990778 [details]
Bug 1446181 - Send __delete__ messages when destroying APZCTreeManagerChild instances.
Attachment #8990778 - Flags: review?(rhunt) → review+
Pushed by
Send __delete__ messages when destroying APZCTreeManagerChild instances. r=rhunt
Closed: Last year
Resolution: --- → FIXED
Target Milestone: --- → mozilla63
Depends on: 1475039
I'm going to back this out until I have time to fully investigate the crashes this introduced (bug 1475039). I took a quick look but I didn't see anything obvious, so this will take some debugging. In the meantime, transient leaks are better than crashes.
Resolution: FIXED → ---
Backout by
Back out cset 5b8041f7f604 for introducing a low-volume crash. r=me
Target Milestone: mozilla63 → ---
You need to log in before you can comment on or make changes to this bug.