This week was quiet in terms of patches landed.
- Marco Bonardo changed the way the places.sqlite database is handled. I’m reluctant to describe the change in much detail because I’ll probably get something wrong, and Marco told me he’s planning to write a blog post about it soon. So I’ll just quote from the bug: “Globally on my system (8GBs) I’ve often seen places.sqlite cache going over 100MB, with the patch I plan to force a maximum of 60MB (remember this will vary based on hardware specs), that is a >40% improvement. We may further reduce in future but better being on the safe side for now.” This was a MemShrink:P1 bug.
- New contributor Sander van Veen knocked off another bug (with help from his friend Bas Weelinck) when he added more detail to the “mjit-code” entries in about:memory. This makes it clear how much of JaegerMonkey’s code memory usage is for normal methods vs. memory for compiled regular expressions.
- I rearranged nsCSSCompressedDataBlock to avoid some unnecessary padding on 64-bit platforms. This can save a megabyte or two if you have several CSS-heavy (e.g. Gmail) tabs open. It makes no difference on 32-bit platforms.
But it was a very busy week in terms of bug activity. Let’s look at the numbers.
- P1: 29 (-2, +2)
- P2: 76 (-10, +20)
- P3: 38 (-1, +2)
- Unprioritized: 22 (-5, +23)
Several things happened here.
- Marco Castelluccio looked through old bugs and found a lot (30 or more) that were related to memory usage and tagged them with “MemShrink”.
- Nine new bugs were filed to reduce about:memory’s “heap-unclassified” number by adding memory reporters; many of these were thanks to Boris Zbarsky’s insights into the output produced by DMD.
- I closed out a number of bugs that were incomplete, stale, or finished; this included some of those newly marked by Marco, and some ones that were already tagged with “MemShrink”.
- I tagged five leaks that were found with the cppcheck static analysis tool.
We spent the entire MemShrink meeting today triaging unprioritized bugs and we got through 23 of them. Of the remaining unprioritized bugs, the older ones tagged by Marco and the cppcheck ones (which I tagged after the meeting) constitute most of them.
It’s clear that the rate of problem/improvement identification is outstripping the rate of fixes. We have a standing agenda item in MemShrink meetings to go through Steve Fink’s ideas list, but we haven’t touched it in the past two meetings because we’ve spent the entire time on triage. And when we do go through that list, it will only result in more bugs being filed. I’m hoping that this glut of MemShrink-tagged bugs is temporary and the new bug rate will slow again in the coming weeks.
In the meantime, if you want to help, please look through the lists of open bugs, or contact me if you aren’t sure where to start, and I’ll do my best to find something you can work on. Thanks!