Leaking lots of profiler stuff when profiling debug crashtests

RESOLVED FIXED in Firefox 39

Status

()

Core
Gecko Profiler
RESOLVED FIXED
3 years ago
3 years ago

People

(Reporter: mstange, Unassigned)

Tracking

Trunk
mozilla39
Points:
---

Firefox Tracking Flags

(firefox39 fixed)

Details

Attachments

(1 attachment)

(Reporter)

Description

3 years ago
Steps to reproduce:
 1. Apply attachment 8568788 [details] [diff] [review].
 2. Comment out the assertion that bug 1136384 is about.
 3. Build a debug build with and run it like this:
> MOZ_UPLOAD_DIR=~/Desktop/ mach crashtest gfx/tests/crashtests/815489.html

We leak all kinds of stuff. 

Here's the leak table from https://treeherder.mozilla.org/#/jobs?repo=try&revision=334a8bac2056 :

> == BloatView: ALL (cumulative) LEAK AND BLOAT STATISTICS, default process 1334
>      |<----------------Class--------------->|<-----Bytes------>|<----------------Objects---------------->|<--------------References-------------->|
>                                               Per-Inst   Leaked    Total      Rem      Mean       StdDev     Total      Rem      Mean       StdDev
>    0 TOTAL                                          20   306208 149779745     5158 (184703.61 +/- 344491.23) 198682202     1738 (56518.28 +/- 183977.92)
>  113 CheckResponsivenessTask                       128    15360      240      120 (   61.72 +/-    34.81)     4062       60 (   24.90 +/-    15.86)
>  148 CondVar                                        40     2400     1161       60 (  284.01 +/-   206.75)        0        0 (    0.00 +/-     0.00)
>  496 Mutex                                          32    27840    57424      870 ( 1157.47 +/-   425.43)        0        0 (    0.00 +/-     0.00)
>  590 ProfileBuffer                                  48    38832     1577      809 (  483.54 +/-   187.64)     1697      809 (  493.14 +/-   195.55)
>  592 ProfilerBacktrace                               8     6472     1517      809 (  478.04 +/-   182.71)        0        0 (    0.00 +/-     0.00)
>  612 ReentrantMonitor                               40       40    18737        1 (  393.10 +/-   617.30)        0        0 (    0.00 +/-     0.00)
>  719 SyncProfile                                   128   103552     1517      809 (  478.04 +/-   182.71)        0        0 (    0.00 +/-     0.00)
>  741 ThreadProfile                                 112    90608     1637      809 (  488.55 +/-   191.87)        0        0 (    0.00 +/-     0.00)
>  742 ThreadResponsiveness                           24    19416     1637      809 (  488.55 +/-   191.87)        0        0 (    0.00 +/-     0.00)
> 1426 nsRunnable                                     24     1440   575977       60 (  303.56 +/-   674.82)  2196812       60 (  399.49 +/-   786.13)
> 1535 nsTArray_base                                   8        8 61390336        1 (202252.66 +/- 392716.77)        0        0 (    0.00 +/-     0.00)
> 1550 nsThread                                      240      240      345        1 (  115.10 +/-    81.83)   576623      809 (  803.59 +/-   419.14)
> nsTraceRefcnt::DumpStatistics: 1696 entries

Comment 1

3 years ago
Created attachment 8573171 [details] [diff] [review]
Stop leaking markers in ProfileBuffer.

This seems to fix most of it. I'm still seeing leaks in BloatView, but no class
names. Not sure what to make of that.
Attachment #8573171 - Flags: review?(mstange)

Comment 2

3 years ago
Wait, maybe I'm just not reading BloatView correctly. Does the following mean something leaked, or that nothing has leaked?

== BloatView: ALL (cumulative) LEAK AND BLOAT STATISTICS, default process 13376

     |<----------------Class--------------->|<-----Bytes------>|<----------------Objects---------------->|<--------------References-------------->|
                                              Per-Inst   Leaked    Total      Rem      Mean       StdDev     Total      Rem      Mean       StdDev
   0 TOTAL                                          20        0  2354041        0 (10838.33 +/- 18069.39)  2387076        0 ( 4827.49 +/-  9667.66)
(Reporter)

Comment 3

3 years ago
It means that nothing has leaked. (The "remaining" (Rem) and Leaked columns are zero.)
(Reporter)

Comment 4

3 years ago
Comment on attachment 8573171 [details] [diff] [review]
Stop leaking markers in ProfileBuffer.

Review of attachment 8573171 [details] [diff] [review]:
-----------------------------------------------------------------

Surprisingly simple. Thanks!
Attachment #8573171 - Flags: review?(mstange) → review+
https://hg.mozilla.org/mozilla-central/rev/a2df5f673147
Status: NEW → RESOLVED
Last Resolved: 3 years ago
status-firefox39: --- → fixed
Resolution: --- → FIXED
Target Milestone: --- → mozilla39
You need to log in before you can comment on or make changes to this bug.