[Digikam-devel] [Bug 277163] digikam valgrind issues during face recognition testing

Richard Mortimer richm+kde at oldelvet.org.uk
Tue Jul 12 23:49:08 BST 2011


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





--- Comment #8 from Richard Mortimer <richm+kde oldelvet org uk>  2011-07-12 22:49:07 ---
Created an attachment (id=61826)
 --> (http://bugs.kde.org/attachment.cgi?id=61826)
valgrind output when face recognition crashed with SIGSEGV

I finally got a valgrind session output where digikam crashed with during face
recognition. The output that occurred around the crash time looks very
interesting.

I see two issues one where timers have been unregistered improperly and the
other where unitialise memory is used.

Application asked to unregister timer 0x1e000013 which is not registered in
this thread. Fix application.
Application asked to unregister timer 0x28000069 which is not registered in
this thread. Fix application.
==1785== Thread 1:
==1785== Use of uninitialised value of size 4
==1785==    at 0x6D8AD00: QVariant::QVariant(QVariant const&) (qvariant.h:360)
==1785==    by 0x5406A3B: Digikam::ImageModel::data(QModelIndex const&, int)
const (imagemodel.cpp:1016)
==1785==    by 0x5418B70: Digikam::ImageThumbnailModel::data(QModelIndex
const&, int) const (imagethumbnailmodel.cpp:279)
==1785==    by 0x540AD9C:
Digikam::ImageFilterModel::subSortLessThan(QModelIndex const&, QModelIndex
const&) const (qabstractitemmodel.h:398)
==1785==    by 0x5CD5AB9:
KCategorizedSortFilterProxyModel::lessThan(QModelIndex const&, QModelIndex
const&) const (kcategorizedsortfilterproxymodel.cpp:121)
==1785==    by 0x6609960: int* QAlgorithmsPrivate::qLowerBoundHelper<int*, int,
QSortFilterProxyModelLessThan>(int*, int*, int const&,
QSortFilterProxyModelLessThan) (qsortfilterproxymodel.cpp:80)
==1785==    by 0x66099E1: int* qLowerBound<int*, int,
QSortFilterProxyModelLessThan>(int*, int*, int const&,
QSortFilterProxyModelLessThan) (qalgorithms.h:252)
==1785==    by 0x6609D48: void QAlgorithmsPrivate::qMerge<int*, int const,
QSortFilterProxyModelLessThan>(int*, int*, int*, int const&,
QSortFilterProxyModelLessThan) (qalgorithms.h:435)
==1785==    by 0x6609CE1: void QAlgorithmsPrivate::qMerge<int*, int const,
QSortFilterProxyModelLessThan>(int*, int*, int*, int const&,
QSortFilterProxyModelLessThan) (qalgorithms.h:446)
==1785==    by 0x6609CE1: void QAlgorithmsPrivate::qMerge<int*, int const,
QSortFilterProxyModelLessThan>(int*, int*, int*, int const&,
QSortFilterProxyModelLessThan) (qalgorithms.h:446)
==1785==    by 0x6609C6E: void QAlgorithmsPrivate::qMerge<int*, int const,
QSortFilterProxyModelLessThan>(int*, int*, int*, int const&,
QSortFilterProxyModelLessThan) (qalgorithms.h:445)
==1785==    by 0x6609C6E: void QAlgorithmsPrivate::qMerge<int*, int const,
QSortFilterProxyModelLessThan>(int*, int*, int*, int const&,
QSortFilterProxyModelLessThan) (qalgorithms.h:445)
==1785==  Uninitialised value was created by a heap allocation
==1785==    at 0x4026864: malloc (vg_replace_malloc.c:236)
==1785==    by 0x6C6FB8C: qMalloc(unsigned int) (qmalloc.cpp:55)
==1785==    by 0x6C95840: QListData::detach(int) (qlist.cpp:185)
==1785==    by 0x534B0E0: QList<QVariant>::detach_helper(int) (qlist.h:694)
==1785==    by 0x534B1F9: QList<QVariant>::detach_helper() (qlist.h:710)
==1785==    by 0x5406A22: Digikam::ImageModel::data(QModelIndex const&, int)
const (qlist.h:126)
==1785==    by 0x5418B70: Digikam::ImageThumbnailModel::data(QModelIndex
const&, int) const (imagethumbnailmodel.cpp:279)
==1785==    by 0x540AD70:
Digikam::ImageFilterModel::subSortLessThan(QModelIndex const&, QModelIndex
const&) const (qabstractitemmodel.h:398)
==1785==    by 0x5CD5AB9:
KCategorizedSortFilterProxyModel::lessThan(QModelIndex const&, QModelIndex
const&) const (kcategorizedsortfilterproxymodel.cpp:121)
==1785==    by 0x6609E18: void QAlgorithmsPrivate::qMerge<int*, int const,
QSortFilterProxyModelLessThan>(int*, int*, int*, int const&,
QSortFilterProxyModelLessThan) (qsortfilterproxymodel.cpp:80)
==1785==    by 0x6609F61: void QAlgorithmsPrivate::qStableSortHelper<int*, int,
QSortFilterProxyModelLessThan>(int*, int*, int const&,
QSortFilterProxyModelLessThan) (qalgorithms.h:459)
==1785==    by 0x6609F06: void QAlgorithmsPrivate::qStableSortHelper<int*, int,
QSortFilterProxyModelLessThan>(int*, int*, int const&,
QSortFilterProxyModelLessThan) (qalgorithms.h:458)
==1785== 
==1785== Invalid read of size 4
==1785==    at 0x6D8AD00: QVariant::QVariant(QVariant const&) (qvariant.h:360)
==1785==    by 0x5406A3B: Digikam::ImageModel::data(QModelIndex const&, int)
const (imagemodel.cpp:1016)
==1785==    by 0x5418B70: Digikam::ImageThumbnailModel::data(QModelIndex
const&, int) const (imagethumbnailmodel.cpp:279)
==1785==    by 0x540AD9C:
Digikam::ImageFilterModel::subSortLessThan(QModelIndex const&, QModelIndex
const&) const (qabstractitemmodel.h:398)
==1785==    by 0x5CD5AB9:
KCategorizedSortFilterProxyModel::lessThan(QModelIndex const&, QModelIndex
const&) const (kcategorizedsortfilterproxymodel.cpp:121)
==1785==    by 0x6609960: int* QAlgorithmsPrivate::qLowerBoundHelper<int*, int,
QSortFilterProxyModelLessThan>(int*, int*, int const&,
QSortFilterProxyModelLessThan) (qsortfilterproxymodel.cpp:80)
==1785==    by 0x66099E1: int* qLowerBound<int*, int,
QSortFilterProxyModelLessThan>(int*, int*, int const&,
QSortFilterProxyModelLessThan) (qalgorithms.h:252)
==1785==    by 0x6609D48: void QAlgorithmsPrivate::qMerge<int*, int const,
QSortFilterProxyModelLessThan>(int*, int*, int*, int const&,
QSortFilterProxyModelLessThan) (qalgorithms.h:435)
==1785==    by 0x6609CE1: void QAlgorithmsPrivate::qMerge<int*, int const,
QSortFilterProxyModelLessThan>(int*, int*, int*, int const&,
QSortFilterProxyModelLessThan) (qalgorithms.h:446)
==1785==    by 0x6609CE1: void QAlgorithmsPrivate::qMerge<int*, int const,
QSortFilterProxyModelLessThan>(int*, int*, int*, int const&,
QSortFilterProxyModelLessThan) (qalgorithms.h:446)
==1785==    by 0x6609C6E: void QAlgorithmsPrivate::qMerge<int*, int const,
QSortFilterProxyModelLessThan>(int*, int*, int*, int const&,
QSortFilterProxyModelLessThan) (qalgorithms.h:445)
==1785==    by 0x6609C6E: void QAlgorithmsPrivate::qMerge<int*, int const,
QSortFilterProxyModelLessThan>(int*, int*, int*, int const&,
QSortFilterProxyModelLessThan) (qalgorithms.h:445)
==1785==  Address 0x0 is not stack'd, malloc'd or (recently) free'd

-- 
Configure bugmail: https://bugs.kde.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.



More information about the Digikam-devel mailing list