I’ve been on vacation for two weeks, so this report covers the past four weeks. I still have a mountain of unread emails, bug reports and blog posts to get through, but hopefully I haven’t missed much.
I wrote about Firefox 15 and how it contains the “Hueyfix” that prevents most memory leaks caused by add-ons. It got lots of attention.
Relatedly, a regression caused by the Hueyfix was discovered: it caused some Greasemonkey scripts to leak badly, such as “YousableTubeFix” and “Textarea backup with expiry”. A change was made to Firefox to allow this to be prevented (which has been backported to Firefox 15 Beta), and Greasemonkey 0.9.22 should fix the problem, although that hasn’t yet been confirmed. If you have had problems with Firefox 15 and you are using Greasemonkey, this is a likely cause. I’m not aware of any other regressions caused by the Hueyfix.
Also relatedly, Gabor Krizsanits made a change inspired by the Hueyfix that cuts references to sandboxes once they should no longer be used. This prevents a whole class of possible leaks in add-ons using the Add-on SDK.
Gregor Wagner tweaked the JS engine’s garbage collection heuristics to greatly reduce the peak memory consumption in certain cases. Gregor previously tweaked the GC heuristics in Firefox 7 with great success.
Tim Taubert fixed a leak caused by opening and closing the bookmarks sidebar. This was a precursor to a more important change from Tim, which adds automated checking of the cycle collection logs to check for leaks during testing. This should allow a whole class of memory leaks to be detected automatically, thus preventing regressions.
Benoit Jacob made a change that prevents the number of WebGL contexts growing excessively. This can greatly improve memory consumption on certain sites that use WebGL.
Nick Cameron fixed a problem that caused huge memory consumption (multiple GB) on pages using canvas in conjunction with certain Intel graphics cards and/or drivers. I don’t understand the details, but it sounds like some cards and/or drivers might still have problems.
Here are the current bug counts.
- P1: 23 (-0/+3)
- P2: 89 (-9/+8)
- P3: 105 (-2/+5)
- Unprioritized: 1 (-2/+1)
Nothing spectacular there.