Bug 165847 - konqueror insane memory consumption with http://www.chron.com/disp/story.mpl/front/5869262.html
Summary: konqueror insane memory consumption with http://www.chron.com/disp/story.mpl/...
Status: RESOLVED FIXED
Alias: None
Product: konqueror
Classification: Applications
Component: general (show other bugs)
Version: unspecified
Platform: Gentoo Packages Linux
: NOR normal
Target Milestone: ---
Assignee: Konqueror Developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2008-07-06 12:33 UTC by Volker Hemmann
Modified: 2008-08-26 04:13 UTC (History)
3 users (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Volker Hemmann 2008-07-06 12:33:23 UTC
Version:            (using KDE 4.0.83)
Installed from:    Gentoo Packages
Compiler:          gcc 4.3.1 
OS:                Linux

When opening that site in a tab or window the 'konquror' process will use more and more memory while the side is stuck at '55%' and nothing shown.

I have 4GB of ram and 4GB of swap - and with several gb of ram (ps aux says 75-80% in the MEM column) the system is badly affected. I usually kill konqueror at that point.

ps aux looks like this:
000      4020 18.3 74.9 3828224 3035540 ?     D    12:11   1:10 /usr/kde/4.1/bin/konqueror --silent                                                                             
1000      4023  0.0  0.0 135932  3544 ?        S    12:11   0:00 kdeinit4: kio_about [k up                                                                                       
1000      4048  1.0  0.4 193148 19520 ?        Dl   12:12   0:03 /usr/kde/4.1/bin/konsole                                                                                        
1000      4050  0.0  0.0  41576  3016 pts/2    Ss   12:12   0:00 /bin/zsh                                                                                                        
root      4058  0.0  0.0  44704  1328 pts/2    S    12:12   0:00 su -                                                                                                            
root      4061  0.0  0.0  44808  3600 pts/2    S    12:12   0:00 -su                                                                                                             
1000     16901  0.0  0.1 157488  6572 ?        Sl   12:15   0:00 kdeinit4: kio_http [kd up                                                                                       
1000     16917  0.0  0.1 157424  6380 ?        Sl   12:16   0:00 kdeinit4: kio_http [kd up                                                                                       
1000     16918  0.1  0.1 157488  6496 ?        Sl   12:16   0:00 kdeinit4: kio_http [kd up                                                                                       
1000     16919  0.1  0.1 157488  6552 ?        Sl   12:16   0:00 kdeinit4: kio_http [kd up                                                                                       
1000     16920  0.1  0.1 157420  6508 ?        Sl   12:16   0:00 kdeinit4: kio_http [kd up                                                                                       
1000     16921  0.1  0.1 157424  6428 ?        Sl   12:16   0:00 kdeinit4: kio_http [kd up                                                                                       
1000     16922  0.0  0.1 157440  6412 ?        Sl   12:16   0:00 kdeinit4: kio_http [kd up                                                                                       
1000     16923  0.1  0.1 157500  6532 ?        Sl   12:16   0:00 kdeinit4: kio_http [kd up                                                                                       
1000     16924  0.1  0.1 157480  6552 ?        Sl   12:16   0:00 kdeinit4: kio_http [kd up                                                                                       
1000     16925  0.0  0.1 157420  6516 ?        Sl   12:16   0:00 kdeinit4: kio_http [kd up                                                                                       
1000     16926  0.0  0.1 157432  6532 ?        Sl   12:16   0:00 kdeinit4: kio_http [kd up                                                                                       
1000     16927  0.0  0.1 157460  6500 ?        Sl   12:16   0:00 kdeinit4: kio_http [kd up                                                                                       
1000     16928  0.1  0.1 157432  6580 ?        Sl   12:16   0:00 kdeinit4: kio_http [kd up                                                                                       
1000     16929  0.0  0.1 157428  6496 ?        Sl   12:16   0:00 kdeinit4: kio_http [kd up                                                                                       
1000     16930  0.0  0.1 157480  6576 ?        Sl   12:16   0:00 kdeinit4: kio_http [kd up                                                                                       
1000     16931  0.1  0.1 157420  6560 ?        Sl   12:16   0:00 kdeinit4: kio_http [kd up                                                                                       
1000     16932  0.0  0.1 157416  6528 ?        Sl   12:16   0:00 kdeinit4: kio_http [kd up                                                                                       
1000     16937  0.0  0.1 157468  6536 ?        Sl   12:16   0:00 kdeinit4: kio_http [kd up                                                                                       
1000     16944  0.0  0.1 157416  6500 ?        Sl   12:16   0:00 kdeinit4: kio_http [kd up                                                                                       
1000     16953  0.0  0.1 157472  6368 ?        Sl   12:16   0:00 kdeinit4: kio_http [kd up                                                                                       
1000     16954  0.0  0.1 157416  6496 ?        Sl   12:16   0:00 kdeinit4: kio_http [kd up                                                                                       
1000     16955  0.0  0.1 157472  6512 ?        Sl   12:16   0:00 kdeinit4: kio_http [kd up                                                                                       
1000     16957  0.0  0.1 157416  6500 ?        Sl   12:16   0:00 kdeinit4: kio_http [kd up                                                                                       
1000     16960  0.0  0.1 157416  6488 ?        Sl   12:16   0:00 kdeinit4: kio_http [kd up                                                                                       
1000     16962  0.0  0.1 157416  6496 ?        Sl   12:16   0:00 kdeinit4: kio_http [kd up       

and after killing all kio_http:
1000      4020 18.5 76.0 3952128 3079428 ?     D    12:11   1:16 /usr/kde/4.1/bin/konqueror --silent                                    

the D is probably because of the heavy swapping at that point.

free
             total       used       free     shared    buffers     cached
Mem:       4047784    4025324      22460          0          0      99644
-/+ buffers/cache:    3925680     122104                                 
Swap:      4000176    1241676    2758500                                 


Portage 2.2_rc1 (default/linux/amd64/2008.0/desktop, gcc-4.3.1, glibc-2.8_p20080602-r0, 2.6.26-rc8benchmark x86_64)
=================================================================                                                  
System uname: Linux-2.6.26-rc8benchmark-x86_64-AMD_Athlon-tm-_64_X2_Dual_Core_Processor_6000+-with-glibc2.2.5      
Timestamp of tree: Sun, 06 Jul 2008 10:01:01 +0000                                                                 
ccache version 2.4 [enabled]                                                                                       
app-shells/bash:     3.2_p39                                                                                       
dev-java/java-config: 1.3.7, 2.1.6                                                                                 
dev-lang/python:     2.5.2-r5                                                                                      
dev-util/ccache:     2.4-r7                                                                                        
sys-apps/baselayout: 2.0.0                                                                                         
sys-apps/openrc:     0.2.5                                                                                         
sys-apps/sandbox:    1.2.18.1-r3                                                                                   
sys-devel/autoconf:  2.13, 2.62-r1                                                                                 
sys-devel/automake:  1.7.9-r1, 1.9.6-r2, 1.10.1-r1                                                                 
sys-devel/binutils:  2.18.50.0.7                                                                                   
sys-devel/gcc-config: 1.4.0-r4
sys-devel/libtool:   2.2.4
virtual/os-headers:  2.6.25-r4
ACCEPT_KEYWORDS="amd64 ~amd64"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=k8 -O2 -msse3 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/kde/4.1/env /usr/kde/4.1/share/config /usr/kde/4.1/shutdown /usr/share/config"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/terminfo /etc/udev/rules.d"
CXXFLAGS="-march=k8 -O2 -msse3 -pipe"

the site displays just fine in ff3
Comment 1 A. Spehr 2008-07-07 10:24:57 UTC
 http://www.chron.com/disp/story.mpl/front/5869262.html

Looks like this is split 50/50 between kio & konq on cpu as seen by top.

Gdb gives something some of which might be useful:

konqueror(26451)/kio (KIOConnection) KIO::ConnectionServer::listenForRemote: Listening on  "local:/tmp/ax4-kde4/ksocket-ax4/konquerord26451.slave-socket"                                                                               
konqueror(26451)/kio (Slave) KIO::Slave::createSlave: createSlave "http" for KUrl("http://images.chron.com/apps/search/search.js")                                                                                                      
konqueror(26451)/kio (KIOConnection) KIO::ConnectionServer::listenForRemote: Listening on  "local:/tmp/ax4-kde4/ksocket-ax4/konquerorX26451.slave-socket"                                                                               
konqueror(26451)/kio (Slave) KIO::Slave::createSlave: createSlave "http" for KUrl("http://d.yimg.com/ds/badge.js")  
konqueror(26451)/kio (KIOConnection) KIO::ConnectionServer::listenForRemote: Listening on  "local:/tmp/ax4-kde4/ksocket-ax4/konquerorU26451.slave-socket"                                                                               
konqueror(26451)/kio (Slave) KIO::Slave::createSlave: createSlave "http" for KUrl("http://images.chron.com/content/chronicle/special/06/templates/loadflash.js")                                                                        
konqueror(26451)/kio (KIOConnection) KIO::ConnectionServer::listenForRemote: Listening on  "local:/tmp/ax4-kde4/ksocket-ax4/konquerorz26451.slave-socket"
konqueror(26451)/kio (Slave) KIO::Slave::createSlave: createSlave "http" for KUrl("http://images.chron.com/images/tagline.gif")
konqueror(26451)/kio (KIOConnection) KIO::ConnectionServer::listenForRemote: Listening on  "local:/tmp/ax4-kde4/ksocket-ax4/konquerorG26451.slave-socket"
konqueror(26451)/khtml (tokenizer) khtml::HTMLTokenizer::notifyFinished: Finished loading an external script
(above two lines repeated)
konqueror(26451) KConfigGroup::readXdgListEntry: List entry mime in "/home/ax4/kde/share/apps/kjava/pluginsinfo" isnot compliant with XDG standard (missing trailing semicolon).
konqueror(26451)/khtml (tokenizer) khtml::HTMLTokenizer::notifyFinished: Finished loading an external script
konqueror(26451)/khtml (tokenizer) khtml::HTMLTokenizer::notifyFinished: Finished loading an external script
konqueror(26451)/khtml (tokenizer) khtml::HTMLTokenizer::notifyFinished: Finished loading an external script
konqueror(26451)/khtml (tokenizer) khtml::HTMLTokenizer::notifyFinished: Finished loading an external script
konqueror(26451)/kio (KIOJob) KIO::TransferJob::slotRedirection: KUrl("http://hchrmain.112.2o7.net/b/ss/hchrmain/1/G.5-PD-R/s76043157091384?AQB=1&pccr=true&%5BAQB%5D&ndh=1&t=7/6/2008%201%3A19%3A13%201%20240&ch=News&server=Chron.com&c1=Was%20rocket%20moments%20from%20striking%20Continental%20flight%3F%20%7C%20Chron.com%20-%20Houston%20Chronicle&c2=News/Main&c3=nc&c4=nc&c5=nc&c6=nc&c7=nc&g=http%3A//www.chron.com/disp/story.mpl/front/5869262.html&s=1280x1024&c=24&j=1.3&v=N&k=Y&bw=849&bh=500&p=Java%20Plug-in%3B&%5BAQE%5D&AQE=1")
konqueror(26451)/khtml (tokenizer) khtml::HTMLTokenizer::notifyFinished: Finished loading an external script
konqueror(26451)/khtml (tokenizer) khtml::HTMLTokenizer::notifyFinished: Finished loading an external script
^C
Program received signal SIGINT, Interrupt.
[Switching to Thread 0xb5be2720 (LWP 26451)]

0xb38fffe0 in KJS::PropertyMap::getEnumerablePropertyNames (this=0xb1d601e4, propertyNames=@0xc869800)
    at /home/ax4/kde/src/KDE/kdelibs/kjs/property_map.cpp:636
636             if (e->key && !(e->attributes & DontEnum))

Perhaps that last bit?
Comment 2 Daniel Richard G. 2008-08-25 06:46:25 UTC
ADMIN: Please upgrade severity to critical. Not only is this bug a severe memory leak, the behavior can be classed as a denial-of-service attack. The fact that this is occurring with a mainstream site (Houston Chronicle) is particularly bad.

I encountered this bug with an SVN trunk build as of 2008-08-24, on an x86-64 Debian/etch system. It is consistently reproducible. My URL: http://www.chron.com/disp/story.mpl/headline/metro/5962590.html