Closed Bug 707889 Opened 8 years ago Closed 7 years ago

Mac and Linux leak CondVar, 2x Mutex, nsHostRecord, nsHostResolver, nsTArray_base in mochitests while Phoenix datacenter is busted

Categories

(Core :: General, defect)

defect
Not set

Tracking

()

RESOLVED WORKSFORME

People

(Reporter: philor, Unassigned)

References

Details

(Keywords: intermittent-failure, Whiteboard: [MemShrink:P3][leave open])

The two most reasonable bets are AMO and Sync, though neither is a great bet. At least they are better bets than other things in Phoenix that were also busted today, like Bugzilla or input.m.o or SuMo.

Typically, Linux32 hit it on M1, M3, M4, and M5; Linux64 hit it on M1, M3, and M5; Mac hit it on M1.

Representative instance:

https://tbpl.mozilla.org/php/getParsedLog.php?id=7760201&tree=Mozilla-Inbound
Rev3 Fedora 12 mozilla-inbound debug test mochitests-3/5 on 2011-12-05 15:51:04 PST for push bfb517a374fc

--DOMWINDOW == 3 (0x9bbe2a8) [serial = 2] [outer = (nil)] [url = about:blank]
WARNING: nsExceptionService ignoring thread destruction after shutdown: file ../../../xpcom/base/nsExceptionService.cpp, line 197
--DOMWINDOW == 2 (0xd938f70) [serial = 4883] [outer = 0xa7fc358] [url = http://mochi.test:8888/tests/dom/workers/test/test_closeOnGC.html]
WARNING: NS_ENSURE_TRUE(mDB) failed: file ../../../netwerk/cache/nsDiskCacheDeviceSQL.cpp, line 1255
--DOMWINDOW == 1 (0xdbb8f20) [serial = 5287] [outer = 0xa7fc358] [url = about:blank]
--DOMWINDOW == 0 (0xa7fc3a0) [serial = 13] [outer = (nil)] [url = about:blank]
WARNING: NS_ENSURE_TRUE(asyncCloseWasCalled) failed: file ../../../storage/src/mozStorageConnection.cpp, line 859
WARNING: OOPDeinit() without successful OOPInit(): file ../../../toolkit/crashreporter/nsExceptionHandler.cpp, line 1945
nsStringStats
 => mAllocCount:        2521766
 => mReallocCount:       211039
 => mFreeCount:         2521766
 => mShareCount:        5060421
 => mAdoptCount:         233666
 => mAdoptFreeCount:     233666
INFO | automation.py | Application ran for: 0:10:13.742494
INFO | automation.py | Reading PID log: /tmp/tmpI45aqxpidlog

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

     |<----------------Class--------------->|<-----Bytes------>|<----------------Objects---------------->|<--------------References-------------->|
                                              Per-Inst   Leaked    Total      Rem      Mean       StdDev     Total      Rem      Mean       StdDev
   0 TOTAL                                          66        0        2        0 (    0.50 +/-     0.58)        3        0 (    0.83 +/-     0.75)

nsTraceRefcntImpl::DumpStatistics: 2 entries

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

     |<----------------Class--------------->|<-----Bytes------>|<----------------Objects---------------->|<--------------References-------------->|
                                              Per-Inst   Leaked    Total      Rem      Mean       StdDev     Total      Rem      Mean       StdDev
   0 TOTAL                                          14      256 211716699        6 (19000.90 +/- 35990.47) 136821735        2 (42827.13 +/- 80373.06)
  40 CondVar                                        16       16     7490        1 (   12.64 +/-     1.01)        0        0 (    0.00 +/-     0.00)
 131 Mutex                                          12       24    32019        2 (  123.94 +/-    45.60)        0        0 (    0.00 +/-     0.00)
 692 nsHostRecord                                   68       68       15        1 (    7.76 +/-     4.26)    11138        1 (   15.20 +/-    27.93)
 693 nsHostResolver                                144      144        2        1 (    0.67 +/-     0.58)    12339        1 (   17.44 +/-    28.61)
1003 nsTArray_base                                   4        4 39483904        1 (84654.50 +/- 26149.18)        0        0 (    0.00 +/-     0.00)

nsTraceRefcntImpl::DumpStatistics: 1165 entries
TEST-PASS | automationutils.processLeakLog() | no leaks detected!
TEST-UNEXPECTED-FAIL | automationutils.processLeakLog() | leaked 256 bytes during test execution
TEST-UNEXPECTED-FAIL | automationutils.processLeakLog() | leaked 1 instance of CondVar with size 16 bytes
TEST-UNEXPECTED-FAIL | automationutils.processLeakLog() | leaked 2 instances of Mutex with size 12 bytes each (24 bytes total)
TEST-UNEXPECTED-FAIL | automationutils.processLeakLog() | leaked 1 instance of nsHostRecord with size 68 bytes
TEST-UNEXPECTED-FAIL | automationutils.processLeakLog() | leaked 1 instance of nsHostResolver with size 144 bytes
TEST-UNEXPECTED-FAIL | automationutils.processLeakLog() | leaked 1 instance of nsTArray_base with size 4 bytes

INFO | runtests.py | Running tests: end.
Whiteboard: [orange] → [orange][MemShrink]
Another leak that looks very similar:

M3 OSX Debug, M5 Linux Debug
 leaked 496 bytes during test execution
 leaked 1 instance of CondVar with size 16 bytes
 leaked 2 instances of Mutex with size 12 bytes each (24 bytes total)
 leaked 4 instances of nsDNSAsyncRequest with size 48 bytes each (192 bytes total)
 leaked 1 instance of nsHTMLDNSPrefetch::nsListener with size 12 bytes
 leaked 1 instance of nsHostRecord with size 68 bytes
(In reply to Phil Ringnalda (:philor) from comment #5)
> Last time we were hitting the prefetch leak enough to file it, bug 706517
> got duped to bug 463724.

Thanks!
Whiteboard: [orange][MemShrink] → [orange][MemShrink:P3]
Whiteboard: [orange][MemShrink:P3] → [MemShrink:P3]
Whiteboard: [MemShrink:P3] → [MemShrink:P3][leave open]
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → WORKSFORME
Depends on: 870358
You need to log in before you can comment on or make changes to this bug.