As promised last time, this MemShrink report covers two weeks’ worth of activity.
Melbourne MemShrink Meet-up
This week Kyle Huey, Justin Lebar, Andrew McCreight, Jet Villegas flew to Melbourne to bunker down with me for a MemShrink work week. This is great for two reasons. First, it gives all of us an excuse/opportunity to ignore the usual myriad of attention-grabbing tasks and focus solely on MemShrink stuff for a week. (For example, Jet is the manager of the layout team but he’s managed to do a couple of days of coding!) Second, it lets us collaborate and pick each others’ brains much more easily and efficiently than normally.
The following add-ons had zombie compartments fixed.
- Yahoo! Toolbar. This is a very widely-installed add-on.
- McAfee SiteAdvisor. This add-on previously had a bad leak which was mostly fixed a few weeks ago. This update fixes the remaining leaks.
- Ant Video Downloader. This is the 40th most popular add-on on AMO, with over 500,000 users.
- Fastest Search.
I’ve said before that add-on leaks are the #1 cause of high memory consumption in Firefox. Numerous add-ons have had leaks fixed, but this is a slow process. However, Kyle has been making good progress this week on a patch that has the potential to mitigate the majority of add-on leaks that cause zombie compartments. It currently passes all tests on try server and is undergoing review. Watch this space!
Version 1.6 of the Add-on SDK was released, which fixed all remaining known leaks. Except that a new leak was found shortly before release! This was found too late to be fixed before the deadline for 1.6, but fortunately, it was quickly fixed in version 1.6.1. The Add-on SDK developers (especially Alexandre Poirot) have fixed a ton of leaks in the past few months, so it’s great to see this milestone reached.
Olli Pettay fixed a leak relating to event listeners.
Henrik Skupin released version 0.3 of the MemChaser add-on. It features improvements to the UI and the logging.
Jonathan Kew optimized the representation of font character maps. Depending on the platform, this can save around 1MB of memory, or more if you have lots of fonts installed.
Jared Wein landed an option for making plugin content click-to-play. This isn’t marked as a MemShrink bug but if a user can ignore such content, it has the potential to reduce memory consumption significantly in some cases.
Here are the current bug counts.
- P1: 22 (-1/+2)
- P2: 84 (-56/+3)
- P3: 100 (-8/+18)
- Unprioritized: 0 (-1/+0)
Lots of movement there. This is because we’ve been going through the P2 bugs and closed a lot of them because they were dups, or lacked enough information to do anything useful, or we decided they were no longer worthwhile. We also downgraded quite a few P2 bugs to P3. As a result, the P2 list is much more interesting than it was. And we’re only partway through it!
A new meeting schedule
I mentioned last time that I would be writing these reports every two weeks from now on, instead of weekly. Similarly, we’ve decided to reduce the frequency of MemShrink meetings to once every two weeks. The next meeting will be on May 1st.
This change does not reflect a reduction in the amount of work being done on MemShrink bugs. Rather, it reflects a reduction in the number of new MemShrink bugs being filed. At the past few meetings we’ve had only a handful of new bugs each time and triage has only taken a few minutes. (In comparison, in the early days of MemShrink, several times we didn’t get through all the new bugs in an hour.)
This leaves us lots of time for talking about other things; in fact, more time than we’ve needed. And time spent in meetings is time not spent fixing problems, so this feels like the right thing to do.