Open Bug 1087625 Opened 10 years ago Updated 2 years ago

reftest run in reftests/webm-video reports "leakcheck | default process: leaked 1 WeakReference<MessageListener> (16 bytes)"

Categories

(Core :: General, defect)

x86_64
Linux
defect

Tracking

()

People

(Reporter: dholbert, Unassigned)

References

Details

(Keywords: memory-leak)

STR:
 1. Run ./mach reftest layout/reftests/webm-video/
 2. Look at the end of the reftest output.

ACTUAL RESULTS: Leaks reported:

{
 0:50.28 == BloatView: ALL (cumulative) LEAK AND BLOAT STATISTICS, default process 2014
 0:50.28 
 0:50.28      |<----------------Class--------------->|<-----Bytes------>|<----------------Objects---------------->|<--------------References-------------->|
 0:50.28                                               Per-Inst   Leaked    Total      Rem      Mean       StdDev     Total      Rem      Mean       StdDev
 0:50.28    0 TOTAL                                          27       16  2352070        1 ( 6163.12 +/-  8123.88)  4070097        1 ( 1551.20 +/-  3169.88)
 0:50.29  445 WeakReference<MessageListener>                 16       16     1060        1 (  393.74 +/-   277.18)     1068        1 (  398.73 +/-   278.31)
 0:50.30 nsTraceRefcnt::DumpStatistics: 1052 entries
 0:50.30 TEST-INFO | leakcheck | default process: leaked 1 WeakReference<MessageListener> (16 bytes)
 0:50.30 TEST-UNEXPECTED-FAIL | leakcheck | default process: 16 bytes leaked (WeakReference<MessageListener>)
 0:50.30 
 0:50.30 REFTEST REFTEST INFO | runreftest.py | Running tests: end.
 0:50.30 reftest failed:
 0:50.30 TEST-UNEXPECTED-FAIL | leakcheck | default process: 16 bytes leaked (WeakReference<MessageListener>)
}

I can reproduce this on two separate machines; one is running mozilla-central with some of my patches applied, and one is using pristine mozilla-inbound at cset 6066a2a0766f.

I'm pretty sure I've seen this in various directories -- not just webm-video -- but that's where I can most reliably reproduce it at the moment.  I'm also pretty sure this is _not_ a recent regression.
(Both machines where I've reproduced this are running 64-bit linux, and are running debug builds.)
See Also: → 1062479
(I tried to bisect the reftest.list file in webm-video, to see if a particular line or sequence of lines are responsible for this, but I didn't really get anywhere, because this appears to be very fragile and not 100% reproducible even with an un-modified reftest.list file.)
DMD might give an allocation stack.  Maybe I can do that at some point.
(In reply to TBPL Robot from comment #4)

(In reply to TBPL Robot from comment #5)

(In reply to TBPL Robot from comment #6)

Mis-classified these. They have nothing to do with this bug.
FWIW, today I'm getting leaks of *several* instances of this class, when running reftests in this same webm-video directory:

Leaking 2 instances:
{
 0:46.62 == BloatView: ALL (cumulative) LEAK AND BLOAT STATISTICS, default process 29615
 0:46.62 
 0:46.62      |<----------------Class--------------->|<-----Bytes------>|<----------------Objects---------------->|<--------------References-------------->|
 0:46.62                                               Per-Inst   Leaked    Total      Rem      Mean       StdDev     Total      Rem      Mean       StdDev
 0:46.62    0 TOTAL                                          27       32  2304635        2 ( 6069.67 +/-  8013.10)  4029141        2 ( 1525.26 +/-  3125.90)
 0:46.62  437 WeakReference<MessageListener>                 16       32     1060        2 (  390.68 +/-   276.40)     1068        2 (  395.70 +/-   277.50)
 0:46.62 
 0:46.62 nsTraceRefcnt::DumpStatistics: 1038 entries
 0:46.62 TEST-INFO | leakcheck | default process: leaked 2 WeakReference<MessageListener> (32 bytes)
 0:46.62 TEST-UNEXPECTED-FAIL | leakcheck | default process: 32 bytes leaked (WeakReference<MessageListener>)
}

Leaking 3 instances:
{
 0:48.54 == BloatView: ALL (cumulative) LEAK AND BLOAT STATISTICS, default process 32286
 0:48.54 
 0:48.54      |<----------------Class--------------->|<-----Bytes------>|<----------------Objects---------------->|<--------------References-------------->|
 0:48.54                                               Per-Inst   Leaked    Total      Rem      Mean       StdDev     Total      Rem      Mean       StdDev
 0:48.54    0 TOTAL                                          27       48  2287114        3 ( 6069.37 +/-  8020.40)  4040831        3 ( 1529.03 +/-  3113.78)
 0:48.55  436 WeakReference<MessageListener>                 16       48     1060        3 (  398.88 +/-   281.31)     1068        3 (  403.84 +/-   282.43)
 0:48.56 nsTraceRefcnt::DumpStatistics: 1036 entries
 0:48.56 TEST-INFO | leakcheck | default process: leaked 3 WeakReference<MessageListener> (48 bytes)
 0:48.56 TEST-UNEXPECTED-FAIL | leakcheck | default process: 48 bytes leaked (WeakReference<MessageListener>)
 0:48.56 
}
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.