[Digikam-devel] [digikam] [Bug 330230] New: Memory leak in Image Quality Sorter

Ryan Henderson the.unkle.george at gmail.com
Tue Jan 21 04:40:28 GMT 2014


https://bugs.kde.org/show_bug.cgi?id=330230

            Bug ID: 330230
           Summary: Memory leak in Image Quality Sorter
    Classification: Unclassified
           Product: digikam
           Version: 4.0.0-beta2
          Platform: Compiled Sources
                OS: Linux
            Status: UNCONFIRMED
          Severity: major
          Priority: NOR
         Component: Maintenance
          Assignee: digikam-devel at kde.org
          Reporter: the.unkle.george at gmail.com

- Large memory leak running maintenance image quality sorter.   (500Mb / 500
images)
- Tags are not applied.

There are several of these in the valigrind log, here's the largest:
==26674== 307,183,616 bytes in 107 blocks are possibly lost in loss record
42,037 of 42,037
==26674==    at 0x4C2AFE7: operator new[](unsigned long) (in
/usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==26674==    by 0x73963F0: unsigned char*
Digikam::DImgLoader::new_failureTolerant<unsigned char>(unsigned long)
(dimgloader.h:183)
==26674==    by 0x737362B: Digikam::DImg::allocateData() (dimg.cpp:315)
==26674==    by 0x737616F: Digikam::DImg::DImg(Digikam::DImg const&, int, int)
(dimg.cpp:136)
==26674==    by 0x738C1C8: Digikam::DImg::smoothScaleClipped(int, int, int,
int, int, int) const (dimgscale.cpp:233)
==26674==    by 0x738C47B: Digikam::DImg::smoothScaleClipped(QSize const&,
QRect const&) const (dimgscale.cpp:194)
==26674==    by 0x738C514: Digikam::DImg::smoothScale(QSize const&,
Qt::AspectRatioMode) const (dimgscale.cpp:183)
==26674==    by 0x738C55F: Digikam::DImg::smoothScale(int, int,
Qt::AspectRatioMode) const (dimgscale.cpp:188)
==26674==    by 0x74D2D07: Digikam::PreviewLoadingTask::execute()
(previewtask.cpp:433)
==26674==    by 0x74D1783:
Digikam::PreviewLoadThread::loadSynchronously(Digikam::LoadingDescription
const&) (previewloadthread.cpp:114)
==26674==    by 0x50E734: Digikam::ImageQualityTask::run()
(imagequalitytask.cpp:96)

Also:
==26674==    at 0x4C2AFE7: operator new[](unsigned long) (in
/usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==26674==    by 0x73809DD: unsigned int*
Digikam::DImgLoader::new_failureTolerant<unsigned int>(unsigned long)
(dimgloader.h:183)
==26674==    by 0x7378128: Digikam::DImg::rotate(Digikam::DImg::ANGLE)
(dimg.cpp:2298)
==26674==    by 0x7378576: Digikam::DImg::rotateAndFlip(int) (dimg.cpp:2649)
==26674==    by 0x74C581D: Digikam::LoadSaveThread::exifRotate(Digikam::DImg&,
QString const&) (loadsavethread.cpp:335)
==26674==    by 0x74D2D47: Digikam::PreviewLoadingTask::execute()
(previewtask.cpp:439)
==26674==    by 0x74D1783:
Digikam::PreviewLoadThread::loadSynchronously(Digikam::LoadingDescription
const&) (previewloadthread.cpp:114)
==26674==    by 0x50E734: Digikam::ImageQualityTask::run()
(imagequalitytask.cpp:96)




Reproducible: Always

Steps to Reproduce:
1. Run image quality sorter with library > 500.
2. Mark maintenance option to clear db and re-run for all

Actual Results:  
2. 500Mb memory leak
3. Tags not applied

Expected Results:  
Digikam would validate my photography skills.  or at least not leak memory and
apply the good, bad, ok tags.

4.0.0-beta-3 built from git
gitup current as of Jan 20th 2014.
Ubuntu 13.10 (gcc 2.8.1)
libraw from git 0.16.0

-- 
You are receiving this mail because:
You are the assignee for the bug.



More information about the Digikam-devel mailing list