Memory leaks
Tsuda Kageyu
tsuda.kageyu at gmail.com
Wed Jul 24 16:17:56 UTC 2013
Hi, Festus. Thank you for your kind cooperation.
I've found that TagLib::MPEG::Header lacks a delete in its destructor in
"taglib2" branch. It's a silly mistake by me. I'm going to fix it soon.
Kageyu.
>Hi all,
>
>
>WinXPsp3
>Qt5.1.0, Qt Creator 2.7.2
>MSVC 2010 Ultimate
>Both master and taglib2
>
>Thanks to TsudaKageyu's Debug handler, I finally figured out one of my
>biggest hurdles with C++ ... Sub Classing!
>Many thanks to ya TsudaKageyu.
>
>With my newly learned skills I have finally been able to write a functioning
>C++ GUI App with the help of Qt Creator ... Gotta love Qt Creator!
>
>This newly created app is a id3v2tag frame viewer ...
>A Directory tree view allows selection of a directory, a list of mp3 files is
>created, select a file and a list of the id3v2tag frames is created. Simple
>as it is, it was a challenge at first.
>
>However I noticed it getting slower and slower as I browsed files ... Opps,
>Memory leak!
>So I combed my code hard and couldn't find any thing, So I created MSVC
>project files for Taglib and my App, built them both with MSVC 2010, Followed
>the Microsoft topic:
>Finding Memory Leaks Using the CRT Library http://msdn.microsoft.com/en-us/
>library/vstudio/x98tx3cf(v=vs.100).aspx. and found no leaks in my code, yet I
>knew there was!
>
>So, I finally added the CRTDBG code to all of TagLib's .cpp files and these
>are my findings.
>
>A plain simple main(...) simply doing:
> const char *file = "taglib/tests/data/id3v22-tda.mp3";
> TagLib::MPEG::File f(file);
>
>Leaks the following ...
>(My line numbers minus 7 CRTDBG lines equals Taglib2 line numbers)
>
>mpegheader, 4 blocks totaling 104 bytes
> 64 - 7 = 57
> 87 - 7 = 80
>ttbytevector, 24 blocks totaling 432 bytes
> 258 - 7 = 251
> 279 - 7 = 272
> 353 - 7 = 346
> 378 - 7 = 371
>tstring, 306 blocks totaling 7344 bytes
> 162 - 7 = 155
> 195 - 7 = 188
> 237 - 7 = 230
>id3v2framefactory, 1 block totaling 8 bytes.
>
>Obviously I ain't no guru so I am unsure if this is something of my doing,
>misunderstanding, or if this truly is a TagLib issue.
>
>So, I thought I would put this out and let those that know, know!
>
>I can provide the CrtDbg dump, it's 335 lines similarto the following:
> mpeg\mpegheader.cpp(64) : {54720} normal block at 0x00FCEEF0, 44 bytes
>long.
>
>
>-Enjoy
>fh : )_~
>
>_______________________________________________
>taglib-devel mailing list
>taglib-devel at kde.org
>https://mail.kde.org/mailman/listinfo/taglib-devel
More information about the taglib-devel
mailing list