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