The AMO add-on review checklist was amended a couple of weeks ago to include checks for zombie compartments. This change is bearing fruit: Andreas Wagner and Kris Maglione have found more than 10 submitted add-ons that have leaks. See here, here, here, here, here. With the experience they are gaining, we should be able to greatly improve the documentation on common causes of leaks.
Andrew Sutherland wrote a extension called about:nosy which is like about:memory on steroids. It’s oriented around hiding many of the details and instead assigning blame for memory allocations to particular tabs (and similar things). It also features graphs showing how the memory consumption of each tracked entity changes over time; this latter feature is quite memory and CPU-intensive, however. If you are running a recent Nightly build of Firefox, download about:nosy here and you won’t even have to restart Firefox to see it, just type “about:nosy” into the address bar.
Forthcoming changes will make about:memory more like about:nosy, by measuring more things on a per-tab basis. And for a long time I have had a vague plan that one day someone who knows about UX will write a user-friendly alternative to about:memory that focuses just on per-tab memory consumption, and about:nosy is a good indicator of what that might look like.
Saptarshi Guha from the metrics team did an analysis of the physical memory consumption of Firefox 10, 11 and 12, based on telemetry data. The post is heavy going for those who aren’t experts at statistics and R, but the two main conclusions of interest are (a) that add-ons significantly increase resident memory consumption, and (b) Firefox 12 is consuming more resident memory than Firefox 11. This latter fact matches something we’d seen in today’s MemShrink meeting when looking at data from John Schoenick’s in-development version of areweslimyet.com — something in early January caused a significant memory consumption regression. John is working on narrowing down which change caused this.
Gian-Carlo Pascutto overhauled the safe browsing implementation. I don’t claim to understand this change at all, but I think it reduces memory consumption when the database is updated. Better explanations from those who understand this change are welcome!
Here are this week’s bug counts.
- P1: 22 (-0/+0)
- P2: 134 (-4/+8)
- P3: 75 (-3/+4)
- Unprioritized: 2 (-2/+1)