Closed Bug 1317823 Opened 8 years ago Closed 3 years ago

Memory leaks (mostly urls) when running Marionette tests

Categories

(Remote Protocol :: Marionette, defect, P3)

defect

Tracking

(Not tracked)

RESOLVED WORKSFORME

People

(Reporter: aplicacionamedida, Unassigned)

References

(Depends on 1 open bug, )

Details

(Keywords: memory-leak, Whiteboard: [MemShrink:P3])

User Agent: Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:49.0) Gecko/20100101 Firefox/49.0
Build ID: 20160922200204

Steps to reproduce:

Could you please solve this problem?

The problem is in the source code of firefox:
https://github.com/mozilla/geckodriver/issues/181
Keywords: mlk
Whiteboard: [MemShrink]
Component: Untriaged → Marionette
Product: Firefox → Testing
Not reproducible.
Status: UNCONFIRMED → RESOLVED
Closed: 8 years ago
Resolution: --- → INVALID
As described on the geckodriver issue, I can see leakage more or less often when running debug builds. We should try to get this investigated a bit more at least, so that we can finally stop it.

An example you can find here which is for e10s:
https://public-artifacts.taskcluster.net/YtY3-BtYRrGsnRWxr3QxZQ/0/public/test_info//gecko.log

WARNING: YOU ARE LEAKING THE WORLD (at least one JSRuntime and everything alive inside it, that is) AT JS_ShutDown TIME.  FIX THIS!
[Child 1213] ###!!! ASSERTION: Component Manager being held past XPCOM shutdown.: 'cnt == 0', file /home/worker/workspace/build/src/xpcom/build/XPCOMInit.cpp, line 1074
[Child 1213] WARNING: '!compMgr', file /home/worker/workspace/build/src/xpcom/glue/nsComponentManagerUtils.cpp, line 63
Leaked URLs:
  file:///home/worker/workspace/build/application/firefox/omni.ja
  file:///home/worker/workspace/build/application/firefox/browser/omni.ja
  x:///chrome/pdfjs/content/
  file:///home/worker/workspace/build/application/firefox/omni.ja
  x:///modules/services-crypto/
  file:///home/worker/workspace/build/application/firefox/browser/features/formautofill@mozilla.org.xpi
  x:///chrome/content/
  file:///home/worker/workspace/build/application/firefox/omni.ja
  x:///chrome/toolkit/res/
  file:///home/worker/workspace/build/application/firefox/omni.ja
  x:///modules/services-common/
  chrome://browser/locale/searchplugins/
  file:///home/worker/workspace/build/application/firefox/browser/omni.ja
  x:///chrome/devtools/modules/devtools/
  file:///home/worker/workspace/build/application/firefox/omni.ja
  x:///modules/services-sync/
  chrome://pluginproblem/content/pluginProblemBinding.css
  resource://gre-resources/counterstyles.css
  resource://gre-resources/html.css
  chrome://global/content/minimal-xul.css
  resource://gre-resources/quirk.css
  resource://gre/res/svg.css
  chrome://global/content/xul.css
  chrome://global/skin/scrollbars.css
  resource://gre-resources/number-control.css
  resource://gre-resources/forms.css
  resource://gre-resources/noscript.css
  resource://gre-resources/ua.css
  http://127.0.0.1:56373/test.html
  http://127.0.0.1:56373/test.html
  http://127.0.0.1:56373/test.html
  http://127.0.0.1:56373/test.html
  chrome://global/content/bindings/scrollbar.xml#scrollbar
  chrome://global/content/bindings/scrollbar.xml
  x:///chrome/toolkit/content/global/bindings/scrollbar.xml
  chrome://global/content/bindings/scrollbar.xml
  chrome://global/content/bindings/scrollbar.xml#thumb
  chrome://global/content/bindings/scrollbar.xml
  chrome://global/content/bindings/scrollbar.xml#scrollbar-base
  chrome://global/content/bindings/scrollbar.xml#scrollbar
  chrome://global/content/bindings/scrollbar.xml#scrollbar-base
  chrome://global/skin/scrollbar/slider.gif
  chrome://global/content/bindings/scrollbar.xml#thumb
  chrome://global/content/bindings/scrollbar.xml#scrollbar-base
  http://127.0.0.1:56373/test.html#
  http://127.0.0.1:56373/test.html#
  http://127.0.0.1:56373/test.html#
  chrome://global/content/platformHTMLBindings.xml#inputFields
  chrome://global/content/platformHTMLBindings.xml
  x:///chrome/toolkit/content/global/platformHTMLBindings.xml
  chrome://global/content/platformHTMLBindings.xml
  chrome://global/content/platformHTMLBindings.xml#inputFields
  chrome://global/content/platformHTMLBindings.xml
  chrome://global/content/platformHTMLBindings.xml#textAreas
  chrome://global/content/platformHTMLBindings.xml#browser
  chrome://global/content/platformHTMLBindings.xml#editor

Reporter, do you see this leak for e10s (multi-process) enabled only or also when e10s is turned off in the used Firefox profile?
Status: RESOLVED → REOPENED
Ever confirmed: true
Flags: needinfo?(aplicacionamedida)
Resolution: INVALID → ---
Summary: memory leak in firefox using geckodriver → Memory leaks (mostly urls) when running Marionette tests
Whiteboard: [MemShrink] → [MemShrink:P3]
OS: Unspecified → All
Priority: -- → P3
Hardware: Unspecified → All
Version: 49 Branch → Trunk

This reported issue should have been fixed by switching Marionette to the JSWindowActor architecture over on bug 1669169.

Loading the same page over and over again was indeed causing the memory of the parent process to increase a lot. After 100s of looping through a page load + find elements call I had it at 700MB. With actors enabled the parent process memory usage is stable with around 90MB now.

I'm waiting for a confirmation on the reported Github issue to close out this bug.

Depends on: 1669169
Flags: needinfo?(aplicacionamedida)

Due to missing feedback marking bug as WFM.

Status: REOPENED → RESOLVED
Closed: 8 years ago3 years ago
Resolution: --- → WORKSFORME
Product: Testing → Remote Protocol
You need to log in before you can comment on or make changes to this bug.