mate-desktop / mate-panel

MATE panel
https://mate-desktop.org
GNU General Public License v2.0
184 stars 118 forks source link

mate-panel used up memory and crashed #115

Open hczhcz opened 11 years ago

hczhcz commented 11 years ago

Linux Mint 14, upgraded to MATE 1.6 yesterday. It works well, until I put two panel on the bottom of the screen and switch one of them to autohide. Then, mate-panel crashed and crashes when it start again (under the same user). Currently I uses another username to login. I am looking for help.

Thanks.

ps. Sorry for grammar/spell mistakes

--- Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/1311707-mate-panel-used-up-memory-and-crashed?utm_campaign=plugin&utm_content=tracker%2F314880&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F314880&utm_medium=issues&utm_source=github).
sergiobenrocha2 commented 11 years ago

I had this problem too, there were 3 panels in my desktop (bottom, left and top, the last two are autohidden), and I added more one, it appeared in the right and I changed its location to the top, then my desktop froze but It was possible to move the mouse pointer and switch tty. I run top command in tty1 and mate-panel and Xorg they were using bulk processing. After this, I restarted and tried to enter in my user login, but desktop frozes everytime that it tried to load panel.

I had to go to tty1 and I ran:

gsettings get org.mate.panel toplevel-id-list

Then the result was: ['bottom', 'toplevel_0', 'toplevel_1', 'toplevel_4']

The 'toplevel_4' was the panel with problem, then I ran:

dbus-launch gsettings set org.mate.panel toplevel-id-list "['bottom', 'toplevel_0', 'toplevel_1']"

and the problem disappeared.

I'm using Mate 1.6 in Linux Mint 15 (64 bits), the system is updated.

Hardware:

00:00.0 Host bridge: Intel Corporation Mobile 4 Series Chipset Memory Controller Hub (rev 07) 00:02.0 VGA compatible controller: Intel Corporation Mobile 4 Series Chipset Integrated Graphics Controller (rev 07) 00:02.1 Display controller: Intel Corporation Mobile 4 Series Chipset Integrated Graphics Controller (rev 07) 00:1a.0 USB controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #4 (rev 03) 00:1a.1 USB controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #5 (rev 03) 00:1a.2 USB controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #6 (rev 03) 00:1a.7 USB controller: Intel Corporation 82801I (ICH9 Family) USB2 EHCI Controller #2 (rev 03) 00:1b.0 Audio device: Intel Corporation 82801I (ICH9 Family) HD Audio Controller (rev 03) 00:1c.0 PCI bridge: Intel Corporation 82801I (ICH9 Family) PCI Express Port 1 (rev 03) 00:1c.2 PCI bridge: Intel Corporation 82801I (ICH9 Family) PCI Express Port 3 (rev 03) 00:1c.5 PCI bridge: Intel Corporation 82801I (ICH9 Family) PCI Express Port 6 (rev 03) 00:1d.0 USB controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #1 (rev 03) 00:1d.1 USB controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #2 (rev 03) 00:1d.2 USB controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #3 (rev 03) 00:1d.7 USB controller: Intel Corporation 82801I (ICH9 Family) USB2 EHCI Controller #1 (rev 03) 00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev 93) 00:1f.0 ISA bridge: Intel Corporation ICH9M LPC Interface Controller (rev 03) 00:1f.2 SATA controller: Intel Corporation 82801IBM/IEM (ICH9M/ICH9M-E) 4 port SATA Controller [AHCI mode](rev 03) 00:1f.3 SMBus: Intel Corporation 82801I (ICH9 Family) SMBus Controller (rev 03) 04:00.0 Network controller: Realtek Semiconductor Co., Ltd. RTL8191SEvB Wireless LAN Controller (rev 10) 06:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168 PCI Express Gigabit Ethernet controller (rev 03)

-display:0
description: VGA compatible controller product: Mobile 4 Series Chipset Integrated Graphics Controller vendor: Intel Corporation physical id: 2 bus info: pci@0000:00:02.0 version: 07 width: 64 bits clock: 33MHz capabilities: msi pm vga_controller bus_master cap_list rom configuration: driver=i915 latency=0 resources: irq:45 memory:fc000000-fc3fffff memory:d0000000-dfffffff ioport:1800(size=8)
-display:1 UNCLAIMED description: Display controller product: Mobile 4 Series Chipset Integrated Graphics Controller vendor: Intel Corporation physical id: 2.1 bus info: pci@0000:00:02.1 version: 07 width: 64 bits clock: 33MHz capabilities: pm bus_master cap_list configuration: latency=0 resources: memory:fc400000-fc4fffff

Intel(R) Core(TM)2 Duo CPU T6600 @ 2.20GHz

Sorry for my english...

sergiobenrocha2 commented 10 years ago

I would like to test this in mate 1.8 against gdb and valgrind. I'm learning how to debug, but i have a good hardware and time to do this, so if someone help me, i can figure out what's happen (at least, i can attach results here).

I know how to call programs using gdb and valgrind from terminal, the problem is that mate-panel is something that is already running. I have no idea how to do this.

stefano-k commented 10 years ago
gdb mate-panel
run --replace
sergiobenrocha2 commented 10 years ago

Running Debian Jessie amd64 in virtualbox, this issue can be reproducible:

test5

Quit valgrind, and try to restart mate-panel:

test6

sergiobenrocha2 commented 10 years ago

test9

sergiobenrocha2 commented 10 years ago

I tried valgrind in Marco too, like last picture. But there are messages in terminal only after this memory leak reach the maximum of RAM, so i don't know if it will be helpful. Valgrind in mate-panel: memory leak slow. Using in Marco: it's very fast.

zetok commented 10 years ago

I wonder why this serious issue haven't been fixed already, considering that it exists since 1.6…

I tried out mate 1.8 on Gentoo amd64.

After launching few programs mate-panel started leaking memory. What is a lot worse, it lead to problems with Xorg, which caused system to be hardly responsive.

Steps to reproduce:

  1. Default panels.
  2. Change bottom panel from "Bottom" to "Left"
  3. Launch few programs.
  4. mate-panel shits itself.

Bug renders MATE useless and counter-productive, hindering UX to the point where it's painful to even get out of MATE.

Please fix.

BTW, it amazes me that even though there are people who confirmed it, it's still labelled as "unconfirmed"…

stefano-k commented 10 years ago

@zetok are you aware that we are only volunteers?

raveit65 commented 8 years ago

Does the issue still exists with Mate-1.12 ?

h1z1 commented 7 years ago

First hit on Google was this. Curious has there been any update ? Both marco and mate-panel consume massive amounts of memory at seemingly random times. In mate-panel's case it will balloon as gigabytes of resident memory associated with X.

I can monitor this for now with xrestop, I don't have a clue how to tell what is actually using up the memory though. CentOS7, mate 1.12, mate panel 1.8.1

raveit65 commented 7 years ago

Curious has there been any update ?

Why, the issue isn't confirmed.

CentOS7, mate 1.12, mate panel 1.8.1

  1. Please update to 1.14 from epel7 repo
  2. Don't mix 1.12.x with 1.8.1 ? this can cause weird issues.
h1z1 commented 7 years ago

Curious has there been any update ?

Why, the issue isn't confirmed.

? It was confirmed.

CentOS7, mate 1.12, mate panel 1.8.1

Please update to 1.14 from epel7 repo Don't mix 1.12.x with 1.8.1 ? this can cause weird issues.

OK.. Done. I don't know if it's a problem with the repo or source rpm but the dependencies are not there. You can update each individually.

raveit65 commented 7 years ago

Can you please describe your setup and at which point the panel increase the memory consumption?. With normal default Centos7 panel setup i don't see a memory leak. And please do restart your box after all Mate packages are updated to 1.14.x.

I don't know if it's a problem with the repo or source rpm but the dependencies are not there. You can update each individually.

Why should i add unneeded dependencies when a 'yum update' does the job? All Mate packages are in MATEs comps group, so installing the desktop with groupinstall command works.

h1z1 commented 7 years ago

Can you please describe your setup and at which point the panel increase the memory consumption?.

I can try, what in particular are you looking for? In general CentOS 7, laptop. I don't know what caused it. I have 32Gigs of memory, didn't notice it right away. I keep hitting another bug not related to this forcing me to restart marco sometimes multiple times per day. In short windows lose their order / focus to the point I'll click on one and another gains focus. Restarting marco is the only way I know to fix it.

With normal default Centos7 panel setup i don't see a memory leak. And please do restart your box after all Mate packages are updated to 1.14.x.

So there is hope.. yay. With what version of Mate?

I don't know if it's a problem with the repo or source rpm but the dependencies are not there. You can update each individually.

Why should i add unneeded dependencies when a 'yum update' does the job? All Mate packages are in MATEs comps group, so installing the desktop with > groupinstall command works.

It will update everything, yum update doesn't do the same thing. That is what dependency tracking was made for.

raveit65 commented 7 years ago

It will update everything, yum update doesn't do the same thing.

common, 'yum update' command updated all packages which have newer versions in 'update' repo. In result your system have the neuest available packages from Centos7 and epel7 repos.

It will update everything, yum update doesn't do the same thing.

I want to know your panel setup.....how much panels or simply using the default.

h1z1 commented 7 years ago

It will update everything, yum update doesn't do the same thing.

common, 'yum update' command updated all packages which have newer versions in 'update' repo. In result your system have the neuest available packages from Centos7 and epel7 repos.

When it comes to anything desktop related, yum update is a dangerous thing to run. Blindly installing anything is in itself quite risky.

It will update everything, yum update doesn't do the same thing.

I want to know your panel setup.....how much panels or simply using the default.

Right now I have 14, 3 with windows open. I can literally hit CTRL-ALT-Left/Right to change desktops and see Panel consume pixelbuf memory in xrestop Appears to be ~10 buffers per switch.

h1z1 commented 7 years ago

          Monitoring 36 clients. XErrors: 0
          Pixmaps: 1066979K total, Other:     370K total, All: 1067349K total

res-base Wins  GCs Fnts Pxms Misc   Pxm mem  Other   Total   PID Identifier    
1200000   115   58    0 8239   84   484743K  6K 484749K  2631 Panel
3800000    58  545    2  147 5725   333978K    150K 334128K 15080 marco

          Monitoring 36 clients. XErrors: 0
          Pixmaps: 1068339K total, Other:     370K total, All: 1068710K total

res-base Wins  GCs Fnts Pxms Misc   Pxm mem  Other   Total   PID Identifier    
1200000   115   58    0 8245   84   485093K  6K 485099K  2631 Panel
3800000    58  545    2  139 5728   334725K    150K 334876K 15080 marco

Update - As of now:


          Monitoring 34 clients. XErrors: 0
          Pixmaps: 1039813K total, Other:     353K total, All: 1040166K total

res-base Wins  GCs Fnts Pxms Misc   Pxm mem  Other   Total   PID Identifier    
1200000   115   58    0 8943   84   525115K  6K 525121K  2631 Panel
3800000    53  491    2  129 5139   301342K    135K 301477K 15080 marco

F S UID        PID  PPID  C PRI  NI ADDR SZ WCHAN    RSS PSR STIME TTY          TIME CMD
4 S root      2575  2574  7  80   0 - 573831 -     1311968 3 Nov06 tty3     06:03:34 /usr/bin/X :0 +iglx -verbose 9
h1z1 commented 7 years ago

Updating. Around now I'd kill it because despite having plenty of memory, X is crawling


          Monitoring 45 clients. XErrors: 0
          Pixmaps: 1621772K total, Other:     567K total, All: 1622339K total

res-base Wins  GCs Fnts Pxms Misc   Pxm mem  Other   Total   PID Identifier    
1200000   166   58    1 14644  116   869497K      8K 869506K  2631 Panel
3800000    72  923    2  233 7459   464563K    200K 464763K 15080 marco

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND                                                        
 2575 root      20   0 3512288 2.246g 2.121g S  15.9  7.2 590:41.07 /usr/bin/X :0 +iglx -verbose 9                                 

And after restarting both with --replace


res-base Wins  GCs Fnts Pxms Misc   Pxm mem  Other   Total   PID Identifier    
2000000    71  921    2   21 7155   145166K    192K 145358K  3334 marco
5800000    11   46    0  111   20     7010K      1K   7012K  3192 Bottom Expanded Edge Panel

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND                                                        
 2575 root      20   0 1604228 675416 544704 S   3.7  2.1 592:49.54 /usr/bin/X :0 +iglx -verbose 9                                 
raveit65 commented 1 year ago

Does this issue still exists?