Intermittent mochitest-3 leak of 3176, 3184, 3244, 3376, 6000, 6008 bytes (BackstagePass, CondVar, Mutex, ReentrantMonitor, SharedScriptableHelperForJSIID, ...)

RESOLVED WORKSFORME

Status

()

Core
XPConnect
RESOLVED WORKSFORME
5 years ago
5 years ago

People

(Reporter: RyanVM, Unassigned)

Tracking

({intermittent-failure, memory-leak})

Trunk
intermittent-failure, memory-leak
Points:
---

Firefox Tracking Flags

(Not tracked)

Details

Attachments

(1 attachment)

(Reporter)

Description

5 years ago
Not the first time I've seen this, but it's managed to slip under the radar for filing AFAICT.

https://tbpl.mozilla.org/php/getParsedLog.php?id=19571783&tree=Mozilla-Inbound

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

     |<----------------Class--------------->|<-----Bytes------>|<----------------Objects---------------->|<--------------References-------------->|
                                              Per-Inst   Leaked    Total      Rem      Mean       StdDev     Total      Rem      Mean       StdDev
   0 TOTAL                                          20     6000 289436427       60 (19482.04 +/- 38162.79) 242510719       52 ( 6495.35 +/- 13855.40)
  14 BackstagePass                                  48       48        1        1 (    1.00 +/-     0.00)     2899        4 (  325.57 +/-   137.19)
  59 CondVar                                        32       32    14047        1 (   20.65 +/-     2.29)        0        0 (    0.00 +/-     0.00)
 240 Mutex                                          24      144    86392        6 (  190.85 +/-    44.27)        0        0 (    0.00 +/-     0.00)
 297 ReentrantMonitor                               32       96    15969        3 (   86.95 +/-    67.01)        0        0 (    0.00 +/-     0.00)
 350 SharedScriptableHelperForJSIID                 24       24        1        1 (    1.00 +/-     0.00)    23258        1 (  116.27 +/-    26.81)
 419 XPCNativeScriptableInfo                        16       16    59309        1 ( 2650.08 +/-   573.38)        0        0 (    0.00 +/-     0.00)
 420 XPCNativeScriptableShared                     464     1392    59830        3 (  182.08 +/-    82.79)        0        0 (    0.00 +/-     0.00)
 423 XPCWrappedNative                              104     1144   317123       11 ( 7020.04 +/-  2254.87)  1718825       11 ( 7080.49 +/-  2242.64)
 424 XPCWrappedNativeProto                          64      384    90840        6 ( 1840.79 +/-   472.15)        0        0 (    0.00 +/-     0.00)
 485 nsAsyncStreamCopier                           112      112       52        1 (    2.25 +/-     1.29)      718        1 (    8.76 +/-     5.29)
 603 nsDNSAsyncRequest                              88       88     3165        1 (    1.49 +/-     0.51)     9495        1 (    2.16 +/-     0.70)
 812 nsHostResolver                                232      232        2        1 (    0.67 +/-     0.58)     6337        1 (    3.27 +/-     0.85)
 880 nsJSID                                         56      112    18443        2 (  525.98 +/-   468.66)   130943        2 ( 1808.14 +/-  1762.00)
 881 nsJSIID                                        48       48     5454        1 ( 1030.86 +/-   366.06)    90668        1 ( 2425.73 +/-   831.90)
 920 nsMultiplexInputStream                         64       64        6        1 (    1.45 +/-     0.52)       27        2 (    3.12 +/-     0.86)
 975 nsPipe                                        288      288    15421        1 (   17.14 +/-    60.97)   291515        3 (   74.74 +/-   219.81)
1075 nsScriptableInputStream                        32       32       25        1 (    7.94 +/-     5.74)      100        1 (   15.78 +/-    11.77)
1091 nsSocketTransport                             440      440     3165        1 (   13.50 +/-    41.33)    80372        4 (   36.56 +/-   107.93)
1092 nsSocketTransportService                      216      216        1        1 (    1.00 +/-     0.00)   156459        2 (   30.39 +/-    68.48)
1106 nsStringBuffer                                  8        8  3605255        1 (23089.33 +/-  4389.04) 11459998        2 (41167.83 +/-  8128.69)
1151 nsSystemPrincipal                              24       24        1        1 (    1.00 +/-     0.00)   924290        1 (  325.88 +/-    42.13)
1152 nsTArray_base                                   8       16 55459388        2 (91901.99 +/- 32787.74)        0        0 (    0.00 +/-     0.00)
1163 nsThread                                      200      200       70        1 (   25.80 +/-    13.41)   760460        1 (  211.34 +/-    71.05)
1178 nsTransportEventSinkProxy                      80       80     2908        1 (    1.83 +/-     1.53)     8755        1 (    2.72 +/-     2.25)
1264 nsXPCWrappedJS                                128      384    18566        3 ( 1198.54 +/-   732.41)  2716973        6 ( 3551.86 +/-  1076.18)
1265 nsXPCWrappedJSClass                            72      216     1670        3 (   41.16 +/-     5.30)   365797        3 ( 1367.47 +/-   633.51)
1312 xptiInterfaceInfo                              40      160    11420        4 (  503.55 +/-   239.81)   657950        4 ( 1550.23 +/-   299.10)

nsTraceRefcntImpl::DumpStatistics: 1314 entries
TEST-UNEXPECTED-FAIL | automationutils.processLeakLog() | leaked 6000 bytes during test execution
TEST-UNEXPECTED-FAIL | automationutils.processLeakLog() | leaked 1 instance of BackstagePass with size 48 bytes
TEST-UNEXPECTED-FAIL | automationutils.processLeakLog() | leaked 1 instance of CondVar with size 32 bytes
TEST-UNEXPECTED-FAIL | automationutils.processLeakLog() | leaked 6 instances of Mutex with size 24 bytes each (144 bytes total)
TEST-UNEXPECTED-FAIL | automationutils.processLeakLog() | leaked 3 instances of ReentrantMonitor with size 32 bytes each (96 bytes total)
TEST-UNEXPECTED-FAIL | automationutils.processLeakLog() | leaked 1 instance of SharedScriptableHelperForJSIID with size 24 bytes
TEST-INFO | automationutils.processLeakLog() | leaked 1 instance of XPCNativeScriptableInfo with size 16 bytes
TEST-INFO | automationutils.processLeakLog() | leaked 3 instances of XPCNativeScriptableShared with size 464 bytes each (1392 bytes total)
TEST-INFO | automationutils.processLeakLog() | leaked 11 instances of XPCWrappedNative with size 104 bytes each (1144 bytes total)
TEST-INFO | automationutils.processLeakLog() | leaked 6 instances of XPCWrappedNativeProto with size 64 bytes each (384 bytes total)
TEST-INFO | automationutils.processLeakLog() | leaked 1 instance of nsAsyncStreamCopier with size 112 bytes
TEST-INFO | automationutils.processLeakLog() | leaked 1 instance of nsDNSAsyncRequest with size 88 bytes
TEST-INFO | automationutils.processLeakLog() | leaked 1 instance of nsHostResolver with size 232 bytes
TEST-INFO | automationutils.processLeakLog() | leaked 2 instances of nsJSID with size 56 bytes each (112 bytes total)
TEST-INFO | automationutils.processLeakLog() | leaked 1 instance of nsJSIID with size 48 bytes
TEST-INFO | automationutils.processLeakLog() | leaked 1 instance of nsMultiplexInputStream with size 64 bytes
TEST-INFO | automationutils.processLeakLog() | leaked 1 instance of nsPipe with size 288 bytes
TEST-INFO | automationutils.processLeakLog() | leaked 1 instance of nsScriptableInputStream with size 32 bytes
TEST-INFO | automationutils.processLeakLog() | leaked 1 instance of nsSocketTransport with size 440 bytes
TEST-INFO | automationutils.processLeakLog() | leaked 1 instance of nsSocketTransportService with size 216 bytes
TEST-INFO | automationutils.processLeakLog() | leaked 1 instance of nsStringBuffer with size 8 bytes
TEST-INFO | automationutils.processLeakLog() | leaked 1 instance of nsSystemPrincipal with size 24 bytes
TEST-INFO | automationutils.processLeakLog() | leaked 2 instances of nsTArray_base with size 8 bytes each (16 bytes total)
TEST-INFO | automationutils.processLeakLog() | leaked 1 instance of nsThread with size 200 bytes
TEST-INFO | automationutils.processLeakLog() | leaked 1 instance of nsTransportEventSinkProxy with size 80 bytes
TEST-INFO | automationutils.processLeakLog() | leaked 3 instances of nsXPCWrappedJS with size 128 bytes each (384 bytes total)
TEST-INFO | automationutils.processLeakLog() | leaked 3 instances of nsXPCWrappedJSClass with size 72 bytes each (216 bytes total)
TEST-INFO | automationutils.processLeakLog() | leaked 4 instances of xptiInterfaceInfo with size 40 bytes each (160 bytes total)
(Reporter)

Comment 1

5 years ago
https://tbpl.mozilla.org/php/getParsedLog.php?id=19599241&tree=Mozilla-Inbound
Summary: Intermittent mochitest-3 leak of 6000 bytes (1 BackstagePass, 1 CondVar, 6 Mutex, 3 ReentrantMonitor, 1 SharedScriptableHelperForJSIID) → Intermittent mochitest-3 leak of 3176, 6000 bytes (1 BackstagePass, 1 CondVar, 6 Mutex, 3 ReentrantMonitor, 1 SharedScriptableHelperForJSIID)
(Reporter)

Comment 2

5 years ago
https://tbpl.mozilla.org/php/getParsedLog.php?id=19908398&tree=Mozilla-Inbound
Summary: Intermittent mochitest-3 leak of 3176, 6000 bytes (1 BackstagePass, 1 CondVar, 6 Mutex, 3 ReentrantMonitor, 1 SharedScriptableHelperForJSIID) → Intermittent mochitest-3 leak of 3176, 6000, 6008 bytes (1 BackstagePass, 1 CondVar, 6 Mutex, 3 ReentrantMonitor, 1 SharedScriptableHelperForJSIID)
(Reporter)

Comment 4

5 years ago
https://tbpl.mozilla.org/php/getParsedLog.php?id=20070931&tree=Mozilla-Inbound
Summary: Intermittent mochitest-3 leak of 3176, 6000, 6008 bytes (1 BackstagePass, 1 CondVar, 6 Mutex, 3 ReentrantMonitor, 1 SharedScriptableHelperForJSIID) → Intermittent mochitest-3 leak of 3176, 3184, 6000, 6008 bytes (1 BackstagePass, 1 CondVar, 6 Mutex, 3 ReentrantMonitor, 1 SharedScriptableHelperForJSIID)
(Reporter)

Comment 7

5 years ago
https://tbpl.mozilla.org/php/getParsedLog.php?id=20155828&tree=Mozilla-Inbound

Bobby, could you take a look at this?
Flags: needinfo?(bobbyholley+bmo)
Given the stuff that gets leaked here, I might wildly guess that it has something to do with off-main-thread XPCWrappedJS usage. If anything, the leak profile will change when I rip out all that threading goop.
Depends on: 773610
Flags: needinfo?(bobbyholley+bmo)
(Reporter)

Comment 18

5 years ago
https://tbpl.mozilla.org/php/getParsedLog.php?id=20282072&tree=Mozilla-Inbound
Summary: Intermittent mochitest-3 leak of 3176, 3184, 6000, 6008 bytes (1 BackstagePass, 1 CondVar, 6 Mutex, 3 ReentrantMonitor, 1 SharedScriptableHelperForJSIID) → Intermittent mochitest-3 leak of 3176, 3184, 3376, 6000, 6008 bytes (1 BackstagePass, 1 CondVar, 6 Mutex, 3 ReentrantMonitor, 1 SharedScriptableHelperForJSIID)
Created attachment 721647 [details]
Potential tests triggering this

This only occurs on M3 - there must be a specific test triggering this.

Have cross referenced between two logs, one old, one new - and on two platforms (fed64/winxp) to make this list of candidates. (Though with the lowish frequency of this bug, retriggering on Try to bisect this list further may still be impractical, not sure).
(Reporter)

Comment 24

5 years ago
https://tbpl.mozilla.org/php/getParsedLog.php?id=20389344&tree=Mozilla-Inbound
Summary: Intermittent mochitest-3 leak of 3176, 3184, 3376, 6000, 6008 bytes (1 BackstagePass, 1 CondVar, 6 Mutex, 3 ReentrantMonitor, 1 SharedScriptableHelperForJSIID) → Intermittent mochitest-3 leak of 3176, 3184, 3244, 3376, 6000, 6008 bytes (1 BackstagePass, 1 CondVar, 6 Mutex, 3 ReentrantMonitor, 1 SharedScriptableHelperForJSIID)
(In preparation for bug 850681)
Summary: Intermittent mochitest-3 leak of 3176, 3184, 3244, 3376, 6000, 6008 bytes (1 BackstagePass, 1 CondVar, 6 Mutex, 3 ReentrantMonitor, 1 SharedScriptableHelperForJSIID) → Intermittent mochitest-3 leak of 3176, 3184, 3244, 3376, 6000, 6008 bytes (BackstagePass, CondVar, Mutex, ReentrantMonitor, SharedScriptableHelperForJSIID, ...)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
No longer depends on: 773610
Depends on: 770535
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
No sign of this since July.
Status: NEW → RESOLVED
Last Resolved: 5 years ago
Resolution: --- → WORKSFORME
You need to log in before you can comment on or make changes to this bug.