Charm
Charm copied to clipboard
Crash when editing timesheet
Open a report for last week, open the editor for last week, add a new entry. For me it crashes reproducibly when selecting the project code for which I want to add an entry, although it survives inside valgrind with tons of QSFPM issues (it crashes once I close the edit dialog).
charmtimetracker --version Charm version 1.8.0-131-g270c
valgrind output:
Legacy integer arithmetics implementation
==11780== Invalid read of size 8
==11780== at 0x57E8F34: QSortFilterProxyModelPrivate::index_to_iterator(QModelIndex const&) const (qsortfilterproxymodel.cpp:191)
==11780== by 0x57E5058: QSortFilterProxyModel::parent(QModelIndex const&) const (qsortfilterproxymodel.cpp:1674)
==11780== by 0x68AEACF: QModelIndex::parent() const (in /data/development/sources/qt/lib/libQtCore.so.4.8.6)
==11780== by 0x68A861D: QAbstractItemModelPrivate::rowsAboutToBeRemoved(QModelIndex const&, int, int) (qabstractitemmodel.cpp:726)
==11780== by 0x68AB7E8: QAbstractItemModel::beginRemoveRows(QModelIndex const&, int, int) (qabstractitemmodel.cpp:2471)
==11780== by 0x57E0D10: QSortFilterProxyModelPrivate::remove_proxy_interval(QVector
==11780== by 0x57E5058: QSortFilterProxyModel::parent(QModelIndex const&) const (qsortfilterproxymodel.cpp:1674)
==11780== by 0x68AEACF: QModelIndex::parent() const (in /data/development/sources/qt/lib/libQtCore.so.4.8.6)
==11780== by 0x68A861D: QAbstractItemModelPrivate::rowsAboutToBeRemoved(QModelIndex const&, int, int) (qabstractitemmodel.cpp:726)
==11780== by 0x68AB7E8: QAbstractItemModel::beginRemoveRows(QModelIndex const&, int, int) (qabstractitemmodel.cpp:2471)
==11780== by 0x57E0D10: QSortFilterProxyModelPrivate::remove_proxy_interval(QVector
==11780== by 0x57E0C3A: QSortFilterProxyModelPrivate::remove_source_items(QVector
==11780== by 0x57E3264: QSortFilterProxyModelPrivate::handle_filter_changed(QVector
==11780== by 0x57E2DCC: QSortFilterProxyModelPrivate::filter_changed(QModelIndex const&) (qsortfilterproxymodel.cpp:1037)
==11780== by 0x57E2F21: QSortFilterProxyModelPrivate::filter_changed(QModelIndex const&) (qsortfilterproxymodel.cpp:1052)
==11780== by 0x57E2F21: QSortFilterProxyModelPrivate::filter_changed(QModelIndex const&) (qsortfilterproxymodel.cpp:1052)
==11780== by 0x57E7318: QSortFilterProxyModel::setFilterWildcard(QString const&) (qsortfilterproxymodel.cpp:2230)
==11780== Address 0x2358c2c8 is 40 bytes inside a block of size 48 free'd
==11780== at 0x4C28ADC: free (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==11780== by 0x6774865: qFree(void_) (qmalloc.cpp:60)
==11780== by 0x67A17CE: QHashData::freeNode(void_) (qhash.cpp:189)
==11780== by 0x57EAD79: QHash<QModelIndex, QSortFilterProxyModelPrivate::Mapping_>::deleteNode(QHashNode<QModelIndex, QSortFilterProxyModelPrivate::Mapping*>) (qhash.h:512)
==11780== by 0x57E95F5: QHash<QModelIndex, QSortFilterProxyModelPrivate::Mapping>::take(QModelIndex const&) (qhash.h:817)
==11780== by 0x57DF926: QSortFilterProxyModelPrivate::remove_from_mapping(QModelIndex const&) (qsortfilterproxymodel.cpp:289)
==11780== by 0x57E2F06: QSortFilterProxyModelPrivate::filter_changed(QModelIndex const&) (qsortfilterproxymodel.cpp:1050)
==11780== by 0x57E2F21: QSortFilterProxyModelPrivate::filter_changed(QModelIndex const&) (qsortfilterproxymodel.cpp:1052)
==11780== by 0x57E2F21: QSortFilterProxyModelPrivate::filter_changed(QModelIndex const&) (qsortfilterproxymodel.cpp:1052)
==11780== by 0x57E2F21: QSortFilterProxyModelPrivate::filter_changed(QModelIndex const&) (qsortfilterproxymodel.cpp:1052)
==11780== by 0x57E7318: QSortFilterProxyModel::setFilterWildcard(QString const&) (qsortfilterproxymodel.cpp:2230)
==11780== by 0x47978E: SelectTaskDialog::qt_static_metacall(QObject_, QMetaObject::Call, int, void__) (in /data/kde4/bin/charmtimetracker)
==11780==
==11780== Invalid read of size 4
==11780== at 0x55A36E8: QModelIndex::QModelIndex(QModelIndex const&) (qabstractitemmodel.h:65)
==11780== by 0x57E50C9: QSortFilterProxyModel::parent(QModelIndex const&) const (qsortfilterproxymodel.cpp:1676)
==11780== by 0x68AEACF: QModelIndex::parent() const (in /data/development/sources/qt/lib/libQtCore.so.4.8.6)
==11780== by 0x68A861D: QAbstractItemModelPrivate::rowsAboutToBeRemoved(QModelIndex const&, int, int) (qabstractitemmodel.cpp:726)
==11780== by 0x68AB7E8: QAbstractItemModel::beginRemoveRows(QModelIndex const&, int, int) (qabstractitemmodel.cpp:2471)
==11780== by 0x57E0D10: QSortFilterProxyModelPrivate::remove_proxy_interval(QVector
==11780== by 0x57E0C3A: QSortFilterProxyModelPrivate::remove_source_items(QVector
==11780== by 0x57E3264: QSortFilterProxyModelPrivate::handle_filter_changed(QVector
==11780== by 0x57E2DCC: QSortFilterProxyModelPrivate::filter_changed(QModelIndex const&) (qsortfilterproxymodel.cpp:1037)
==11780== by 0x57E2F21: QSortFilterProxyModelPrivate::filter_changed(QModelIndex const&) (qsortfilterproxymodel.cpp:1052)
==11780== by 0x57E2F21: QSortFilterProxyModelPrivate::filter_changed(QModelIndex const&) (qsortfilterproxymodel.cpp:1052)
==11780== by 0x57E7318: QSortFilterProxyModel::setFilterWildcard(QString const&) (qsortfilterproxymodel.cpp:2230)
==11780== Address 0x2358c2b0 is 16 bytes inside a block of size 48 free'd
==11780== at 0x4C28ADC: free (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==11780== by 0x6774865: qFree(void_) (qmalloc.cpp:60)
==11780== by 0x67A17CE: QHashData::freeNode(void_) (qhash.cpp:189)
==11780== by 0x57EAD79: QHash<QModelIndex, QSortFilterProxyModelPrivate::Mapping_>::deleteNode(QHashNode<QModelIndex, QSortFilterProxyModelPrivate::Mapping*>) (qhash.h:512)
==11780== by 0x57E95F5: QHash<QModelIndex, QSortFilterProxyModelPrivate::Mapping>::take(QModelIndex const&) (qhash.h:817)
==11780== by 0x57DF926: QSortFilterProxyModelPrivate::remove_from_mapping(QModelIndex const&) (qsortfilterproxymodel.cpp:289)
==11780== by 0x57E2F06: QSortFilterProxyModelPrivate::filter_changed(QModelIndex const&) (qsortfilterproxymodel.cpp:1050)
==11780== by 0x57E2F21: QSortFilterProxyModelPrivate::filter_changed(QModelIndex const&) (qsortfilterproxymodel.cpp:1052)
==11780== by 0x57E2F21: QSortFilterProxyModelPrivate::filter_changed(QModelIndex const&) (qsortfilterproxymodel.cpp:1052)
==11780== by 0x57E2F21: QSortFilterProxyModelPrivate::filter_changed(QModelIndex const&) (qsortfilterproxymodel.cpp:1052)
==11780== by 0x57E7318: QSortFilterProxyModel::setFilterWildcard(QString const&) (qsortfilterproxymodel.cpp:2230)
==11780== by 0x47978E: SelectTaskDialog::qt_static_metacall(QObject_, QMetaObject::Call, int, void__) (in /data/kde4/bin/charmtimetracker)
==11780==
==11780== Invalid read of size 4
==11780== at 0x55A36F4: QModelIndex::QModelIndex(QModelIndex const&) (qabstractitemmodel.h:65)
==11780== by 0x57E50C9: QSortFilterProxyModel::parent(QModelIndex const&) const (qsortfilterproxymodel.cpp:1676)
==11780== by 0x68AEACF: QModelIndex::parent() const (in /data/development/sources/qt/lib/libQtCore.so.4.8.6)
==11780== by 0x68A861D: QAbstractItemModelPrivate::rowsAboutToBeRemoved(QModelIndex const&, int, int) (qabstractitemmodel.cpp:726)
==11780== by 0x68AB7E8: QAbstractItemModel::beginRemoveRows(QModelIndex const&, int, int) (qabstractitemmodel.cpp:2471)
==11780== by 0x57E0D10: QSortFilterProxyModelPrivate::remove_proxy_interval(QVector
==11780== by 0x57E0C3A: QSortFilterProxyModelPrivate::remove_source_items(QVector
==11780== by 0x57E3264: QSortFilterProxyModelPrivate::handle_filter_changed(QVector
==11780== by 0x57E2DCC: QSortFilterProxyModelPrivate::filter_changed(QModelIndex const&) (qsortfilterproxymodel.cpp:1037)
==11780== by 0x57E2F21: QSortFilterProxyModelPrivate::filter_changed(QModelIndex const&) (qsortfilterproxymodel.cpp:1052)
==11780== by 0x57E2F21: QSortFilterProxyModelPrivate::filter_changed(QModelIndex const&) (qsortfilterproxymodel.cpp:1052)
==11780== by 0x57E7318: QSortFilterProxyModel::setFilterWildcard(QString const&) (qsortfilterproxymodel.cpp:2230)
==11780== Address 0x2358c2b4 is 20 bytes inside a block of size 48 free'd
==11780== at 0x4C28ADC: free (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==11780== by 0x6774865: qFree(void_) (qmalloc.cpp:60)
==11780== by 0x67A17CE: QHashData::freeNode(void_) (qhash.cpp:189)
==11780== by 0x57EAD79: QHash<QModelIndex, QSortFilterProxyModelPrivate::Mapping_>::deleteNode(QHashNode<QModelIndex, QSortFilterProxyModelPrivate::Mapping*>) (qhash.h:512)
==11780== by 0x57E95F5: QHash<QModelIndex, QSortFilterProxyModelPrivate::Mapping>::take(QModelIndex const&) (qhash.h:817)
==11780== by 0x57DF926: QSortFilterProxyModelPrivate::remove_from_mapping(QModelIndex const&) (qsortfilterproxymodel.cpp:289)
==11780== by 0x57E2F06: QSortFilterProxyModelPrivate::filter_changed(QModelIndex const&) (qsortfilterproxymodel.cpp:1050)
==11780== by 0x57E2F21: QSortFilterProxyModelPrivate::filter_changed(QModelIndex const&) (qsortfilterproxymodel.cpp:1052)
==11780== by 0x57E2F21: QSortFilterProxyModelPrivate::filter_changed(QModelIndex const&) (qsortfilterproxymodel.cpp:1052)
==11780== by 0x57E2F21: QSortFilterProxyModelPrivate::filter_changed(QModelIndex const&) (qsortfilterproxymodel.cpp:1052)
==11780== by 0x57E7318: QSortFilterProxyModel::setFilterWildcard(QString const&) (qsortfilterproxymodel.cpp:2230)
==11780== by 0x47978E: SelectTaskDialog::qt_static_metacall(QObject_, QMetaObject::Call, int, void__) (in /data/kde4/bin/charmtimetracker)
==11780==
==11780== Invalid read of size 8
==11780== at 0x55A3702: QModelIndex::QModelIndex(QModelIndex const&) (qabstractitemmodel.h:65)
==11780== by 0x57E50C9: QSortFilterProxyModel::parent(QModelIndex const&) const (qsortfilterproxymodel.cpp:1676)
==11780== by 0x68AEACF: QModelIndex::parent() const (in /data/development/sources/qt/lib/libQtCore.so.4.8.6)
==11780== by 0x68A861D: QAbstractItemModelPrivate::rowsAboutToBeRemoved(QModelIndex const&, int, int) (qabstractitemmodel.cpp:726)
==11780== by 0x68AB7E8: QAbstractItemModel::beginRemoveRows(QModelIndex const&, int, int) (qabstractitemmodel.cpp:2471)
==11780== by 0x57E0D10: QSortFilterProxyModelPrivate::remove_proxy_interval(QVector
==11780== by 0x57E0C3A: QSortFilterProxyModelPrivate::remove_source_items(QVector
==11780== by 0x57E3264: QSortFilterProxyModelPrivate::handle_filter_changed(QVector
==11780== by 0x57E2DCC: QSortFilterProxyModelPrivate::filter_changed(QModelIndex const&) (qsortfilterproxymodel.cpp:1037)
==11780== by 0x57E2F21: QSortFilterProxyModelPrivate::filter_changed(QModelIndex const&) (qsortfilterproxymodel.cpp:1052)
==11780== by 0x57E2F21: QSortFilterProxyModelPrivate::filter_changed(QModelIndex const&) (qsortfilterproxymodel.cpp:1052)
==11780== by 0x57E7318: QSortFilterProxyModel::setFilterWildcard(QString const&) (qsortfilterproxymodel.cpp:2230)
==11780== Address 0x2358c2b8 is 24 bytes inside a block of size 48 free'd
==11780== at 0x4C28ADC: free (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==11780== by 0x6774865: qFree(void_) (qmalloc.cpp:60)
==11780== by 0x67A17CE: QHashData::freeNode(void_) (qhash.cpp:189)
==11780== by 0x57EAD79: QHash<QModelIndex, QSortFilterProxyModelPrivate::Mapping_>::deleteNode(QHashNode<QModelIndex, QSortFilterProxyModelPrivate::Mapping*>) (qhash.h:512)
==11780== by 0x57E95F5: QHash<QModelIndex, QSortFilterProxyModelPrivate::Mapping>::take(QModelIndex const&) (qhash.h:817)
==11780== by 0x57DF926: QSortFilterProxyModelPrivate::remove_from_mapping(QModelIndex const&) (qsortfilterproxymodel.cpp:289)
==11780== by 0x57E2F06: QSortFilterProxyModelPrivate::filter_changed(QModelIndex const&) (qsortfilterproxymodel.cpp:1050)
==11780== by 0x57E2F21: QSortFilterProxyModelPrivate::filter_changed(QModelIndex const&) (qsortfilterproxymodel.cpp:1052)
==11780== by 0x57E2F21: QSortFilterProxyModelPrivate::filter_changed(QModelIndex const&) (qsortfilterproxymodel.cpp:1052)
==11780== by 0x57E2F21: QSortFilterProxyModelPrivate::filter_changed(QModelIndex const&) (qsortfilterproxymodel.cpp:1052)
==11780== by 0x57E7318: QSortFilterProxyModel::setFilterWildcard(QString const&) (qsortfilterproxymodel.cpp:2230)
==11780== by 0x47978E: SelectTaskDialog::qt_static_metacall(QObject_, QMetaObject::Call, int, void__) (in /data/kde4/bin/charmtimetracker)
==11780==
==11780== Invalid read of size 8
==11780== at 0x55A3712: QModelIndex::QModelIndex(QModelIndex const&) (qabstractitemmodel.h:65)
==11780== by 0x57E50C9: QSortFilterProxyModel::parent(QModelIndex const&) const (qsortfilterproxymodel.cpp:1676)
==11780== by 0x68AEACF: QModelIndex::parent() const (in /data/development/sources/qt/lib/libQtCore.so.4.8.6)
==11780== by 0x68A861D: QAbstractItemModelPrivate::rowsAboutToBeRemoved(QModelIndex const&, int, int) (qabstractitemmodel.cpp:726)
==11780== by 0x68AB7E8: QAbstractItemModel::beginRemoveRows(QModelIndex const&, int, int) (qabstractitemmodel.cpp:2471)
==11780== by 0x57E0D10: QSortFilterProxyModelPrivate::remove_proxy_interval(QVector
==11780== at 0x57E8F34: QSortFilterProxyModelPrivate::index_to_iterator(QModelIndex const&) const (qsortfilterproxymodel.cpp:191)
==11780== by 0x57E0000: QSortFilterProxyModelPrivate::proxy_to_source(QModelIndex const&) const (qsortfilterproxymodel.cpp:368)
==11780== by 0x57E806E: QSortFilterProxyModel::mapToSource(QModelIndex const&) const (qsortfilterproxymodel.cpp:2519)
==11780== by 0x57E2947: QSortFilterProxyModelPrivate::store_persistent_indexes() (qsortfilterproxymodel.cpp:996)
==11780== by 0x57DF9BF: QSortFilterProxyModelPrivate::q_clearMapping() (qsortfilterproxymodel.cpp:299)
==11780== by 0x57DF8F9: QSortFilterProxyModelPrivate::q_sourceModelDestroyed() (qsortfilterproxymodel.cpp:284)
==11780== by 0x57DF63D: QAbstractProxyModel::qt_static_metacall(QObject, QMetaObject::Call, int, void**) (moc_qabstractproxymodel.cpp:48)
==11780== by 0x68D61CF: QMetaObject::activate(QObject, QMetaObject const_, int, void**) (qobject.cpp:3539)
==11780== by 0x68D7E4C: QObject::destroyed(QObject_) (moc_qobject.cpp:148)
==11780== by 0x68D0411: QObject::~QObject() (qobject.cpp:843)
==11780== by 0x68A9922: QAbstractItemModel::~QAbstractItemModel() (qabstractitemmodel.cpp:1389)
==11780== by 0x423E79: ViewFilter::~ViewFilter() (in /data/kde4/bin/charmtimetracker)
==11780== Address 0x23589c08 is 40 bytes inside a block of size 42 free'd
==11780== at 0x4C28ADC: free (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==11780== by 0x6774865: qFree(void_) (qmalloc.cpp:60)
==11780== by 0x67D7771: QString::free(QString::Data_) (qstring.cpp:1235)
==11780== by 0x4ACC49: CharmDataModel::taskIdAndFullNameString(int) const (in /data/kde4/bin/charmtimetracker)
==11780== by 0x4252DE: TaskModelAdapter::data(QModelIndex const&, int) const (in /data/kde4/bin/charmtimetracker)
==11780== by 0x57E7EF4: QSortFilterProxyModel::filterAcceptsRow(int, QModelIndex const&) const (qsortfilterproxymodel.cpp:2486)
==11780== by 0x42407C: ViewFilter::filterAcceptsRow(int, QModelIndex const&) const (in /data/kde4/bin/charmtimetracker)
==11780== by 0x4240E9: ViewFilter::filterAcceptsRow(int, QModelIndex const&) const (in /data/kde4/bin/charmtimetracker)
==11780== by 0x4240E9: ViewFilter::filterAcceptsRow(int, QModelIndex const&) const (in /data/kde4/bin/charmtimetracker)
==11780== by 0x57DFBA1: QSortFilterProxyModelPrivate::create_mapping(QModelIndex const&) const (qsortfilterproxymodel.cpp:327)
==11780== by 0x57E01FB: QSortFilterProxyModelPrivate::source_to_proxy(QModelIndex const&) const (qsortfilterproxymodel.cpp:387)
==11780== by 0x57E80B0: QSortFilterProxyModel::mapFromSource(QModelIndex const&) const (qsortfilterproxymodel.cpp:2531)
==11780==
==11780== Invalid read of size 8
==11780== at 0x57E8F97: QSortFilterProxyModelPrivate::index_to_iterator(QModelIndex const&) const (qsortfilterproxymodel.cpp:193)
==11780== by 0x57E0000: QSortFilterProxyModelPrivate::proxy_to_source(QModelIndex const&) const (qsortfilterproxymodel.cpp:368)
==11780== by 0x57E806E: QSortFilterProxyModel::mapToSource(QModelIndex const&) const (qsortfilterproxymodel.cpp:2519)
==11780== by 0x57E2947: QSortFilterProxyModelPrivate::store_persistent_indexes() (qsortfilterproxymodel.cpp:996)
==11780== by 0x57DF9BF: QSortFilterProxyModelPrivate::q_clearMapping() (qsortfilterproxymodel.cpp:299)
==11780== by 0x57DF8F9: QSortFilterProxyModelPrivate::q_sourceModelDestroyed() (qsortfilterproxymodel.cpp:284)
==11780== by 0x57DF63D: QAbstractProxyModel::qt_static_metacall(QObject, QMetaObject::Call, int, void**) (moc_qabstractproxymodel.cpp:48)
==11780== by 0x68D61CF: QMetaObject::activate(QObject, QMetaObject const_, int, void**) (qobject.cpp:3539)
==11780== by 0x68D7E4C: QObject::destroyed(QObject_) (moc_qobject.cpp:148)
==11780== by 0x68D0411: QObject::~QObject() (qobject.cpp:843)
==11780== by 0x68A9922: QAbstractItemModel::~QAbstractItemModel() (qabstractitemmodel.cpp:1389)
==11780== by 0x423E79: ViewFilter::~ViewFilter() (in /data/kde4/bin/charmtimetracker)
==11780== Address 0xaf01b48 is 0 bytes after a block of size 40 free'd
==11780== at 0x4C28ADC: free (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==11780== by 0x6774865: qFree(void_) (qmalloc.cpp:60)
==11780== by 0x67D7771: QString::free(QString::Data_) (qstring.cpp:1235)
==11780== by 0x675666C: QString::~QString() (in /data/development/sources/qt/lib/libQtCore.so.4.8.6)
==11780== by 0x67E2B44: QString::arg(long long, int, int, QChar const&) const (qstring.cpp:6781)
==11780== by 0x4ACBD9: CharmDataModel::taskIdAndFullNameString(int) const (in /data/kde4/bin/charmtimetracker)
==11780== by 0x4252DE: TaskModelAdapter::data(QModelIndex const&, int) const (in /data/kde4/bin/charmtimetracker)
==11780== by 0x57E7EF4: QSortFilterProxyModel::filterAcceptsRow(int, QModelIndex const&) const (qsortfilterproxymodel.cpp:2486)
==11780== by 0x42407C: ViewFilter::filterAcceptsRow(int, QModelIndex const&) const (in /data/kde4/bin/charmtimetracker)
==11780== by 0x4240E9: ViewFilter::filterAcceptsRow(int, QModelIndex const&) const (in /data/kde4/bin/charmtimetracker)
==11780== by 0x4240E9: ViewFilter::filterAcceptsRow(int, QModelIndex const&) const (in /data/kde4/bin/charmtimetracker)
==11780== by 0x57DFBA1: QSortFilterProxyModelPrivate::create_mapping(QModelIndex const&) const (qsortfilterproxymodel.cpp:327)
==11780==
==11780== Invalid read of size 8
==11780== at 0x57E0011: QSortFilterProxyModelPrivate::proxy_to_source(QModelIndex const&) const (qsortfilterproxymodel.cpp:369)
==11780== by 0x57E806E: QSortFilterProxyModel::mapToSource(QModelIndex const&) const (qsortfilterproxymodel.cpp:2519)
==11780== by 0x57E2947: QSortFilterProxyModelPrivate::store_persistent_indexes() (qsortfilterproxymodel.cpp:996)
==11780== by 0x57DF9BF: QSortFilterProxyModelPrivate::q_clearMapping() (qsortfilterproxymodel.cpp:299)
==11780== by 0x57DF8F9: QSortFilterProxyModelPrivate::q_sourceModelDestroyed() (qsortfilterproxymodel.cpp:284)
==11780== by 0x57DF63D: QAbstractProxyModel::qt_static_metacall(QObject, QMetaObject::Call, int, void**) (moc_qabstractproxymodel.cpp:48)
==11780== by 0x68D61CF: QMetaObject::activate(QObject, QMetaObject const_, int, void**) (qobject.cpp:3539)
==11780== by 0x68D7E4C: QObject::destroyed(QObject_) (moc_qobject.cpp:148)
==11780== by 0x68D0411: QObject::~QObject() (qobject.cpp:843)
==11780== by 0x68A9922: QAbstractItemModel::~QAbstractItemModel() (qabstractitemmodel.cpp:1389)
==11780== by 0x423E79: ViewFilter::~ViewFilter() (in /data/kde4/bin/charmtimetracker)
==11780== by 0x47828A: SelectTaskDialog::~SelectTaskDialog() (in /data/kde4/bin/charmtimetracker)
==11780== Address 0xaf01b48 is 0 bytes after a block of size 40 free'd
==11780== at 0x4C28ADC: free (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==11780== by 0x6774865: qFree(void_) (qmalloc.cpp:60)
==11780== by 0x67D7771: QString::free(QString::Data_) (qstring.cpp:1235)
==11780== by 0x675666C: QString::~QString() (in /data/development/sources/qt/lib/libQtCore.so.4.8.6)
==11780== by 0x67E2B44: QString::arg(long long, int, int, QChar const&) const (qstring.cpp:6781)
==11780== by 0x4ACBD9: CharmDataModel::taskIdAndFullNameString(int) const (in /data/kde4/bin/charmtimetracker)
==11780== by 0x4252DE: TaskModelAdapter::data(QModelIndex const&, int) const (in /data/kde4/bin/charmtimetracker)
==11780== by 0x57E7EF4: QSortFilterProxyModel::filterAcceptsRow(int, QModelIndex const&) const (qsortfilterproxymodel.cpp:2486)
==11780== by 0x42407C: ViewFilter::filterAcceptsRow(int, QModelIndex const&) const (in /data/kde4/bin/charmtimetracker)
==11780== by 0x4240E9: ViewFilter::filterAcceptsRow(int, QModelIndex const&) const (in /data/kde4/bin/charmtimetracker)
==11780== by 0x4240E9: ViewFilter::filterAcceptsRow(int, QModelIndex const&) const (in /data/kde4/bin/charmtimetracker)
==11780== by 0x57DFBA1: QSortFilterProxyModelPrivate::create_mapping(QModelIndex const&) const (qsortfilterproxymodel.cpp:327)
==11780==
==11780== Invalid read of size 8
==11780== at 0x5273748: QVector
==11780== by 0x57E0031: QSortFilterProxyModelPrivate::proxy_to_source(QModelIndex const&) const (qsortfilterproxymodel.cpp:370)
==11780== by 0x57E806E: QSortFilterProxyModel::mapToSource(QModelIndex const&) const (qsortfilterproxymodel.cpp:2519)
==11780== by 0x57E2947: QSortFilterProxyModelPrivate::store_persistent_indexes() (qsortfilterproxymodel.cpp:996)
==11780== by 0x57DF9BF: QSortFilterProxyModelPrivate::q_clearMapping() (qsortfilterproxymodel.cpp:299)
==11780== by 0x57DF8F9: QSortFilterProxyModelPrivate::q_sourceModelDestroyed() (qsortfilterproxymodel.cpp:284)
==11780== by 0x57DF63D: QAbstractProxyModel::qt_static_metacall(QObject, QMetaObject::Call, int, void**) (moc_qabstractproxymodel.cpp:48)
==11780== by 0x68D61CF: QMetaObject::activate(QObject, QMetaObject const_, int, void**) (qobject.cpp:3539)
==11780== by 0x68D7E4C: QObject::destroyed(QObject_) (moc_qobject.cpp:148)
==11780== by 0x68D0411: QObject::~QObject() (qobject.cpp:843)
==11780== by 0x68A9922: QAbstractItemModel::~QAbstractItemModel() (qabstractitemmodel.cpp:1389)
==11780== by 0x423E79: ViewFilter::~ViewFilter() (in /data/kde4/bin/charmtimetracker)
==11780== Address 0x23589be0 is 0 bytes inside a block of size 42 free'd
==11780== at 0x4C28ADC: free (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==11780== by 0x6774865: qFree(void_) (qmalloc.cpp:60)
==11780== by 0x67D7771: QString::free(QString::Data_) (qstring.cpp:1235)
==11780== by 0x4ACC49: CharmDataModel::taskIdAndFullNameString(int) const (in /data/kde4/bin/charmtimetracker)
==11780== by 0x4252DE: TaskModelAdapter::data(QModelIndex const&, int) const (in /data/kde4/bin/charmtimetracker)
==11780== by 0x57E7EF4: QSortFilterProxyModel::filterAcceptsRow(int, QModelIndex const&) const (qsortfilterproxymodel.cpp:2486)
==11780== by 0x42407C: ViewFilter::filterAcceptsRow(int, QModelIndex const&) const (in /data/kde4/bin/charmtimetracker)
==11780== by 0x4240E9: ViewFilter::filterAcceptsRow(int, QModelIndex const&) const (in /data/kde4/bin/charmtimetracker)
==11780== by 0x4240E9: ViewFilter::filterAcceptsRow(int, QModelIndex const&) const (in /data/kde4/bin/charmtimetracker)
==11780== by 0x57DFBA1: QSortFilterProxyModelPrivate::create_mapping(QModelIndex const&) const (qsortfilterproxymodel.cpp:327)
==11780== by 0x57E01FB: QSortFilterProxyModelPrivate::source_to_proxy(QModelIndex const&) const (qsortfilterproxymodel.cpp:387)
==11780== by 0x57E80B0: QSortFilterProxyModel::mapFromSource(QModelIndex const&) const (qsortfilterproxymodel.cpp:2531)
==11780==
==11780== Invalid read of size 4
==11780== at 0x527374B: QVector
==11780== by 0x57E0031: QSortFilterProxyModelPrivate::proxy_to_source(QModelIndex const&) const (qsortfilterproxymodel.cpp:370)
==11780== by 0x57E806E: QSortFilterProxyModel::mapToSource(QModelIndex const&) const (qsortfilterproxymodel.cpp:2519)
==11780== by 0x57E2947: QSortFilterProxyModelPrivate::store_persistent_indexes() (qsortfilterproxymodel.cpp:996)
==11780== by 0x57DF9BF: QSortFilterProxyModelPrivate::q_clearMapping() (qsortfilterproxymodel.cpp:299)
==11780== by 0x57DF8F9: QSortFilterProxyModelPrivate::q_sourceModelDestroyed() (qsortfilterproxymodel.cpp:284)
==11780== by 0x57DF63D: QAbstractProxyModel::qt_static_metacall(QObject, QMetaObject::Call, int, void**) (moc_qabstractproxymodel.cpp:48)
==11780== by 0x68D61CF: QMetaObject::activate(QObject, QMetaObject const_, int, void**) (qobject.cpp:3539)
==11780== by 0x68D7E4C: QObject::destroyed(QObject_) (moc_qobject.cpp:148)
==11780== by 0x68D0411: QObject::~QObject() (qobject.cpp:843)
==11780== by 0x68A9922: QAbstractItemModel::~QAbstractItemModel() (qabstractitemmodel.cpp:1389)
==11780== by 0x423E79: ViewFilter::~ViewFilter() (in /data/kde4/bin/charmtimetracker)
==11780== Address 0x500000008 is not stack'd, malloc'd or (recently) free'd
==11780==
==11780==
==11780== Process terminating with default action of signal 11 (SIGSEGV)
==11780== Access not within mapped region at address 0x500000008
==11780== at 0x527374B: QVector
I also saw these but couldn't reliably reproduce them.
@amantia Still seeing such crashes?
I could not reproduce!
Closing as not reproducible anymore. Please reopen if you still see it with recent builds.
Andreas got the same with current git master
(gdb) bt
#0 index_to_iterator (proxy_index=..., this=0xb098e0)
at /opt/src/ksrc5/qt/stable/qtbase/src/corelib/itemmodels/qsortfilterproxymodel.cpp:187
#1 QSortFilterProxyModel::parent (this=0x7fffffffcf70, child=...)
at /opt/src/ksrc5/qt/stable/qtbase/src/corelib/itemmodels/qsortfilterproxymodel.cpp:1872
#2 0x00007ffff6e07d32 in parent (this=0x7fffffffbcd0)
at /opt/src/ksrc5/qt/stable/qtbase/src/corelib/itemmodels/qabstractitemmodel.h:411
#3 QAbstractItemModelPrivate::rowsAboutToBeRemoved (this=this@entry=0xb098e0, parent=..., first=first@entry=0,
last=last@entry=0) at /opt/src/ksrc5/qt/stable/qtbase/src/corelib/itemmodels/qabstractitemmodel.cpp:739
#4 0x00007ffff6e0b89d in QAbstractItemModel::beginRemoveRows (this=this@entry=0x7fffffffcf70, parent=...,
first=first@entry=0, last=last@entry=0)
at /opt/src/ksrc5/qt/stable/qtbase/src/corelib/itemmodels/qabstractitemmodel.cpp:2657
#5 0x00007ffff6e273f9 in QSortFilterProxyModelPrivate::remove_proxy_interval (this=this@entry=0xb098e0, source_to_proxy=...,
proxy_to_source=..., proxy_start=0, proxy_end=0, proxy_parent=..., orient=Qt::Vertical, emit_signal=true)
at /opt/src/ksrc5/qt/stable/qtbase/src/corelib/itemmodels/qsortfilterproxymodel.cpp:576
#6 0x00007ffff6e2cc03 in QSortFilterProxyModelPrivate::remove_source_items (this=this@entry=0xb098e0, source_to_proxy=...,
proxy_to_source=..., source_items=..., source_parent=..., orient=orient@entry=Qt::Vertical, emit_signal=true)
at /opt/src/ksrc5/qt/stable/qtbase/src/corelib/itemmodels/qsortfilterproxymodel.cpp:558
#7 0x00007ffff6e2d146 in QSortFilterProxyModelPrivate::handle_filter_changed (this=this@entry=0xb098e0, source_to_proxy=...,
proxy_to_source=..., source_parent=..., orient=orient@entry=Qt::Vertical)
at /opt/src/ksrc5/qt/stable/qtbase/src/corelib/itemmodels/qsortfilterproxymodel.cpp:1125
#8 0x00007ffff6e2d3d1 in QSortFilterProxyModelPrivate::filter_changed (this=this@entry=0xb098e0, source_parent=...)
at /opt/src/ksrc5/qt/stable/qtbase/src/corelib/itemmodels/qsortfilterproxymodel.cpp:1057
#9 0x00007ffff6e2d604 in QSortFilterProxyModelPrivate::filter_changed (this=this@entry=0xb098e0, source_parent=...)
at /opt/src/ksrc5/qt/stable/qtbase/src/corelib/itemmodels/qsortfilterproxymodel.cpp:1072
#10 0x00007ffff6e2d604 in QSortFilterProxyModelPrivate::filter_changed (this=this@entry=0xb098e0, source_parent=...)
at /opt/src/ksrc5/qt/stable/qtbase/src/corelib/itemmodels/qsortfilterproxymodel.cpp:1072
#11 0x00007ffff6e2da7c in QSortFilterProxyModel::setFilterWildcard (this=
...and before the BT:
Program received signal SIGSEGV, Segmentation fault. index_to_iterator (proxy_index=..., this=0xb098e0) at /opt/src/ksrc5/qt/stable/qtbase/src/corelib/itemmodels/qsortfilterproxymodel.cpp:187 187 Q_ASSERT(it.value()); (gdb) bt