crowbartools / MixrElixr

Browser extension that enhances your Mixer viewing experience with custom emotes, new features, and a ton of options.
https://mixrelixr.com
GNU General Public License v3.0
23 stars 7 forks source link

[Bug] large memory leak #92

Open buck2202 opened 4 years ago

buck2202 commented 4 years ago

Describe the bug MixrElixr memory usage continually increases in the background, even if mixer isn't visited at all in a browser session. Have to kill the extension or restart the browser to reclaim the memory.

I very rarely completely close out my browser; after a few days, I find the extension using GB of memory when it hasn't even been active.

To Reproduce Steps to reproduce the behavior:

  1. Install mixrelixr
  2. Start browser
  3. Wait

Expected behavior Not leak, especially when the plugin isn't in active use.

Screenshots Screenshot from 2020-01-24 14-24-38

Environment (please complete the following information):

Additional context I'm not really sure how to provide more detailed debugging information about a browser extension, but this happens repeatably on multiple PCs for me. So, if you can tell me how to get more useful information, let me know.

brumoen commented 4 years ago

Elixr_MemoryFoorprint

This is from Ubuntu 19.04 5.0.0-38 Chrome 79.0.3945.130 MixrElixr: 2.10.2

With a system uptime of 3 days and 23 hours, Chrome has, right now, been running for 3 days and 22 hours.

How many days is "a few days"? Chrome is usually running 24/7 on my setup without seeing this issue. But I do watch some streams during the week, so I would have to run another session with just Elixr loaded up to see if the same issue crops up there.

buck2202 commented 4 years ago

That particular browser session is about 10 days old. I have another 9-day-old session on a different PC where the current consumption is 1,387,040K--on that PC, I've visited mixer to watch a handful of VODs. If you want a more precise timeline, I can note the usage for a while after killing/restarting the extension to get a fresh start.

Might also be useful to note that I only really use the extension to get access to theater mode and I'm not logged into a mixer account. Dunno there's some initialization check for an active account that might be leaking that you wouldn't see in your usage?

edit: just a quick observation--watching the chrome task manager with no active mixer tabs, I see a small network usage from mixrelixr every ~15s. Memory usage increases every 45s

buck2202 commented 4 years ago

I killed/restarted mixrelixr and have watched the memory usage for a while. I'm at about 350000K after 40 hours.

image

buck2202 commented 4 years ago

The leak has stayed linear for a number of days now, and the pattern of increased memory every ~45s continues. The "few days" to reach a gig seems to be about 5.

image

If there's something I can provide to help debugging, let me know.

SReject commented 4 years ago

Just to be clear, we are looking into this but are not having luck in reproducing the issue.

buck2202 commented 4 years ago

In the chrome task manager, I do see network usage from the extension every ~15s. When I was watching it before, the memory footprint would increase consistently with every third network pulse, so every 45s. For whatever reason, it's not consistent as I'm watching it now. Once it took 1m30s to increase, then the next cycle 2m. It could be that I didn't watch it long enough last time before concluding there was a pattern, or maybe it's behaving differently now; sorry, I'm not sure. The memory increase does always occur coincident with a network pulse, but it doesn't happen with every network pulse.

This doesn't seem to be impacted by there being mixer tabs open or not. On the PC I was posting usage from above, I don't think there was a mixer tab open at any point during the ~5 days.