Closed Bug 835010 Opened 12 years ago Closed 12 years ago

Roboform memory leak on closing windows and also after being disabled


(WebExtensions :: General, defect)

Windows XP
Not set


(Not tracked)



(Reporter: morac, Unassigned)



(Whiteboard: [MemShrink:P2])


(1 file)

Reported to developer as ticket 614090.

I've found that with Roboform installed and enabled, chrome windows are leaking memory when closed in Firefox 18.0.1 and up. They aren't becoming "Ghost Windows", but the memory used by objects added to the windows aren't being released.

In addition, disabling Roboform does not release the memory used by Roboform resulting in a zombie compartment (likely because it throws an exception). Only a restart of Firefox clears up the memory for Roboform.

First off with Roboform installed, memory is not released when closing Firefox windows. This is easy to see when you install the attached "Memory Leak Tester" Firefox add-on. It simply creates a large string (about 75 MB in Firefox 18) and attaches it to the Chrome window. Normally when the window is closed, this would be garbage collected, but with Roboform installed and enabled, it is not.

Steps to reproduce running Firefox 18.0.1 for Windows:
1. Install Roboform
2. Install the attached Leak Test add-on in a new Firefox profile (with Roboform already installed) and restart the browser.
3. Go to about:memory in the browser and you should see something similar to the following:

│ ├───80.09 MB (37.28%) -- top(chrome://browser/content/browser.xul, id=5)/active
│ │ ├──80.04 MB (37.26%) -- window(chrome://browser/content/browser.xul)
│ │ │ ├──78.58 MB (36.58%) -- js/compartment([System Principal], about:blank)
│ │ │ │ ├──77.57 MB (36.11%) -- gc-heap
│ │ │ │ │ ├──76.29 MB (35.52%) ── strings
│ │ │ │ │ └───1.27 MB (00.59%) ++ (6 tiny)
│ │ │ │ └───1.01 MB (00.47%) ++ (6 tiny)
│ │ │ └───1.46 MB (00.68%) ++ (4 tiny)
│ │ └───0.05 MB (00.02%) ++ window(about:blank)

4. Open a new browser window and close it. If you refresh the about:memory page, you should see the memory usage has increased by about 75 MB and the following will appear on the page:

│ ├───78.27 MB (36.44%) -- top(none)/detached/window([system])
│ │ ├──78.25 MB (36.43%) -- js/compartment([System Principal], about:blank)
│ │ │ ├──77.39 MB (36.03%) -- gc-heap
│ │ │ │ ├──76.29 MB (35.52%) ── strings
│ │ │ │ └───1.10 MB (00.51%) ++ (6 tiny)
│ │ │ └───0.86 MB (00.40%) ++ (5 tiny)
│ │ └───0.02 MB (00.01%) ++ dom

5. Click the "Minimize memory usage" button at the bottom of the page a few times.

Expected result: The "top(none)/detached/window([system])" data should be garbage collected.

Actual result: It is not garbage collected and instead leaks.

6. Disable Roboform in the Firefox Add-on Manager. Note that this throws an exception which displays in the Firefox debug console window (if enabled using the -console startup option in Firefox) and add-on logging is enabled (see

*** WARN addons.xpi: Exception running bootstrap method shutdown on {22119944-ED35-4ab1-910B-E619EA06A115}:
[Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsIConsoleService.unregisterListener]"
nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: resource://gre/modules/XPIProvider.jsm ->
file:///C:/Program%20Files/Siber%20Systems/AI%20RoboForm/Firefox/bootstrap.js -> resource://roboform/content/roboform.js :: zds :: line 615" data: no]

7. Note at this point the add-on says it is disabled and it's toolbar disaappears, but it is still "active" in Firefox. If you go to "about:compartments" in the browser window and search for "Roboform", its bootstrap.js file is still loaded which is wrong. Bootstrap addons should be completely removed from memory when they are disabled.

8. Restart since Roboform is still not releasing memory and repeat the steps 3 through 5 above.

Results: The "top(none)/detached/window([system])" data is garbage collected when Roboform is disabled (or not installed)
Whiteboard: [MemShrink]
I'm not sure there's much we can do here, but this is a really good bug report.  :)
I think Roboform isn't on AMO.  Kris, do you have a contact for Roboform?
Whiteboard: [MemShrink] → [MemShrink:P2]
I submitted a ticket with Roboform and they said this should be fixed in their next release.
RoboForm isn't on AMO, but RoboForm Lite is. Michael, do you know of this also occurs with that add-on?

Also, thanks for filing RoboForm ticket. Can you provide a link?
I don't know if Roboform Lite has this problem as I didn't test it.  The Lite version doesn't use a DLL component though. 

Unfortunately Siber Systems ticket system is private so any link I provided wouldn't work.
I can't reproduce this with RoboForm Lite.

I'm going to leave this bug open for tracking purposes. Please keep us updated with the progress on your ticket.
This appears to be fixed in Roboform version
Closed: 12 years ago
Resolution: --- → FIXED
Component: Add-ons → General
Product: Tech Evangelism → WebExtensions
You need to log in before you can comment on or make changes to this bug.