uBlockOrigin / uBlock-issues

This is the community-maintained issue tracker for uBlock Origin
https://github.com/gorhill/uBlock
944 stars 80 forks source link

Firefox slowdown and possible uBlock memory leak #1333

Closed sesinger closed 3 years ago

sesinger commented 4 years ago

Prerequisites

Description

When running Firefox with uBlock and the Roboform extension over 3 to 4 hours the browser slows down to the point if being unusable. Also, Firefox memory usage increases 3 to 4 times. I reported this to Roboform and they believe it is a uBlock issue. I have attached an about:memory file capture. memory-report.json.gz

A specific URL where the issue occurs

[A specific URL is MANDATORY for issue happening on a web page, even if it happens "everywhere"]

Steps to Reproduce

1) Disabled all extensions except Roboform with Autofill option off - No problem

2) Enabled Autofill - minor memory increase over 24 hours but Firefox ran fine

3) Disabled Roboform extension and enabled uBlock Origin extension - Firefox ran fine and no memory increase

4) Enabled Roboform without Autofill plus uBlock extension - minor memory increase over 24 hours but Firefox ran fine

5) Enabled Roboform with Autofill plus uBlock extension - Major memory increase and Firefox slowed down and became non-functional over 3-4 hours.

It appears there is some conflict between Roboform with Autofill on and uBlock Origin.

Expected behavior:

[What you expected to happen]

Actual behavior:

[What actually happened]

Your environment

gorhill commented 4 years ago

Please try with another content blocker to confirm the issue requires uBO specifically to be present.

uBlock-user commented 4 years ago

I reported this to Roboform and they believe it is a uBlock issue.

How did they come to this conclusion ?

sesinger commented 4 years ago

Please try with another content blocker to confirm the issue requires uBO specifically to be present.

I have now installed Ghostery and disabled uBO. We'll see what happens over the next 3-4 hours.

gorhill commented 4 years ago

Also, did you try with other password managers? For example, Bitwarden is well rated.

sesinger commented 4 years ago

I reported this to Roboform and they believe it is a uBlock issue.

How did they come to this conclusion ?

This is what they said which I realize is hardly definitive: "Please be advised, RoboForm does not attempt to take control over other extensions and / or extension activities so the problem cannot be fixed on our side."

gorhill commented 4 years ago

I don't understand their answer, what did you tell them to get such answer?

sesinger commented 4 years ago

Also, did you try with other password managers? For example, Bitwarden is well rated.

I haven't. I have a subscription and been using Roboform for many years on multiple devices without problems.

sesinger commented 4 years ago

I don't understand their answer, why did you tell them to get such answer?

I told them the same things I put in this issue. I also just sent them the about:memory file

gorhill commented 4 years ago

Do I need a subscription to reproduce?

gorhill commented 4 years ago

Your memory report is anonymized, I can't associate memory usage with anything specific. I do see however that you had other extensions enabled beside uBO and RoboForm -- OneNote Web Clipper, Bypass Paywalls, Notification Sound, Form Autofill. How did you ascertain that these other extensions are not the cause?

sesinger commented 4 years ago

No. The free version at roboform.com should be fine. The subscription version adds the muti-device feature. Make sure the Autofill option is set to "Offer to Autofill"

sesinger commented 4 years ago

When I ran the tests as indicated in my original post, I had all the other extensions turned off.

Once the Ghostery test you requested is completed, I will rerun with just Roboform and UBo and send you a memory report without it being anonymized. It will probably be tomorrow before i do that.

gorhill commented 4 years ago

So far from what I see in the memory report as it is is that there seems to be something in the extensions process taking a lot of memory, but I can tell that is not uBO because it does not show ArrayBuffer or WASM module being in use. The one entry matching uBO's usage of ArrayBuffer and WASM is 10.7 MB.

gorhill commented 4 years ago

The free version at roboform.com should be fine

It's asking me to create an account in the popup menu, there is no option to configure. For now I rather not have to go through that step. Never mind, I created an account using a nonsensical email and this worked.

sesinger commented 4 years ago

To find the Options, right click on the Roboform icon in the taskbar. Autofill should be on the list.

gorhill commented 3 years ago

Do you need to browse or can the browser just be idle with only a handful of tabs opened?

sesinger commented 3 years ago

I'm not sure, as I'm regularly using the browser.

I believe you do have to be logged in with your Master Password.

gorhill commented 3 years ago

I'm going to wait for a non-anonymized memory report, it does not look like anything is happening on my side and trying to reproduce this is a time sink for me given that this is taking time away from what I do usually.

gorhill commented 3 years ago

Thanks, I will report my findings later. I deleted your message to prevent your non-anonymized reports from being further downloaded.

gorhill commented 3 years ago

Yeah the issue seems to be with RoboForm, this is the extension holding onto memory. They will have to look into this, it's for them to fix, not other extensions; other extensions are not responsible for them holding onto memory, only them can fix this.

A few excerpts showing this:


web (pid 29344)

RoboForm
20.02 MB (100.0%) -- explicit
└──20.02 MB (100.0%) -- js-non-window/zones
   ├──16.96 MB (84.72%) ++ zone(0x1a84a8fd000)
   ├───2.89 MB (14.43%) ++ zone(0x1a848c30000)
   └───0.17 MB (00.85%) ++ zone(0x1a8440740

Ghostery
0.82 MB (100.0%) -- explicit
└──0.82 MB (100.0%) -- js-non-window/zones
   ├──0.41 MB (50.24%) ++ zone(0x1a848c30000)
   └──0.41 MB (49.76%) ++ zone(0x1a84a8fd000)

web (pid 29768)

Roboform
100.75 MB (100.0%) -- explicit
├──100.64 MB (99.89%) -- js-non-window/zones
│  ├───77.55 MB (76.97%) ++ zone(0x21542e7b000)
│  ├───20.07 MB (19.92%) ++ zone(0x215208c2000)
│  ├────2.90 MB (02.88%) ++ zone(0x21537de9000)

Ghostery
5.44 MB (100.0%) -- explicit
└──5.44 MB (100.0%) -- js-non-window/zones
   ├──4.33 MB (79.69%) ++ zone(0x21542e7b000)
   ├──0.62 MB (11.38%) ++ zone(0x215208c2000)
   └──0.49 MB (08.93%) ++ zone(0x21537de9000)

extension (pid 21264)

Roboform
184.50 MB (100.0%) -- explicit
├──184.49 MB (100.0%) ++ window-objects
└────0.01 MB (00.00%) ++ js-non-window

Ghostery
38.53 MB (100.0%) -- explicit
├──37.03 MB (96.11%) -- window-objects
│  ├──20.90 MB (54.25%) ++ active
│  └──16.13 MB (41.86%) ++ js-zone(0x19d08961000)
└───1.50 MB (03.89%) ++ workers

web (pid 14604)

RoboForm
72.47 MB (100.0%) -- explicit
└──72.47 MB (100.0%) -- js-non-window/zones
   ├──69.58 MB (96.01%) ++ zone(0x1b78b688000)
   └───2.89 MB (03.99%) ++ zone(0x1b796135000)

Ghostery
5.68 MB (100.0%) -- explicit
└──5.68 MB (100.0%) -- js-non-window/zones
   ├──5.19 MB (91.51%) ++ zone(0x1b78b688000)
   └──0.48 MB (08.49%) ++ zone(0x1b796135000)

And so on

mkeroppi commented 3 years ago

I have the same problem. Ublock origin memory usage swells to over 1GB over 2-3 days of usage (from a fresh restart of <50MB). No other extension come close (my next extension Videodownloadhelper uses 50MB). ublock

mkeroppi commented 3 years ago

Firefox 82.0.3 uBlock Origin 1.30.6 No Tree Style Tabs

sesinger commented 3 years ago

Firefox 82.0.3 uBlock 1.30.6

A new version of the Roboform extension (9.0.9.1) came out yesterday and may have solved the problem. I've been using it today and so far so good.

gorhill commented 3 years ago

@mkeroppi I added a workaround in uBO dev build 1.30.9b16, and this seems to get rid of the leaky favicon data URI, as far as about:memory reports. You can see if this makes a difference, the dev build is an in-place replacement for the stable version of uBO, so all your settings will be preserved: https://github.com/gorhill/uBlock/releases.

mkeroppi commented 3 years ago

@mkeroppi I added a workaround in uBO dev build 1.30.9b16, and this seems to get rid of the leaky favicon data URI, as far as about:memory reports. You can see if this makes a difference, the dev build is an in-place replacement for the stable version of uBO, so all your settings will be preserved: https://github.com/gorhill/uBlock/releases.

Unable to repeat the issue with the page at http://www.pyrunner.com/weblog/2016/05/26/compressed-sensing-python/

I'll run the extension for a few days and see.

mkeroppi commented 3 years ago

I do think that fixed it (for now). It seems a similar issue plague some other extensions (but none uses that call nearly as often as uBlock before).