Open Bug 1202570 Opened 6 years ago Updated 2 years ago

[e10s] test_bug1170484.html causes leaks with runByDir enabled

Categories

(Core :: Widget: Gtk, defect, P5)

43 Branch
defect

Tracking

()

Tracking Status
e10s + ---
firefox43 --- affected

People

(Reporter: kaustabh93, Unassigned)

References

(Blocks 1 open bug)

Details

(Keywords: memory-leak, Whiteboard: tpi:-)

Here is a push to try  : https://treeherder.mozilla.org/#/jobs?repo=try&revision=89a4c40ff247&filter-resultStatus=testfailed&filter-resultStatus=busted&filter-resultStatus=exception&filter-classifiedState=unclassified&filter-searchStr=linux%20M-e10s%284%29
 
14:28:45     INFO -  TEST-INFO | leakcheck | default process: leak threshold set at 0 bytes
14:28:45     INFO -  TEST-INFO | leakcheck | plugin process: leak threshold set at 0 bytes
14:28:45     INFO -  TEST-INFO | leakcheck | tab process: leak threshold set at 14000 bytes
14:28:45     INFO -  TEST-INFO | leakcheck | geckomediaplugin process: leak threshold set at 20000 bytes
14:28:45     INFO -  == BloatView: ALL (cumulative) LEAK AND BLOAT STATISTICS, default process 5051
14:28:45     INFO -       |<----------------Class--------------->|<-----Bytes------>|<----Objects---->|
14:28:45     INFO -       |                                      | Per-Inst   Leaked|   Total      Rem|
14:28:45     INFO -     0 |TOTAL                                 |       21     4180| 1131080       33|
14:28:45     INFO -   104 |CompositorChild                       |      476      476|       2        1|
14:28:45     INFO -   106 |CompositorParent                      |      596     1192|       4        2|
14:28:45     INFO -   108 |CompositorVsyncDispatcher             |       36       36|       2        1|
14:28:45     INFO -   109 |CompositorVsyncScheduler              |      132      132|       2        1|
14:28:45     INFO -   111 |CondVar                               |       24      120|     149        5|
14:28:45     INFO -   277 |IMContextWrapper                      |      152      152|       2        1|
14:28:45     INFO -   333 |Mutex                                 |       20      120|     962        6|
14:28:45     INFO -   369 |PCompositorChild                      |      412      412|       2        1|
14:28:45     INFO -   370 |PCompositorParent                     |      412      412|       3        1|
14:28:45     INFO -   459 |RefCountedMonitor                     |       48       48|      14        1|
14:28:45     INFO -   461 |RefCountedTask                        |        8       32|      56        4|
14:28:45     INFO -   584 |WeakReference<MessageListener>        |        8       16|     390        2|
14:28:45     INFO -   673 |ipc::MessageChannel                   |      292      584|      28        2|
14:28:45     INFO -   724 |nsBaseWidget                          |      172      172|       3        1|
14:28:45     INFO -  1169 |nsTArray_base                         |        4       12|  252309        3|
14:28:45     INFO -  1216 |nsWindow                              |      264      264|       3        1|
14:28:45     INFO -  nsTraceRefcnt::DumpStatistics: 1286 entries
14:28:45     INFO -  TEST-INFO | leakcheck | default process: leaked 1 CompositorChild (476 bytes)
14:28:45     INFO -  TEST-INFO | leakcheck | default process: leaked 2 CompositorParent (1192 bytes)
14:28:45     INFO -  TEST-INFO | leakcheck | default process: leaked 1 CompositorVsyncDispatcher (36 bytes)
14:28:45     INFO -  TEST-INFO | leakcheck | default process: leaked 1 CompositorVsyncScheduler (132 bytes)
14:28:45     INFO -  TEST-INFO | leakcheck | default process: leaked 5 CondVar (120 bytes)
14:28:45     INFO -  TEST-INFO | leakcheck | default process: leaked 1 IMContextWrapper (152 bytes)
14:28:45     INFO -  TEST-INFO | leakcheck | default process: leaked 6 Mutex (120 bytes)
14:28:45     INFO -  TEST-INFO | leakcheck | default process: leaked 1 PCompositorChild (412 bytes)
14:28:45     INFO -  TEST-INFO | leakcheck | default process: leaked 1 PCompositorParent (412 bytes)
14:28:45     INFO -  TEST-INFO | leakcheck | default process: leaked 1 RefCountedMonitor (48 bytes)
14:28:45     INFO -  TEST-INFO | leakcheck | default process: leaked 4 RefCountedTask (32 bytes)
14:28:45     INFO -  TEST-INFO | leakcheck | default process: leaked 2 WeakReference<MessageListener> (16 bytes)
14:28:45     INFO -  TEST-INFO | leakcheck | default process: leaked 2 ipc::MessageChannel (584 bytes)
14:28:45     INFO -  TEST-INFO | leakcheck | default process: leaked 1 nsBaseWidget (172 bytes)
14:28:45     INFO -  TEST-INFO | leakcheck | default process: leaked 3 nsTArray_base (12 bytes)
14:28:45     INFO -  TEST-INFO | leakcheck | default process: leaked 1 nsWindow (264 bytes)
14:28:45  WARNING -  TEST-UNEXPECTED-FAIL | leakcheck | default process: 4180 bytes leaked (CompositorChild, CompositorParent, CompositorVsyncDispatcher, CompositorVsyncScheduler, CondVar, ...)
Blocks: 1162003
this test is disabled for linux:
https://dxr.mozilla.org/mozilla-central/source/extensions/spellcheck/tests/mochitest/mochitest.ini#6

we should look into getting this enabled again.  :bholley, if you are not the right person responsible for this test, can you help find the right person?
Flags: needinfo?(bobbyholley)
This test does pretty basic stuff. Andrew, does this look like any generic leaks that we're aware of?
Flags: needinfo?(bobbyholley) → needinfo?(continuation)
Most of what is leaking is the same generic stuff that leaks in every e10s test. The interesting thing is the nsWindow (and the nsBaseWidget, which is presumably the same thing).

If I had to guess based on nothing else, I'd wager this is the result of a runnable dispatch running late in shutdown and failing, because that is the most common sort of these leaks. A log could confirm (the ones in comment 0 have expired).

There is a dispatch in FullscreenTransitionData::TimeoutCallback(), though the test doesn't seem to involve that. There's only a single test in this directory, so possibly the leak is due to shutting down before we've finished cleanup from starting.
Component: Spelling checker → Widget: Gtk
Keywords: mlk
I'll do a try push and see if the log turns up anything. In any event, it seems unlikely that this is related to anything in bholley's test.
Summary: test_bug1170484.html causes leaks with runByDir enabled → [e10s] test_bug1170484.html causes leaks with runByDir enabled
Oh, I didn't read the leak log in comment 0 closely enough. That is a leak in the chrome process, not the content process. So all of that is pretty peculiar. I did a try run, but there are no obvious failures in the log that I can see that might have caused a leak.

https://treeherder.mozilla.org/#/jobs?repo=try&revision=30f6e6919369
Flags: needinfo?(continuation)
Blocks: e10s-tests
tracking-e10s: --- → +
Whiteboard: tp;i:-
Whiteboard: tp;i:- → tpi:-
You need to log in before you can comment on or make changes to this bug.