Closed Bug 1332783 Opened 7 years ago Closed 7 years ago

Intermittent dom/html/test/browser_bug1108547.js | leaked 2 window(s) until shutdown [url = about:privatebrowsing]

Categories

(Core :: DOM: Core & HTML, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla54
Tracking Status
firefox52 --- fixed
firefox-esr52 --- fixed
firefox53 --- fixed
firefox54 --- fixed

People

(Reporter: intermittent-bug-filer, Unassigned)

Details

(Keywords: intermittent-failure, Whiteboard: [stockwell fixed])

I suspect this is the only bug showing a lot of frequent failures.

from a recent win8-debug failure log[0], I see this:
13:59:10    ERROR - TEST-UNEXPECTED-FAIL | dom/html/test/browser_bug1108547.js | leaked 2 window(s) until shutdown [url = about:privatebrowsing]
13:59:10    ERROR - TEST-UNEXPECTED-FAIL | dom/html/test/browser_bug1108547.js | leaked 1 window(s) until shutdown [url = about:blank]
13:59:10     INFO - TEST-INFO | dom/html/test/browser_bug1108547.js | windows(s) leaked: [pid = 3236] [serial = 30], [pid = 3236] [serial = 31], [pid = 3236] [serial = 28]
13:59:10     INFO - runtests.py | Application ran for: 0:00:37.718000
13:59:10     INFO - zombiecheck | Reading PID log: c:\users\cltbld~1.t-w\appdata\local\temp\tmp_rvk9dpidlog
13:59:10     INFO - ==> process 3920 launched child process 3768 ("C:\slave\test\build\application\firefox\firefox.exe" -contentproc --channel="3920.0.771307914\1294230342" -greomni "C:\slave\test\build\application\firefox\omni.ja" -appomni "C:\slave\test\build\application\firefox\browser\omni.ja" -appdir "C:\slave\test\build\application\firefox\browser"  3920 "\\.\pipe\gecko-crash-server-pipe.3920" gpu)
13:59:10     INFO - ==> process 3920 launched child process 1836 ("C:\slave\test\build\application\firefox\firefox.exe" -contentproc --channel="3920.2.1735497481\1195549144" -greomni "C:\slave\test\build\application\firefox\omni.ja" -appomni "C:\slave\test\build\application\firefox\browser\omni.ja" -appdir "C:\slave\test\build\application\firefox\browser"  3920 "\\.\pipe\gecko-crash-server-pipe.3920" tab)
13:59:10     INFO - ==> process 3920 launched child process 3236 ("C:\slave\test\build\application\firefox\firefox.exe" -contentproc --channel="3920.11.2060452596\595408507" -greomni "C:\slave\test\build\application\firefox\omni.ja" -appomni "C:\slave\test\build\application\firefox\browser\omni.ja" -appdir "C:\slave\test\build\application\firefox\browser"  3920 "\\.\pipe\gecko-crash-server-pipe.3920" tab)
13:59:10     INFO - ==> process 3920 launched child process 948 ("C:\slave\test\build\application\firefox\firefox.exe" -contentproc --channel="3920.19.1518070530\1554434718" -greomni "C:\slave\test\build\application\firefox\omni.ja" -appomni "C:\slave\test\build\application\firefox\browser\omni.ja" -appdir "C:\slave\test\build\application\firefox\browser"  3920 "\\.\pipe\gecko-crash-server-pipe.3920" tab)
13:59:10     INFO - zombiecheck | Checking for orphan process with PID: 3768
13:59:10     INFO - zombiecheck | Checking for orphan process with PID: 1836
13:59:10     INFO - zombiecheck | Checking for orphan process with PID: 3236
13:59:10     INFO - zombiecheck | Checking for orphan process with PID: 948
13:59:10     INFO - Stopping web server
13:59:10     INFO - Stopping web socket server
13:59:10     INFO - Stopping ssltunnel
13:59:10     INFO - TEST-INFO | leakcheck | default process: leak threshold set at 0 bytes
13:59:10     INFO - TEST-INFO | leakcheck | plugin process: leak threshold set at 0 bytes
13:59:10     INFO - TEST-INFO | leakcheck | tab process: leak threshold set at 10000 bytes
13:59:10     INFO - TEST-INFO | leakcheck | geckomediaplugin process: leak threshold set at 20000 bytes
13:59:10     INFO - TEST-INFO | leakcheck | gpu process: leak threshold set at 0 bytes
13:59:10     INFO - 
13:59:10     INFO - == BloatView: ALL (cumulative) LEAK AND BLOAT STATISTICS, default process 3920
13:59:10     INFO - 
13:59:10     INFO -      |<----------------Class--------------->|<-----Bytes------>|<----Objects---->|
13:59:10     INFO -      |                                      | Per-Inst   Leaked|   Total      Rem|
13:59:10     INFO -    0 |TOTAL                                 |       25        0| 5529655        0|
13:59:10     INFO - 
13:59:10     INFO - nsTraceRefcnt::DumpStatistics: 1413 entries
13:59:10     INFO - 
13:59:10     INFO - TEST-PASS | leakcheck | default process: no leaks detected!
13:59:10     INFO - 
13:59:10     INFO - == BloatView: ALL (cumulative) LEAK AND BLOAT STATISTICS, gpu process 3768
13:59:10     INFO - 
13:59:10     INFO -      |<----------------Class--------------->|<-----Bytes------>|<----Objects---->|
13:59:10     INFO -      |                                      | Per-Inst   Leaked|   Total      Rem|
13:59:10     INFO -    0 |TOTAL                                 |       38        0|  169096        0|
13:59:10     INFO - 
13:59:10     INFO - nsTraceRefcnt::DumpStatistics: 141 entries
13:59:10     INFO - 
13:59:10     INFO - TEST-PASS | leakcheck | gpu process: no leaks detected!
13:59:10     INFO - 
13:59:10     INFO - == BloatView: ALL (cumulative) LEAK AND BLOAT STATISTICS, tab process 1836
13:59:10     INFO - 
13:59:10     INFO -      |<----------------Class--------------->|<-----Bytes------>|<----Objects---->|
13:59:10     INFO -      |                                      | Per-Inst   Leaked|   Total      Rem|
13:59:10     INFO -    0 |TOTAL                                 |       47        0|   66457        0|
13:59:10     INFO - 
13:59:10     INFO - nsTraceRefcnt::DumpStatistics: 726 entries
13:59:10     INFO - 
13:59:10     INFO - TEST-PASS | leakcheck | tab process: no leaks detected!
13:59:10     INFO - 
13:59:10     INFO - == BloatView: ALL (cumulative) LEAK AND BLOAT STATISTICS, tab process 3236
13:59:10     INFO - 
13:59:10     INFO -      |<----------------Class--------------->|<-----Bytes------>|<----Objects---->|
13:59:10     INFO -      |                                      | Per-Inst   Leaked|   Total      Rem|
13:59:10     INFO -    0 |TOTAL                                 |       33        0|  516739        0|
13:59:10     INFO - 
13:59:10     INFO - nsTraceRefcnt::DumpStatistics: 861 entries
13:59:10     INFO - 
13:59:10     INFO - TEST-PASS | leakcheck | tab process: no leaks detected!
13:59:10     INFO - 
13:59:10     INFO - == BloatView: ALL (cumulative) LEAK AND BLOAT STATISTICS, tab process 948
13:59:10     INFO - 
13:59:10     INFO -      |<----------------Class--------------->|<-----Bytes------>|<----Objects---->|
13:59:10     INFO -      |                                      | Per-Inst   Leaked|   Total      Rem|
13:59:10     INFO -    0 |TOTAL                                 |       32        0|  507405        0|
13:59:10     INFO - 
13:59:10     INFO - nsTraceRefcnt::DumpStatistics: 842 entries
13:59:10     INFO - 
13:59:10     INFO - TEST-PASS | leakcheck | tab process: no leaks detected!


:ehsan, I see you are the author and main contributor to this test case, is there a chance you could work on this in the next 2 weeks?  Do ask for more information if you need any.


[0] https://archive.mozilla.org/pub/firefox/tinderbox-builds/autoland-win64-debug/1486323548/autoland_win8_64-debug_test-mochitest-e10s-browser-chrome-2-bm127-tests1-windows-build96.txt.gz
Flags: needinfo?(ehsan)
Sorry but I don't really have any time to spend on this.  Andrew, can you please find another victim?

FWIW I took a quick look at the test and I suspect the leak is caused by the testBrowser and privateWin variables being captured for the closures here and never nulled out, so nulling both of them at the end of runPass *should* fix the leak, I think.
Flags: needinfo?(ehsan) → needinfo?(overholt)
Michael told me he was bored ;)
Flags: needinfo?(overholt) → needinfo?(michael)
checking in here, we had 59 failures last week, that is a lot which tells me we can reproduce this.  Let me know if we can get this fixed this week, otherwise I would recommend disabling this test until we have more time to focus on this.
any updates here Michael?
(In reply to :Ehsan Akhgari from comment #5)
> FWIW I took a quick look at the test and I suspect the leak is caused by the
> testBrowser and privateWin variables being captured for the closures here
> and never nulled out, so nulling both of them at the end of runPass *should*
> fix the leak, I think.

Anyone should be able to push this to try and test...
Oops.

IIRC I did this ages ago, as part of another push I was doing to try for other reasons. I then forgot about it (oops). I just went back and retriggered Windows 8_x64 M-e10s(bc2) a bunch of times (the one time it had already run was green), we'll see how it looks: https://treeherder.mozilla.org/#/jobs?repo=try&revision=d75f8c9e9fa7d7f62677e738867977367cc4bfd4&selectedJob=77241879
Flags: needinfo?(michael)
I pushed https://treeherder.mozilla.org/#/jobs?repo=try&revision=dede542e1bd9d5825f0ec13d913be39e9c0d7a6b to give us results against a current revision. All was well until infra issues hit.
Pushed by gbrown@mozilla.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/053c34ac7631
Null out privateWin and testBrowser, r=ehsan
Whiteboard: [stockwell fixed]
https://hg.mozilla.org/releases/mozilla-beta/rev/28eb6ec7d303
Flags: in-testsuite+
Whiteboard: [stockwell fixed]
https://hg.mozilla.org/mozilla-central/rev/053c34ac7631
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla54
:RyanVM, why did you remove [stockwell fixed] whiteboard tag?
Flags: needinfo?(ryanvm)
I don't know how that happened :)
Flags: needinfo?(ryanvm)
Whiteboard: [stockwell fixed]
(In reply to Geoff Brown [:gbrown] from comment #14)
> I pushed
> https://treeherder.mozilla.org/#/
> jobs?repo=try&revision=dede542e1bd9d5825f0ec13d913be39e9c0d7a6b to give us
> results against a current revision. All was well until infra issues hit.

Thank you Geoff!
Component: DOM → DOM: Core & HTML
You need to log in before you can comment on or make changes to this bug.