Closed
Bug 1106833
Opened 11 years ago
Closed 10 years ago
Memory leak on x64Nightly with Pushbullet Addon
Categories
(Core :: General, defect)
Tracking
()
VERIFIED
FIXED
People
(Reporter: mayankleoboy1, Unassigned)
Details
Attachments
(5 files, 3 obsolete files)
User Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:37.0) Gecko/20100101 Firefox/37.0
Build ID: 20141201030207
Steps to reproduce:
in my normal profile, with e10s disabled, I kept open a gmail tab open , and left firefox idle for some time.
At startup, the memory use was ~400MB. After about 2 hours, memory use was ~700mb, and after 5 hours from then, memory use was 1.2GB.
I am attaching the memory reports of the 2 hour, and the 5 hour reports.
Both these reports were with Nightly being completely idle. I use Nightly x64
Reporter | ||
Comment 1•11 years ago
|
||
memory usage after 5 hours
Reporter | ||
Comment 2•11 years ago
|
||
both these reports are after minimizing memory in about:memory
Reporter | ||
Comment 3•11 years ago
|
||
After disabling all my extensions, i couldnt reproduce this.
So this is definitly a addons-extensions issue.
I will try to narrow down which addon causes this.
Reporter | ||
Updated•11 years ago
|
Summary: increase in memory use when a gmail tab is kept open in background → Memory leak on x64Nightly with addon enbled
Reporter | ||
Comment 4•11 years ago
|
||
Confirmed it is the Pushbullet Addon. You can get the latest version from here https://addons.mozilla.org/en-US/firefox/addon/pushbullet/
STR:
1. Create a new profile
2. Install the Pushbullet addon
3. Let Nightly be idle for 8-9 hours.
Memory usage is huge. In my case, it went from ~200MB to ~800MB overnight. Doing minimize memory had no effect.
Attaching the memory report after 8 hours, and doing minimize memory.
Summary: Memory leak on x64Nightly with addon enbled → Memory leak on x64Nightly with Pushbullet Addon
Reporter | ||
Comment 5•11 years ago
|
||
Attachment #8531289 -
Attachment is obsolete: true
Attachment #8531293 -
Attachment is obsolete: true
Reporter | ||
Comment 6•11 years ago
|
||
tentatively ni? ing you, as you seem the best person to take a look at this.
Flags: needinfo?(n.nethercote)
![]() |
||
Comment 7•11 years ago
|
||
Thank you for working out which add-on is the cause; that's extremely helpful.
The most important thing in the memory reports is this:
> ├──404.17 MB (50.15%) ── heap-unclassified
I've started a DMD run which will give us more insight into this memory usage.
And I've CC'd kmag, who is the add-on leak expert.
Flags: needinfo?(n.nethercote)
Reporter | ||
Comment 8•11 years ago
|
||
3 things i forgot to mention :
1. This is with e10s disabled. I havent checked if the leak persists in e10s mode.
2. You might have to sign on the addon with your google account.
3. I enabled the "enable universal copy paste" in the addons options. You might have to, too.
Comment 9•11 years ago
|
||
I briefly tested this with the instructions from comment 4 and comment 8, but after a couple of hours I saw no significant increase in memory use, so I suspect that there are some other necessary steps.
I also gave the code a quick look and didn't see anything glaringly problematic. Except that enabling the universal copy & paste causes the add-on to make 5 useless HTTP requests to localhost per second and, if I'm reading the code right, doesn't actually work (at least for the purposes of reporting clipboard changes to its servers).
However, looking at your memory report, this is probably relevant, given the amount of memory consumed by the requests.js module.
Did you do anything else in the browser before leaving it to idle? Did you do anything else on other devices which would cause the Pushbullet servers to interact with the add-on? Can you also try reproducing this with universal copy & paste disabled?
Thanks.
Reporter | ||
Comment 10•11 years ago
|
||
In Nightly->Options->Options->Privacy, i made two changes :
1. Enabled the "I dont want to be tracked"
2. Chose "Use custom settings for history" , and then
"Accept cookies from third party" = never .
The "never accepting cookies from third party" will cause the addon to not sign you in. Which means you can sign in the addon from the pushbullet.com website, but in the actual addon you will remain unsigned.
To sign in, you have to temporarily enable third party cookies and then sign in the addon.
After that, i disabled third party cookies again. I remain signed in the addon, AND i dont get third party cookies.
Could this be one of the reasons of the leak ?
i use the internet through a wall, which will log me out after two hours.
To check whehter the addon leaks with "universal copy paste", i will leave the browser open tonight.
![]() |
||
Comment 11•11 years ago
|
||
I also couldn't reproduce the problem. I'll wait for the results from comment 10 before trying again.
Reporter | ||
Comment 12•11 years ago
|
||
So i left Nighty idle for the night.
I disabled universal copy, and disabled third party cookies. And the memory leak didnt happen.
So i think the leak is due to a combination of disabling third party cookies, and enabling universal copy-paste.
Reporter | ||
Comment 13•11 years ago
|
||
These appear to be better STR:
1. Install Nightly x64. Disable e10s.
2. Install Pushbullet addon.
3. In the addon, sign in your google account.
4. From the addon settings, enable Universal copy
5. From the Nightly->Options->Privacy, set "Allow third party cookies" to never.
Comment 14•11 years ago
|
||
I really wish you hadn't changed two variables at once.
In any case, I suspect that third-party cookies are not relevant. Given the memory usage in the requests module and the dependence on that setting, it looks like this is probably a leak in that module.
However, I still can't reproduce this myself, so I think we're still missing some information. The copy and paste feature attempts to make requests to a program running on localhost. Are you running a separate Pushbullet app? Are you opening any pages in the same session before you leave Firefox to idle?
Also, can you possibly try to reproduce with a Pushbullet account which isn't active on any other devices?
Reporter | ||
Comment 15•11 years ago
|
||
(In reply to Kris Maglione [:kmag] from comment #14)
Are you running a separate Pushbullet app?
>
i have the Android Pushbullet app on my android phone, and a Pushbullet extension for Google Chrome on desktop.
> Are you opening any pages in the same session before you leave Firefox to idle?
No. On startup, as soon as a visible window appears, i open a newtab.
> Also, can you possibly try to reproduce with a Pushbullet account which
> isn't active on any other devices?
Will try.
For the next try, i will just enable universal copy, with a account that isnt activated anywhere.
Reporter | ||
Comment 16•11 years ago
|
||
In a new profile, I signed on with a new ID that isnt activated anywhere else, and enabled the universal copy feature.
Memory use increased from ~150 to ~ 350 in 2 hours.
Attaching the memory report
Comment 17•11 years ago
|
||
OK, it looks like I'm able to reproduce part of this on nightly and Aurora now. As far as I know, I haven't changed anything, but I'm now seeing heap-unclassified grow steadily. I'm still not seeing any growth in the add-on compartments, though, and that's something I'm just as worried about.
I'll leave these instances running for a few hours and see what happens.
Status: UNCONFIRMED → NEW
Ever confirmed: true
Comment 18•11 years ago
|
||
Hm. This is strange. While your memory reports show growth in heap-unclassified and the Pushbullet add-on's zone, I'm seeing growth of heap-unclassified and the SDK loader's compartment.
I want to be sure we're testing with the same versions. Can you give me the build date from the About dialog, and the contents of about:support (click 'Copy text to clipboard')?
Comment 19•11 years ago
|
||
Reporter | ||
Comment 20•11 years ago
|
||
Reporter | ||
Comment 21•11 years ago
|
||
You dont even have to log in with a account on Pushbullet. Just installing the addon, and enbabling universal copy will leak memory.
Comment 22•11 years ago
|
||
Hm. That about:support output has a lot of other add-ons installed and enabled, Pushbullet disabled, and e10s enabled. I was hoping for the output of the profile you were testing with so that I could look for relevant differences.
Reporter | ||
Comment 23•11 years ago
|
||
Reporter | ||
Updated•11 years ago
|
Attachment #8550030 -
Attachment is obsolete: true
Comment 24•11 years ago
|
||
OK, thanks for the info.
I can't reproduce this reliably. For the moment, I'm going to contact the add-on authors about fixing the HTTP polling issues, which should solve the problem with this add-on.
I'll file a different bug for determining why that behavior causes leaks.
Reporter | ||
Comment 25•11 years ago
|
||
memory report without signing in the addon. Just installed it, and enabled universal copy.
Comment 26•10 years ago
|
||
A new version of Pushbullet has been published which does not poll as aggressively.
Can you please verify that this solves the problem?
Thanks.
Status: NEW → RESOLVED
Closed: 10 years ago
Flags: needinfo?(mayankleoboy1)
Resolution: --- → FIXED
Reporter | ||
Comment 27•10 years ago
|
||
Will test it.
And thanks for taking this up!
Flags: needinfo?(mayankleoboy1)
Reporter | ||
Comment 28•10 years ago
|
||
Is there any way to speed up time in Nightly ? As in can i send some external signal/command to Nightly to speed up the time, so that the leaks that happen overnight happen in a few minutes ?
Comment 29•10 years ago
|
||
Unfortunately not.
Reporter | ||
Comment 30•10 years ago
|
||
OK. I guess this would have helped diagnose slow leaks in Firefox.
Anyway, i will test this tonight, and report tomorrow.
Reporter | ||
Comment 31•10 years ago
|
||
(In reply to Kris Maglione [:kmag] from comment #26)
> A new version of Pushbullet has been published which does not poll as
> aggressively.
>
> Can you please verify that this solves the problem?
>
> Thanks.
Verified fixed after leaving Nightly idle overnight.
You need to log in
before you can comment on or make changes to this bug.
Description
•