[e10s] irccloud seems to leak memory on Linux

RESOLVED FIXED in Firefox 50

Status

()

RESOLVED FIXED
3 years ago
2 years ago

People

(Reporter: catlee, Unassigned)

Tracking

(Blocks: 1 bug)

unspecified
Firefox 50
x86_64
Linux
Points:
---
Dependency tree / graph

Firefox Tracking Flags

(e10s?, firefox47 affected, firefox48 affected, firefox49 affected, firefox50 fixed)

Details

(Whiteboard: [MemShrink:P2])

Attachments

(1 attachment)

(Reporter)

Description

3 years ago
irccloud seems to consume a lot of memory on my system. Interestingly, when I close the irccloud tab, it's still consuming resources in about:memory as a "ghost window".
(Reporter)

Comment 1

3 years ago
Created attachment 8744468 [details]
memory-report.json.gz
Whiteboard: [MemShrink]

Updated

3 years ago
Component: General → Untriaged
Hi Chris,

I have tested your issue on latest FF release (45.0.2) and latest Nightly build and could not reproduce it. I have opened irccloud.com and Firefox didn't consume more than 170 MB of memory. I've tested this on Ubuntu 14.04 x64 and the results were the same regardless is e10s was enabled or disabled.

Is this still reproducible on your end ? If yes, can you please retest this using latest FF release and latest Nightly build (https://nightly.mozilla.org/) and report back the results ? When doing this, please use a new clean Firefox profile, maybe even safe mode, to eliminate custom settings as a possible cause (https://goo.gl/PNe90E).

Thanks,
Paul.
Flags: needinfo?(catlee)
(Reporter)

Comment 3

3 years ago
When I filed this, I was using the current latest nightly build. I am currently using 20160422030223 and can still reproduce (irccloud shows up after closing in as ├──244.96 MB (24.46%) -- top(none)/detached). It may be worth noting that I am using the es-CL version of nightly, not the standard en-US version.

I'll try with a fresh profile and see if I get any different results.
Flags: needinfo?(catlee)
(Reporter)

Comment 4

3 years ago
I can't reproduce with a fresh profile.

Any suggestions for how I can narrow down the cause with my regular profile?
Let's start with an about:support.
Flags: needinfo?(catlee)
(Reporter)

Comment 6

3 years ago
{
  "application": {
    "name": "Firefox",
    "osVersion": "Linux 4.3.0-1-amd64",
    "arch": "x86-64",
    "version": "49.0a1",
    "buildID": "20160425102203",
    "userAgent": "Mozilla/5.0 (X11; Linux x86_64; rv:49.0) Gecko/20100101 Firefox/49.0",
    "safeMode": false,
    "updateChannel": "nightly",
    "supportURL": "https://support.mozilla.org/1/firefox/49.0a1/Linux/es-CL/",
    "numTotalWindows": 1,
    "numRemoteWindows": 1,
    "remoteAutoStart": true,
    "autoStartStatus": 0
  },
  "modifiedPreferences": {
    "accessibility.typeaheadfind.flashBar": 0,
    "browser.cache.disk.hashstats_reported": 1,
    "browser.cache.frecency_experiment": 2,
    "browser.cache.disk.smart_size.first_run": false,
    "browser.cache.disk.smart_size.use_old_max": false,
    "browser.cache.disk.capacity": 358400,
    "browser.cache.disk.filesystem_reported": 1,
    "browser.download.importedFromSqlite": true,
    "browser.places.smartBookmarksVersion": 8,
    "browser.search.openintab": true,
    "browser.sessionstore.upgradeBackup.latestBuildID": "20160425102203",
    "browser.startup.homepage": "about:home",
    "browser.startup.homepage_override.buildID": "20160425102203",
    "browser.startup.homepage_override.mstone": "49.0a1",
    "browser.tabs.warnOnClose": false,
    "browser.tabs.crashReporting.emailMe": true,
    "browser.tabs.remote.autostart": true,
    "browser.tabs.crashReporting.email": "catlee@mozilla.com",
    "browser.urlbar.maxRichResults": 12,
    "browser.urlbar.userMadeSearchSuggestionsChoice": true,
    "dom.push.userAgentID": "1ab3375de7254d6f962864b54bcd038d",
    "dom.apps.reset-permissions": true,
    "dom.mozApps.used": true,
    "extensions.lastAppVersion": "49.0a1",
    "font.internaluseonly.changed": true,
    "gfx.crash-guard.glcontext.deviceID": "Mesa DRI Intel(R) HD Graphics 5500 (Broadwell GT2) ",
    "gfx.crash-guard.glcontext.appVersion": "43.0a1",
    "gfx.crash-guard.glcontext.driverVersion": "3.0 Mesa 10.6.3",
    "gfx.crash-guard.status.glcontext": 2,
    "media.gmp-gmpopenh264.version": "1.5.3",
    "media.webrtc.debug.aec_log_dir": "/tmp/",
    "media.webrtc.debug.log_file": "/tmp/WebRTC.log",
    "media.gmp-manager.buildID": "20160425102203",
    "media.gmp-gmpopenh264.lastUpdate": 1451925473,
    "media.gmp-gmpopenh264.abi": "x86_64-gcc3",
    "media.gmp-manager.lastCheck": 1461680570,
    "network.cookie.prefsMigrated": true,
    "network.predictor.cleaned-up": true,
    "places.database.lastMaintenance": 1461618814,
    "places.history.expiration.transient_current_max_pages": 104858,
    "plugin.importedState": true,
    "plugin.state.flash": 1,
    "plugin.disable_full_page_plugin_for_types": "application/pdf",
    "print.print_resolution_name": "default",
    "print.print_plex_name": "default",
    "print.print_margin_top": "0.5",
    "print.print_paper_width": "215.90",
    "print.print_to_file": false,
    "print.print_evenpages": true,
    "print.print_orientation": 0,
    "print.print_colorspace": "default",
    "print.print_unwriteable_margin_right": 25,
    "print.print_paper_height": "279.40",
    "print.print_unwriteable_margin_left": 25,
    "print.print_shrink_to_fit": true,
    "print.print_margin_left": "0.5",
    "print.print_unwriteable_margin_bottom": 56,
    "print.print_duplex": 1,
    "print.print_scaling": "  1.00",
    "print.print_margin_right": "0.5",
    "print.print_oddpages": true,
    "print.print_bgcolor": false,
    "print.print_bgimages": false,
    "print.print_downloadfonts": false,
    "print.print_paper_size_type": 1,
    "print.print_unwriteable_margin_top": 25,
    "print.print_paper_name": "na_letter",
    "print.print_page_delay": 50,
    "print.print_margin_bottom": "0.5",
    "print.print_in_color": true,
    "print.print_paper_data": 0,
    "print.print_paper_size_unit": 1,
    "privacy.donottrackheader.value": 1,
    "privacy.trackingprotection.introCount": 20,
    "privacy.sanitize.migrateFx3Prefs": true,
    "privacy.donottrackheader.enabled": true,
    "privacy.sanitize.migrateClearSavedPwdsOnExit": true,
    "privacy.trackingprotection.enabled": true,
    "services.sync.declinedEngines": "",
    "services.sync.lastPing": 1461624183,
    "services.sync.lastSync": "Tue Apr 26 2016 10:33:49 GMT-0400 (EDT)",
    "services.sync.numClients": 4,
    "services.sync.engine.passwords": false,
    "services.sync.engine.prefs.modified": false,
    "storage.vacuum.last.places.sqlite": 1460149603,
    "storage.vacuum.last.index": 1
  },
  "lockedPreferences": {},
  "javaScript": {
    "incrementalGCEnabled": true
  },
  "accessibility": {
    "isActive": false,
    "forceDisabled": 0
  },
  "libraryVersions": {
    "NSPR": {
      "minVersion": "4.12",
      "version": "4.12"
    },
    "NSS": {
      "minVersion": "3.24 Basic ECC Beta",
      "version": "3.24 Basic ECC Beta"
    },
    "NSSUTIL": {
      "minVersion": "3.24 Beta",
      "version": "3.24 Beta"
    },
    "NSSSSL": {
      "minVersion": "3.24 Basic ECC Beta",
      "version": "3.24 Basic ECC Beta"
    },
    "NSSSMIME": {
      "minVersion": "3.24 Basic ECC Beta",
      "version": "3.24 Basic ECC Beta"
    }
  },
  "userJS": {
    "exists": false
  },
  "crashes": {
    "submitted": [],
    "pending": 0
  },
  "sandbox": {
    "hasSeccompBPF": true,
    "hasSeccompTSync": true,
    "hasPrivilegedUserNamespaces": true,
    "hasUserNamespaces": false,
    "canSandboxMedia": true
  },
  "extensions": [
    {
      "name": "Firefox Hello",
      "version": "1.3.0",
      "isActive": true,
      "id": "loop@mozilla.org"
    },
    {
      "name": "Multi-process staged rollout",
      "version": "1.0",
      "isActive": true,
      "id": "e10srollout@mozilla.org"
    },
    {
      "name": "Pocket",
      "version": "1.0",
      "isActive": true,
      "id": "firefox@getpocket.com"
    },
    {
      "name": "Check4Change",
      "version": "1.9.7",
      "isActive": false,
      "id": "check4change-owner@mozdev.org"
    },
    {
      "name": "HTTPS-Everywhere",
      "version": "5.1.0",
      "isActive": false,
      "id": "https-everywhere@eff.org"
    },
    {
      "name": "LastTab",
      "version": "3.0t3.1.1-signed",
      "isActive": false,
      "id": "{68E5DD30-A659-4987-99F9-EAF21F9D4140}"
    },
    {
      "name": "Mass Password Reset",
      "version": "1.05.1-signed",
      "isActive": false,
      "id": "masspasswordreset@johnathan.nightingale"
    },
    {
      "name": "PassFF",
      "version": "0.1.30",
      "isActive": false,
      "id": "passff@invicem.pro"
    },
    {
      "name": "Privacy Badger",
      "version": "1.0.3",
      "isActive": false,
      "id": "jid1-MnnxcxisBPnSXQ@jetpack"
    },
    {
      "name": "Tab Groups",
      "version": "1",
      "isActive": false,
      "id": "tabgroups@quicksaver"
    },
    {
      "name": "User Agent Switcher",
      "version": "0.7.3.1-signed",
      "isActive": false,
      "id": "{e968fc70-8f95-4ab9-9e79-304de2a71ee1}"
    }
  ],
  "experiments": [],
  "graphics": {
    "numTotalWindows": 1,
    "numAcceleratedWindows": 0,
    "windowLayerManagerType": "Basic",
    "windowLayerManagerRemote": true,
    "supportsHardwareH264": "No",
    "numAcceleratedWindowsMessage": [
      ""
    ],
    "adapterDescription": "Intel Open Source Technology Center -- Mesa DRI Intel(R) HD Graphics 5500 (Broadwell GT2) ",
    "adapterVendorID": "Intel Open Source Technology Center",
    "adapterDeviceID": "Mesa DRI Intel(R) HD Graphics 5500 (Broadwell GT2) ",
    "adapterRAM": "",
    "adapterDrivers": "",
    "driverVersion": "3.0 Mesa 11.1.3",
    "driverDate": "",
    "webglRenderer": "Intel Open Source Technology Center -- Mesa DRI Intel(R) HD Graphics 5500 (Broadwell GT2) ",
    "info": {
      "AzureCanvasBackend": "skia",
      "AzureCanvasAccelerated": 0,
      "AzureFallbackCanvasBackend": "none",
      "AzureContentBackend": "cairo",
      "CairoUseXRender": 0,
      "ApzWheelInput": 1
    }
  }
}
Flags: needinfo?(catlee)
When you have a second, can you try flipping those privacy prefs in your new profile and seeing if you can reproduce?

If you cannot reproduce after setting those, maybe next try setting the plugin preferences.

I'm also interested in knowing if you can reproduce this leak with e10s disabled.

If you can reproduce with it disabled, we might be able to use some of the older tools to detect where the leak is.
Flags: needinfo?(catlee)
(Reporter)

Comment 8

3 years ago
I can't reproduce with e10s disabled, but now it also doesn't reproduce consistently with e10s enabled.

I couldn't reproduce in the new profile yet.
Flags: needinfo?(catlee)
Did those prefs make a difference at all?
Summary: irccloud seems to leak memory on Linux → [e10s] irccloud seems to leak memory on Linux
Flags: needinfo?(catlee)
(Reporter)

Comment 10

3 years ago
Not yet.
Flags: needinfo?(catlee)
(Reporter)

Comment 11

3 years ago
It finally did reproduce in the new profile. I ended up making several changes:
- enabled the privacy prefs above
- enabled a master password
- enabled firefox sync

Even with those changes it took a long time before I was able to reproduce on the fresh profile.
(In reply to Chris AtLee [:catlee] from comment #11)
> It finally did reproduce in the new profile. I ended up making several
> changes:
> - enabled the privacy prefs above
> - enabled a master password
> - enabled firefox sync
> 
> Even with those changes it took a long time before I was able to reproduce
> on the fresh profile.

Ah, interesting! I wonder if it's a syncing of tabs that causes the leak to occur. You can manually cause a sync to occur by choosing the "Synced Tabs" menu item in the menu panel, and choosing "Sync Now" (although, when you first choose it, it should sync automatically).

The master password is also interesting, but I wonder if it's a red herring. Perhaps try the above both with a master password and without.

Updated

3 years ago
Flags: needinfo?(twalker)
I am not seeing any indication that memory is being leaked while having a some tabs/channels open at irccloud.

typical about:memory readings 

Web Content (pid 2899)
Explicit Allocations

114.84 MB (100.0%) -- explicit 

catlee reported:
catlee> irccloud itself is ─193.21 MB (17.25%)
but that is in his working profile and I am sure he has several more channels open than I do.
However, he reports 
catlee> e.g. right now I have 1,120.39 MB in explicit allocations
catlee> this is in my regular work profile right now
catlee> so lots else happening

I set prefs, enabled sync and master password as Chris has:

Application Basics
------------------

Name: Firefox
Version: 49.0a1
Build ID: 20160427030215
Update Channel: nightly
User Agent: Mozilla/5.0 (X11; Linux x86_64; rv:49.0) Gecko/20100101 Firefox/49.0
OS: Linux 3.16.0-67-generic x86-64
Multiprocess Windows: 1/1 (Enabled by user)
Safe Mode: false

Crash Reports for the Last 3 Days
---------------------------------

Report ID: bp-e5cf1cea-1051-4e42-abd8-0e6f72160427
Submitted: 21 hours ago

Report ID: bp-592c38d5-7682-443a-ba1f-506ea2160427
Submitted: 24 hours ago

All Crash Reports

Extensions
----------

Name: Firefox Hello
Version: 1.3.1
Enabled: true
ID: loop@mozilla.org

Name: Multi-process staged rollout
Version: 1.0
Enabled: true
ID: e10srollout@mozilla.org

Name: Pocket
Version: 1.0
Enabled: true
ID: firefox@getpocket.com

Name: Ubuntu Modifications
Version: 3.2
Enabled: false
ID: ubufox@ubuntu.com

Graphics
--------

Features
Compositing: Basic
Asynchronous Pan/Zoom: wheel input enabled
WebGL Renderer: VMware, Inc. -- Gallium 0.4 on SVGA3D; build: RELEASE;
Hardware H264 Decoding: No; Failed to create H264 decoder
GPU #1
Active: Yes
Description: VMware, Inc. -- Gallium 0.4 on SVGA3D; build: RELEASE;
Vendor ID: VMware, Inc.
Device ID: Gallium 0.4 on SVGA3D; build: RELEASE;
Driver Version: 2.1 Mesa 10.3.2

Diagnostics
AzureCanvasAccelerated: 0
AzureCanvasBackend: skia
AzureContentBackend: cairo
AzureFallbackCanvasBackend: none
CairoUseXRender: 0


Important Modified Preferences
------------------------------

accessibility.blockautorefresh: true
accessibility.typeaheadfind.flashBar: 0
browser.cache.disk.capacity: 358400
browser.cache.disk.filesystem_reported: 1
browser.cache.disk.smart_size.first_run: false
browser.cache.disk.smart_size.use_old_max: false
browser.cache.frecency_experiment: 2
browser.download.importedFromSqlite: true
browser.places.smartBookmarksVersion: 8
browser.sessionstore.upgradeBackup.latestBuildID: 20160427030215
browser.startup.homepage_override.buildID: 20160427030215
browser.startup.homepage_override.mstone: 49.0a1
browser.tabs.crashReporting.includeURL: true
browser.tabs.remote.autostart: true
browser.tabs.remote.autostart.2: false
browser.urlbar.suggest.searches: true
browser.urlbar.userMadeSearchSuggestionsChoice: true
dom.apps.reset-permissions: true
dom.mozApps.used: true
dom.push.userAgentID: 6d2a68942c9f47aab5d596b7d59d0fce
extensions.lastAppVersion: 49.0a1
font.internaluseonly.changed: true
layers.acceleration.disabled: true
media.gmp-gmpopenh264.abi: x86_64-gcc3
media.gmp-gmpopenh264.lastUpdate: 1451406412
media.gmp-gmpopenh264.version: 1.5.3
media.gmp-manager.buildID: 20160427030215
media.gmp-manager.lastCheck: 1461772983
network.cookie.prefsMigrated: true
network.http.speculative-parallel-limit: 0
network.predictor.cleaned-up: true
network.prefetch-next: false
places.database.lastMaintenance: 1461772585
places.history.expiration.transient_current_max_pages: 25696
plugin.disable_full_page_plugin_for_types: application/pdf,video/mpeg
plugin.importedState: true
plugin.state.libtotem-cone-plugin: 0
plugin.state.libtotem-gmp-plugin: 0
plugin.state.libtotem-narrowspace-plugin: 2
privacy.donottrackheader.enabled: true
privacy.sanitize.migrateClearSavedPwdsOnExit: true
privacy.sanitize.migrateFx3Prefs: true
privacy.trackingprotection.enabled: true
privacy.trackingprotection.introCount: 20
services.sync.declinedEngines: passwords,prefs
services.sync.engine.passwords: false
services.sync.engine.prefs: false
services.sync.lastPing: 1461773986
services.sync.lastSync: Thu Apr 28 2016 08:19:03 GMT-0700 (PDT)
services.sync.numClients: 1
storage.vacuum.last.index: 1
storage.vacuum.last.places.sqlite: 1461085254

Important Locked Preferences
----------------------------

JavaScript
----------

Incremental GC:

Accessibility
-------------

Activated:
Prevent Accessibility:

Library Versions
----------------

Experimental Features
---------------------

Sandbox
-------
Flags: needinfo?(twalker)

Updated

3 years ago
Flags: needinfo?(twalker)
Bug 1266993 is similar (or the same bug).
See Also: → bug 1266993

Updated

3 years ago
Whiteboard: [MemShrink] → [MemShrink:P2]
Blocks: 1181677
I have not been able to reproduce this bug. I have repeatedly tried with closing irccloud tabs, closing irccloud notifications, syncing tabs, letting multiple channels run in several tabs. In no case have I observed behavior reported here or in bug 1266993.

Updated

3 years ago
Flags: needinfo?(twalker)
So, interestingly, I _can_ reproduce this bug, kind of. It's not really a leak though, because the IRC cloud entry in about:memory goes away eventually. It usually takes about a minute, but then it's gone.

catlee - if you have a chance, could you check to see if your experience is the same? Like, when you have a second, close out your IRC cloud tabs (but make sure you keep at least one remote tab open), go to about:memory, do a minimize memory usage, do a measure, make sure irccloud is there. Then wait about 1 minute, and then minimize memory usage, and then measure again. Is it still there?
Flags: needinfo?(catlee)
(Reporter)

Comment 17

3 years ago
Alright, I just tried this again. After shutting irccloud down and immediately minimize/measure memory usage, I get irccloud showing up under top(none)/detached windows. About 30s later it appears under ghost windows, and stays there for at least 5 minutes.

Interestingly, I have another related ghost window:
2 (100.0%) -- ghost-windows
├──1 (50.00%) ── https://irccloud.mozilla.com/#!/ircs://irc1.dmz.scl3.mozilla.com:6697/%23vcs
└──1 (50.00%) ── https://js.stripe.com/v2/channel.html?stripe_xdm_e=https%3A%2F%2Firccloud.mozilla.com&stripe_xdm_c=default101645&stripe_xdm_p=1#__stripe_transport__
Flags: needinfo?(catlee)
(Reporter)

Comment 18

3 years ago
fwiw, the real reason I care about this bug is that I see a lot of GC jankiness after a few days, and irccloud is often consuming the most memory of any of my windows.

Updated

3 years ago
Flags: needinfo?(jmathies)

Comment 19

3 years ago
Hey naveed, do you have someone who can try to diagnose this? Generally we can't reproduce in our testing but a number of mozilla employees are seeing these irccloud resources hang around for minutes after the tab closes.
tracking-e10s: --- → ?
Flags: needinfo?(jmathies) → needinfo?(nihsanullah)
This was fixed by bug 1233086.

See bug 1266993 for the diagnosis.  I probably should have used this bug rather than that one for that information, though.
Status: NEW → RESOLVED
Last Resolved: 2 years ago
status-firefox47: --- → affected
status-firefox48: --- → affected
status-firefox49: --- → affected
status-firefox50: --- → fixed
Depends on: 1233086
Resolution: --- → FIXED
Target Milestone: --- → Firefox 50
Apparently fixed now. Clearing NI
Flags: needinfo?(nihsanullah)
You need to log in before you can comment on or make changes to this bug.