David Baron's weblog: May 2006

Friends & Colleagues

Saturday 2006-05-06

A new Mozilla leak debugging tool (11:46 -0700)

I've written a Firefox extension called Leak Monitor that pops up an alert dialog to warn chrome and extension developers about one particular type of leak. It warns when chrome windows close but leave native code pointing at their JavaScript objects. This typically happens for things like observers, timer callbacks, and (in Firefox 1.5 and earlier) event listeners, and is one of the most common causes of leaks in chrome and extension code. The alert shows some information about the objects that leaked (properties of objects, plus file/line for functions, which could be the object itself or properties on it). More details on its homepage, or just download it from addons.mozilla.org. It may also warn for Web pages (which is always a bug in Mozilla); see what I wrote on the extension's homepage about that.

(It occurred to me after posting the extension that there's no reason that it shouldn't work with Thunderbird other than that I didn't say so in the manifest; I'll try to post a version that works with Thunderbird shortly, assuming it works.)

I'm interested in some level of feedback, although I don't have much time in the next few weeks to process it. But check the feedback I've already gotten first.

There are some other leak monitoring features that I'd like to add eventually, although maybe small pieces are better than big ones. mconnor also suggested that it might be easier for developers like him if this were part of the tree; if others agree, then I may pursue that.