Neroth / gnome-shell-extension-weather

A simple extension for displaying weather informations from several cities in GNOME Shell
GNU General Public License v3.0
138 stars 143 forks source link

Memory leak #169

Open udovicic opened 10 years ago

udovicic commented 10 years ago

I'm using gnome-shell 3.10.1 and I'm experiencing memory leak while using this extension which is installed from extensions.gnome.org. Gnome-shell normally takes about 190MB of RAM. But when extension is enabled, it piles up memory over time resulting with 600MB over 24h and it keeps going on until I restart Gnome. I don't know if it's important, but I'm using 64bit OS

mtvoid commented 10 years ago

Can confirm it, without the extension enabled, GNOME Shell takes ~ 150 MB of resident memory, but when it's enabled, the usage steadily keeps on rising.

smoebody commented 10 years ago

same for me

$ lsb_release -a
LSB Version:    :core-4.1-amd64:core-4.1-noarch:cxx-4.1-amd64:cxx-4.1-noarch:desktop-4.1-amd64:desktop-4.1-noarch:languages-4.1-amd64:languages-4.1-noarch:printing-4.1-amd64:printing-4.1-noarch
Distributor ID: Fedora
Description:    Fedora release 20 (Heisenbug)
Release:        20
Codename:       Heisenbug```

$ gnome-shell --version
GNOME Shell 3.10.4
ferdnyc commented 10 years ago

For those who are seeing memory consumption growing over time, does a garbage collection run make any difference in the stats? (You can manually trigger garbage collecton using Looking Glass. Hit Alt+F2 and type lg to open the tool, then switch to the Memory pane and click the "Full GC" button.)

Neroth commented 10 years ago

The same in the Weather App. When you click the Reload button (call reload to libGWeather) the memory increase ... It's a libGWeather bug :( ...

Neroth commented 10 years ago

I tried this :

(164) this.info.set_enabled_providers(GWeather.Provider.METAR |
(165)                           GWeather.Provider.YR_NO |
(166)                                   GWeather.Provider.OWM);
(167) 
(168) /*this.infoC = this.info.connect("updated",function(){that.refresh();that.status(0);}); this.status("Information connection started");*/

...

(643) this.UI.reloadButton = new PopupMenu.PopupMenuItem(_("Reload Weather Information"));
(644) this.UI.reloadButton.connect('activate', Lang.bind(this, function(){/*this.info.update();*/}));

When you click the Reload button, memory is not increasing anymore ... the memory leak is from libGWeather ...