Bug 108326 - Huge memleaks in krootimage (at least with SVG slideshow)
Summary: Huge memleaks in krootimage (at least with SVG slideshow)
Status: RESOLVED FIXED
Alias: None
Product: kdm
Classification: Miscellaneous
Component: krootimage (show other bugs)
Version: unspecified
Platform: openSUSE Linux
: NOR normal
Target Milestone: ---
Assignee: kdm bugs tracker
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-06-29 16:13 UTC by Jo Schulze
Modified: 2008-05-19 17:30 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Jo Schulze 2005-06-29 16:13:56 UTC
Version:            (using KDE KDE 3.4.1)
Installed from:    SuSE RPMs
OS:                Linux

After upgrading to KDE3.4.1, I tweaked kdm to display 4 different *.svgz wallpapers in slideshow mode on our server (which provides httpd, cupsd, mail via exim, mysqld, NIS, nfs, sshd, proftpd and serves several LTSP terminals). Since it's a server, the propability that kdm will run for a long time because no one logs in directly is pretty high. Here is the backgroundrc:
Background Common]
CacheSize=99
CommonDesktop=true
Dock=true
Export=false
LimitCache=true

[Desktop0]
BackgroundMode=VerticalGradient
BlendBalance=100
BlendMode=NoBlending
ChangeInterval=60
Color1=0,0,0
Color2=192,192,192
CurrentWallpaper=0
LastChange=1112890721
MinOptimizationDepth=1
MultiWallpaperMode=Random
Pattern=
Program=
ReverseBlending=false
UseSHM=true
Wallpaper=/opt/kde3/share/wallpapers/andes-venezolanos.svgz
WallpaperList=andes-venezolanos.svgz,aurora.svgz,here-gear.svgz,globe.svgz
WallpaperMode=Scaled

[FMSettings]
ItemTextBackground=invalid
NormalTextColor=0,0,0
ShadowEnabled=true
TextHeight=2
TextWidth=0
--eof

After that, I noticed that the whole machine became instable. Some services would die unexpectedly out of the blue, resulting in calls early in the morning: "I can't print/mail/login/..." I increased the loglevel and all these services were shutdown because of insufficient memory. Here is an example for mysqld:
Jun 29 12:17:19 holos kernel: Out of Memory: Killed process 7259 (mysqld-max).
Jun 29 12:27:36 holos kernel: Out of Memory: Killed process 10238 (mysqld-max).
Jun 29 12:27:36 holos kernel: Out of Memory: Killed process 10243 (mysqld-max).
Jun 29 12:27:36 holos kernel: Out of Memory: Killed process 10244 (mysqld-max).
Jun 29 12:36:57 holos kernel: Out of Memory: Killed process 10276 (mysqld-max).
Jun 29 12:36:57 holos kernel: Out of Memory: Killed process 10281 (mysqld-max).
Jun 29 12:36:57 holos kernel: Out of Memory: Killed process 10282 (mysqld-max).
Jun 29 12:38:09 holos kernel: Out of Memory: Killed process 10343 (mysqld-max).
--eof

I also noticed in the systat logs that the machine had strange swap actions at times where no one would actually work and no cronjob was active.

Well, today I found that one krootimage process alone occupied 48% of the memory (on a machine with 1GB phys. RAM and 0.5GB swap). Another was at 2nd place (systemwide) with 9%.

8-O

I think that's a bit too much for some eyecandy, eat up more memory than other services which are _really_ vital.
For now, I disabled the slideshow (logically, the memleak will be related to the slideshow mode, since displaying one picture for a long time shouldn't require any mem access once the data is loaded).
Comment 1 Jo Schulze 2005-07-05 02:26:02 UTC
Disableing the slideshow mode did the trick. The server is rock stable again.
Comment 2 Oswald Buddenhagen 2005-07-08 19:23:56 UTC
hmm, on first sight it indeed looks like the svg loader would be leaking rocks. maybe niko can say more. calling file is kdebase/kcontrol/background/bgrender.cpp starting with line 300. that code looks pretty hackish in general ...
Comment 3 Andreas Kling 2006-09-16 08:54:54 UTC
Fixed in revision 584936 yesterday.
Oswald: Thanks for pointing it out.