This forum has been archived. All content is frozen. Please use KDE Discuss instead.

Crazy allocate-600+MB memory bug!

Tags: None
(comma "," separated)
George
Moderator
Posts
5421
Karma
1

Tue Feb 06, 2007 5:33 pm
Lets hope the memory leak checker turns something up.

What kind of plugins were you running ?
MoDaX
Registered Member
Posts
241
Karma
0
OS

Wed Feb 07, 2007 1:03 am
George wrote:What kind of plugins were you running ?

infowidgetplugin, ipfilterplugin (loaded, but peerguardian filter not enabled), searchplugin.
imported4-blujay
Registered Member
Posts
60
Karma
0

Wed Feb 07, 2007 3:28 am
Since I am unable to install the current SVN build due to the strange unsermake problem I posted about, I'm currently rebuilding 2.1rc1 with full debugging and --enable-memleak-check. Then I will run it and run leak-analyze and report here.
imported4-blujay
Registered Member
Posts
60
Karma
0

Wed Feb 07, 2007 4:21 am
Ok, here's the analysis for 2.1rc1 immediately after launching it. Is there anything I can do about the "no source file" errors?

Again, this was never a problem with 2.0.3.

Code: Select all
$ Scripts/Misc/leak-analyze.sh /usr/bin/ktorrent leak.out
Gathered 53 (29 unique) points of data.
Using host libthread_db library "/lib/tls/i686/cmov/libthread_db.so.1".
(gdb)
#-- Leak: counted 1x / total Size: 12
No source file for address 0x4418b1cd.

#-- Leak: counted 1x / total Size: 12
No source file for address 0x4418b5b2.

#-- Leak: counted 1x / total Size: 12
No source file for address 0x4418b60d.

#-- Leak: counted 1x / total Size: 4
No source file for address 0x441e3315.

#-- Leak: counted 1x / total Size: 4
No source file for address 0x441e712f.

#-- Leak: counted 1x / total Size: 32
No source file for address 0x4424dbd1.

#-- Leak: counted 1x / total Size: 8
No source file for address 0x4424dc22.

#-- Leak: counted 1x / total Size: 32
No source file for address 0x44527053.

#-- Leak: counted 1x / total Size: 49
No source file for address 0x44530bd1.

#-- Leak: counted 2x / total Size: 64
No source file for address 0x44532643.

#-- Leak: counted 5x / total Size: 60
No source file for address 0x4453c317.

#-- Leak: counted 1x / total Size: 68
No source file for address 0x4454191c.

#-- Leak: counted 1x / total Size: 12
No source file for address 0x44544fed.

#-- Leak: counted 1x / total Size: 21
No source file for address 0x44561d11.

#-- Leak: counted 1x / total Size: 20
No source file for address 0x44562173.

#-- Leak: counted 1x / total Size: 40
No source file for address 0x445637fb.

#-- Leak: counted 1x / total Size: 20
No source file for address 0x4456389d.

#-- Leak: counted 1x / total Size: 28
No source file for address 0x4473511d.

#-- Leak: counted 1x / total Size: 8
No source file for address 0x44873754.

#-- Leak: counted 1x / total Size: 28
No source file for address 0x4488193b.

#-- Leak: counted 1x / total Size: 32
No source file for address 0x448819be.

#-- Leak: counted 1x / total Size: 12
No source file for address 0x4488bc13.

#-- Leak: counted 1x / total Size: 12
No source file for address 0x4488bc2c.

#-- Leak: counted 1x / total Size: 32
No source file for address 0x4488bc4c.

#-- Leak: counted 19x / total Size: 532
No source file for address 0x4494d1fc.

#-- Leak: counted 2x / total Size: 56
No source file for address 0x4494d36c.

#-- Leak: counted 1x / total Size: 12
During symbol reading, Location list used without specifying the CU base address..
During symbol reading, Location list used without specifying the CU base address..
During symbol reading, Location list used without specifying the CU base address..
During symbol reading, Location list used without specifying the CU base address..
During symbol reading, Location list used without specifying the CU base address..
During symbol reading, Location list used without specifying the CU base address..
During symbol reading, Location list used without specifying the CU base address..
During symbol reading, Location list used without specifying the CU base address..
During symbol reading, Location list used without specifying the CU base address..
During symbol reading, Location list used without specifying the CU base address..
During symbol reading, Location list used without specifying the CU base address..
During symbol reading, Location list used without specifying the CU base address..
During symbol reading, Location list used without specifying the CU base address..
During symbol reading, Location list used without specifying the CU base address..
During symbol reading, Location list used without specifying the CU base address..
During symbol reading, Location list used without specifying the CU base address..
During symbol reading, Location list used without specifying the CU base address..
During symbol reading, Location list used without specifying the CU base address..
During symbol reading, Location list used without specifying the CU base address..
During symbol reading, Location list used without specifying the CU base address..
During symbol reading, Location list used without specifying the CU base address..
During symbol reading, Location list used without specifying the CU base address..
During symbol reading, Location list used without specifying the CU base address..
During symbol reading, Location list used without specifying the CU base address..
During symbol reading, Location list used without specifying the CU base address..
During symbol reading, Location list used without specifying the CU base address..
During symbol reading, Location list used without specifying the CU base address..
During symbol reading, Location list used without specifying the CU base address..
During symbol reading, Location list used without specifying the CU base address..
During symbol reading, Location list used without specifying the CU base address..
During symbol reading, Location list used without specifying the CU base address..
During symbol reading, Location list used without specifying the CU base address..
During symbol reading, Location list used without specifying the CU base address..
During symbol reading, Location list used without specifying the CU base address..
During symbol reading, Location list used without specifying the CU base address..
During symbol reading, Location list used without specifying the CU base address..
During symbol reading, Location list used without specifying the CU base address..
During symbol reading, Location list used without specifying the CU base address..
During symbol reading, Location list used without specifying the CU base address..
During symbol reading, Location list used without specifying the CU base address..
During symbol reading, Location list used without specifying the CU base address..
During symbol reading, Location list used without specifying the CU base address..
During symbol reading, Location list used without specifying the CU base address..
During symbol reading, Location list used without specifying the CU base address..
During symbol reading, Location list used without specifying the CU base address..
During symbol reading, Location list used without specifying the CU base address..
During symbol reading, Location list used without specifying the CU base address..
During symbol reading, Location list used without specifying the CU base address..
During symbol reading, Location list used without specifying the CU base address..
During symbol reading, Location list used without specifying the CU base address..
During symbol reading, Location list used without specifying the CU base address..
During symbol reading, Location list used without specifying the CU base address..
During symbol reading, Location list used without specifying the CU base address..
During symbol reading, Location list used without specifying the CU base address..
During symbol reading, Location list used without specifying the CU base address..
During symbol reading, Location list used without specifying the CU base address..
During symbol reading, Location list used without specifying the CU base address..
During symbol reading, Location list used without specifying the CU base address..
During symbol reading, Location list used without specifying the CU base address..
During symbol reading, Location list used without specifying the CU base address..
During symbol reading, Location list used without specifying the CU base address..
During symbol reading, Location list used without specifying the CU base address..
During symbol reading, Location list used without specifying the CU base address..
During symbol reading, Location list used without specifying the CU base address..
During symbol reading, Location list used without specifying the CU base address..
During symbol reading, Location list used without specifying the CU base address..
During symbol reading, Location list used without specifying the CU base address..
During symbol reading, Location list used without specifying the CU base address..
During symbol reading, Location list used without specifying the CU base address..
During symbol reading, Location list used without specifying the CU base address..
During symbol reading, Location list used without specifying the CU base address..
During symbol reading, Location list used without specifying the CU base address..
During symbol reading, Location list used without specifying the CU base address..
0x808718d is in QValueListPrivate<QString>::insert(QValueListIterator<QString>, QString const&) (/usr/share/qt3/include/qvaluelist.h:289).
288     {
289         NodePtr p = new Node( x );

#-- Leak: counted 1x / total Size: 12
During symbol reading, Location list used without specifying the CU base address..
During symbol reading, Location list used without specifying the CU base address..
During symbol reading, Location list used without specifying the CU base address..
During symbol reading, Location list used without specifying the CU base address..
During symbol reading, Location list used without specifying the CU base address..
During symbol reading, Location list used without specifying the CU base address..
During symbol reading, Location list used without specifying the CU base address..
During symbol reading, Location list used without specifying the CU base address..
During symbol reading, Location list used without specifying the CU base address..
During symbol reading, Location list used without specifying the CU base address..
0x808725a is in QValueListPrivate (/usr/share/qt3/include/qvaluelist.h:260).
259     {
260         node = new Node; node->next = node->prev = node; nodes = 0;

#-- Leak: counted 1x / total Size: 12
0x80872cf is in QValueList (/usr/share/qt3/include/qvaluelist.h:432).
431          */
432         QValueList() { sh = new QValueListPrivate<T>; }
George
Moderator
Posts
5421
Karma
1

Thu Feb 08, 2007 8:00 pm
That is pretty much the expected output. The no source errors, if you want to get rid of those, you would have to compile all libraries KT uses with debug info.

How many and which torrents are you running ?

If I load the same torrents, I should see the same thing.
imported4-blujay
Registered Member
Posts
60
Karma
0

Mon Feb 12, 2007 1:59 pm
I have a little over 130 torrents loaded. After about 8 hours, KT's memory usage gets around 700 MB. I can quickly kill and restart it with no ill effects, but the longer I wait, the more memory it uses up and the longer it takes to kill it.

I don't mind compiling more libs to get debug info. Would it help you for me to do that? This really needs to be solved. :(
George
Moderator
Posts
5421
Karma
1

Mon Feb 12, 2007 6:43 pm
130, and you are complaining about high memory usage ????????
imported4-Tomasu
Registered Member
Posts
302
Karma
0

Mon Feb 12, 2007 7:06 pm
I can just imagine the memory usage after a while, with several 1MB chunks loaded per torrent...
George
Moderator
Posts
5421
Karma
1

Mon Feb 12, 2007 7:25 pm
Tomasu wrote:I can just imagine the memory usage after a while, with several 1MB chunks loaded per torrent...


Yeah well, maybe we can minimize it, by writing stuff to disk ASAP, once you have downloaded a piece of that 1 MB, it becomes useless except for the hash check at the end. But we already have a mode where we partially calculate the hash for big chunks. (if you have the first 5 pieces, you can partially calculate the hash for those 5)

But that's a rather big change, and we will probably only do that in the KDE 4 port. It would mean a pretty big overhaul for some things.

Better add this to my list of ideas for the port ...


Bookmarks



Who is online

Registered users: Bing [Bot], Google [Bot], Yahoo [Bot]