Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Possible memory leak #42

Open
CubeTheThird opened this issue Nov 26, 2017 · 9 comments
Open

Possible memory leak #42

CubeTheThird opened this issue Nov 26, 2017 · 9 comments

Comments

@CubeTheThird
Copy link

I've been experiencing memory issues with the gnome-shell process, reaching upwards of 1GB over time, and it appears to mostly occur when this extension is enabled (memory does increase without it, but not nearly to that degree). I don't know of a way to obtain memory usage statistics for a specific extension, but will provide logs/reports/etc with some guidance.

@elvetemedve
Copy link
Owner

As Gnome developers said, the Gnome Shell is single threaded, so you can't tell the memory usage of individual extensions externally (e.g. by top command).

The extension reads various files to compute the resource statistics. Each file has an object in the code, but it is re-used for each read operations. Previously there was a bug when a new file object is created before read operations.

@CubeTheThird
Copy link
Author

Thank you for the information. To clarify, when you refer to a bug, is this in the extension, or in Gnome Shell itself?

@elvetemedve
Copy link
Owner

There was a fault in the extension.

I started to watch the gnome-shell process and I see that the used amount of RAM increases over time. So it looks like you are right about the memory leak.
I will try to figure out what's wrong this week.

@elvetemedve
Copy link
Owner

@CubeTheThird Can you tell which version of Gnome do you have?

I did some experiment to find memory leaks in the extension code, but it seems like JS code itself is leaking memory. I replaced the statistic collecting part of the code by returning fake data, but the increasing memory usage still occurred. I haven't spotted any obvious bug in this simplified code.

However I accidentally spotted another memory leak. Here is how my tests scenario looked like:

  • Environment:
    Gnome Shell version: 3.26.2
    GJS version: 1.50.2
    Gnome System Monitor version: 3.26.0+1+g97b9578d
    Gnome Tweak Tool version: 3.26.3
  • Setup: I turned off all the extensions, restarted Gnome Shell. After that started the System Monitor application (which comes with Gnome) and filtered the processes for gnome-shell. Finally I run Tweak Tool.
  • Test: Switch between Network Monitor's window and Tweak Tool's window by pressing Alt + Tab multiple times.
  • Result: The memory usage of the gnome-shell process incremented by 0.5-1 MB after each cycle.

The conslusion from this is that there must be a memory leak in Gnome Shell itself (or other components), since I managed to increase memory by using two Gnome made application without any extensions enabled. Similar bug is also reported upstream.

So I'm afraid that at the moment I can't do too much about fixing it.

@CubeTheThird
Copy link
Author

I have the same versions for all applications as yourself, and I do indeed witness the memory leak as you describe. I do also feel that the rate at which the memory increases with this extension enabled is significantly higher, however it is indeed possible that this is caused by an issue with gnome-shell itself. I will notify if any changes occur with the latest version released on the Arch repositories, to which I have yet to update.

@elvetemedve
Copy link
Owner

There is a discussion going on about a Gnome Shell related bug. So far it confirmed my theory of something wrong with Javascript garbage collector.

@elvetemedve
Copy link
Owner

Memory usage has been improved since Gnome Shell 3.30.

@CubeTheThird Could you upgrade Gnome to 3.30.0 or later and do some testing to see if you still experience this problem? (As for me the gnome-shell process consumes around 130 MB of RAM after half a day of usage, which is very good.)

@CubeTheThird
Copy link
Author

Thanks for the update. I've already upgraded Gnome Shell, so I will re-enable the extension and test.

@CubeTheThird
Copy link
Author

While I haven't been taking detailed notes, there does still appear to be an increase in memory footprint. What I have also noticed though, and I am not familiar enough with the environment to know if it is coincidence, is that the memory usage seemed to have also increased with the extension disabled, though not uninstalled.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants