Open Bug 1715090 Opened 3 years ago Updated 7 months ago

Make large LeakSanitizer leaks more classifiable

Categories

(Testing :: General, task, P3)

Default
task

Tracking

(Not tracked)

People

(Reporter: mccr8, Unassigned)

References

(Blocks 2 open bugs)

Details

We need something similar to bug 1637734 for LeakSanitizer. LSan outputs one failure line for each leaking stack, in essentially arbitrary order. This is fine when we're only leaking a few things, but if you leak a web page, then the list of stacks becomes uselessly large, and we end up with some random classes at the start, which can cause new bugs to be filed when a class name changes, or the wrong area of the code being blamed.

For instance, bug 1715006 and bug 1715005 are probably the same big leak in WebRTC code, and are probably the same as some preexisting leak.

For leakcheck, it is easy to tell if we are leaking windows and documents, but it is less obvious for LSan. Maybe it would be possible to analyze the stacks for look for them, but it would already be a good improvement to turn all LSan failures above some threshold of number of different leak stacks into something like "big leak".

The "big leak" line could include the total size of the leak, which is in the LSan summary.

revisiting this- is there a desire to make leaksanitizer output have a big leak version as we do for leakcheck? Recently we added sorting the frames (the lines) alphabetically to reduce duplication, and we added the directory/path of the test that was running prior.

at the very least we should make this more actionable, possibly there is nothing else to do and we can close it.

I think it is still an issue. It is probably more of an issue than with leakcheck, because we're classifying individual leaks by their allocation stacks instead of their class. Of course, for that same reason it is difficult to tell when we're leaking an inner window. LeakSanitizer shows up less often because we only run it in a single configuration.

You need to log in before you can comment on or make changes to this bug.