[Kde-pim] Frequent crashes in EntityTreeModel and other library models

David Jarvie djarvie at kde.org
Mon Nov 22 00:49:59 GMT 2010


When built to use Akonadi, KAlarm very frequently crashes during its startup. Most of the crashes, which are individually non-reproducible, occur during initialisation of the Akonadi models, including EntityTreeModel. The majority of times, no crash dialog is displayed, so I can't investigate those crashes. Some crashes also occur when events are added or removed subsequently.

I'm quite concerned that unless things improve a lot, the Akonadi version of KAlarm in 4.6 will be quite unstable. I've fixed various bugs in the KAlarm code itself, but most of the remaining crashes for which I have traces, like the attached one, occur at a low level inside the Akonadi models or kdeui models. As a result, they aren't easy to debug, and suggest that the fault probably lies in the library classes rather than in the application.

I'd like to help fix these crashes, if somebody could tell me what else I can do to track them down.

I attach a trace from the latest crash in KSelectionProxyModel / EntityTreeModel.

-- 
David Jarvie.
KDE developer.
KAlarm author -- http://www.astrojar.org.uk/kalarm
-------------- next part --------------
Application: KAlarm (kalarm), signal: Segmentation fault
[KCrash Handler]
#6  0xb66aa34e in KSelectionProxyModelPrivate::topLevelRowCount (this=0x951fd08) at /home/david/src/svn/trunk/KDE/kdelibs/kdeui/itemviews/kselectionproxymodel.cpp:1321
#7  0xb66addd4 in KSelectionProxyModel::rowCount (this=0x9504850, index=@0xbfc29040) at /home/david/src/svn/trunk/KDE/kdelibs/kdeui/itemviews/kselectionproxymodel.cpp:2136
#8  0xb53970da in QAbstractItemModel::hasIndex () from /opt/qt4.7/lib/libQtCore.so.4
#9  0xb66aabd7 in KSelectionProxyModel::index (this=0x9504850, row=0, column=0, parent=@0xbfc29040) at /home/david/src/svn/trunk/KDE/kdelibs/kdeui/itemviews/kselectionproxymodel.cpp:2160
#10 0xb72bf899 in Akonadi::EntityMimeTypeFilterModel::filterAcceptsRow (this=0x94f5208, sourceRow=0, sourceParent=@0xbfc29040)
    at /home/david/src/svn/trunk/KDE/kdepimlibs/akonadi/entitymimetypefiltermodel.cpp:104
#11 0x081e5d99 in TemplateListModel::filterAcceptsRow (this=0x94f5208, sourceRow=0, sourceParent=@0xbfc29040) at /home/david/src/svn/trunk/KDE/kdepim/kalarm/itemlistmodel.cpp:276
#12 0xb6134a5a in ?? () from /opt/qt4.7/lib/libQtGui.so.4
#13 0xb6137155 in QSortFilterProxyModel::qt_metacall () from /opt/qt4.7/lib/libQtGui.so.4
#14 0xb72beb7c in Akonadi::EntityMimeTypeFilterModel::qt_metacall (this=0x94f5208, _c=QMetaObject::InvokeMetaMethod, _id=30, _a=0xbfc291c8)
    at /home/david/src/svn/obj/trunk/KDE/kdepimlibs/akonadi/entitymimetypefiltermodel.moc:64
#15 0x0808267e in ItemListModel::qt_metacall (this=0x94f5208, _c=QMetaObject::InvokeMetaMethod, _id=30, _a=0xbfc291c8) at /home/david/src/svn/obj/trunk/KDE/kdepim/kalarm/moc_itemlistmodel.cpp:74
#16 0xb53aabf5 in QMetaObject::metacall () from /opt/qt4.7/lib/libQtCore.so.4
#17 0xb53bd723 in QMetaObject::activate () from /opt/qt4.7/lib/libQtCore.so.4
#18 0xb540fdd9 in QAbstractItemModel::dataChanged () from /opt/qt4.7/lib/libQtCore.so.4
#19 0xb66b2424 in KSelectionProxyModelPrivate::emitContinuousRanges (this=0x951fd08, sourceFirst=@0x96a47f0, sourceLast=@0xbfc294c4, proxyFirst=@0xbfc292c0, proxyLast=@0xbfc292b0)
    at /home/david/src/svn/trunk/KDE/kdelibs/kdeui/itemviews/kselectionproxymodel.cpp:585
#20 0xb66b26a2 in KSelectionProxyModelPrivate::sourceDataChanged (this=0x951fd08, topLeft=@0x96a47f0, bottomRight=@0xbfc294c4)
    at /home/david/src/svn/trunk/KDE/kdelibs/kdeui/itemviews/kselectionproxymodel.cpp:628
#21 0xb66b4819 in KSelectionProxyModel::qt_metacall (this=0x9504850, _c=QMetaObject::InvokeMetaMethod, _id=14, _a=0xbfc29488)
    at /home/david/src/svn/obj/trunk/KDE/kdelibs/kdeui/moc_kselectionproxymodel.cpp:133
#22 0xb53aabf5 in QMetaObject::metacall () from /opt/qt4.7/lib/libQtCore.so.4
#23 0xb53bd723 in QMetaObject::activate () from /opt/qt4.7/lib/libQtCore.so.4
#24 0xb540fdd9 in QAbstractItemModel::dataChanged () from /opt/qt4.7/lib/libQtCore.so.4
#25 0xb72cf961 in Akonadi::EntityTreeModelPrivate::dataChanged (this=0x94baec0, top=@0x96a47f0, bottom=@0x96a47f0) at /home/david/src/svn/trunk/KDE/kdepimlibs/akonadi/entitytreemodel_p.cpp:1408
#26 0xb72d2dc4 in Akonadi::EntityTreeModelPrivate::monitoredItemChanged (this=0x94baec0, item=@0xbfc29774) at /home/david/src/svn/trunk/KDE/kdepimlibs/akonadi/entitytreemodel_p.cpp:949
#27 0xb72c5493 in Akonadi::EntityTreeModel::qt_metacall (this=0x94bd8a0, _c=QMetaObject::InvokeMetaMethod, _id=24, _a=0xbfc296f8)
    at /home/david/src/svn/obj/trunk/KDE/kdepimlibs/akonadi/entitytreemodel.moc:156
#28 0x08082a6c in AkonadiModel::qt_metacall (this=0x94bd8a0, _c=QMetaObject::InvokeMetaMethod, _id=48, _a=0xbfc296f8) at /home/david/src/svn/obj/trunk/KDE/kdepim/kalarm/moc_akonadimodel.cpp:121
#29 0xb53aabf5 in QMetaObject::metacall () from /opt/qt4.7/lib/libQtCore.so.4
#30 0xb53bd723 in QMetaObject::activate () from /opt/qt4.7/lib/libQtCore.so.4
#31 0xb732998b in Akonadi::Monitor::itemChanged (this=0x948ca00, _t1=@0xbfc29774, _t2=@0xbfc297d0) at /home/david/src/svn/obj/trunk/KDE/kdepimlibs/akonadi/monitor.moc:169
#32 0xb732d21f in Akonadi::MonitorPrivate::emitItemNotification (this=0x9443a90, msg=@0xbfc29884, item=@0xbfc29838, collection=@0xbfc29844, collectionDest=@0xbfc29840)
    at /home/david/src/svn/trunk/KDE/kdepimlibs/akonadi/monitor_p.cpp:422
#33 0xb732d6b1 in Akonadi::MonitorPrivate::emitNotification (this=0x9443a90, msg=@0xbfc29884) at /home/david/src/svn/trunk/KDE/kdepimlibs/akonadi/monitor_p.cpp:263
#34 0xb732e39e in Akonadi::MonitorPrivate::dataAvailable (this=0x9443a90) at /home/david/src/svn/trunk/KDE/kdepimlibs/akonadi/monitor_p.cpp:275
#35 0xb7329d95 in Akonadi::Monitor::qt_metacall (this=0x948ca00, _c=QMetaObject::InvokeMetaMethod, _id=23, _a=0xbfc29988) at /home/david/src/svn/obj/trunk/KDE/kdepimlibs/akonadi/monitor.moc:156
#36 0xb727d6f4 in Akonadi::ChangeRecorder::qt_metacall (this=0x948ca00, _c=QMetaObject::InvokeMetaMethod, _id=27, _a=0xbfc29988)
    at /home/david/src/svn/obj/trunk/KDE/kdepimlibs/akonadi/changerecorder.moc:72
#37 0xb53aabf5 in QMetaObject::metacall () from /opt/qt4.7/lib/libQtCore.so.4
#38 0xb53bd723 in QMetaObject::activate () from /opt/qt4.7/lib/libQtCore.so.4
#39 0xb72bcea1 in Akonadi::EntityCacheBase::dataAvailable (this=0x9443ad4) at /home/david/src/svn/obj/trunk/KDE/kdepimlibs/akonadi/entitycache_p.moc:88
#40 0xb728229f in Akonadi::EntityCache<Akonadi::Item, Akonadi::ItemFetchJob, Akonadi::ItemFetchScope>::fetchResult (this=0x9443ad4, job=0x9516fc8)
    at /home/david/src/svn/trunk/KDE/kdepimlibs/akonadi/entitycache_p.h:189
#41 0xb72bcf32 in Akonadi::EntityCacheBase::qt_metacall (this=0x9443ad4, _c=QMetaObject::InvokeMetaMethod, _id=1, _a=0xbfc29b0c)
    at /home/david/src/svn/obj/trunk/KDE/kdepimlibs/akonadi/entitycache_p.moc:77
#42 0xb53aabf5 in QMetaObject::metacall () from /opt/qt4.7/lib/libQtCore.so.4
#43 0xb53bd723 in QMetaObject::activate () from /opt/qt4.7/lib/libQtCore.so.4
#44 0xb5690a14 in KJob::result (this=0x9516fc8, _t1=0x9516fc8) at /home/david/src/svn/obj/trunk/KDE/kdelibs/kdecore/kjob.moc:194
#45 0xb5690e7d in KJob::emitResult (this=0x9516fc8) at /home/david/src/svn/trunk/KDE/kdelibs/kdecore/jobs/kjob.cpp:312
#46 0xb731c311 in Akonadi::JobPrivate::delayedEmitResult (this=0x969adb0) at /home/david/src/svn/trunk/KDE/kdepimlibs/akonadi/job.cpp:144
#47 0xb731c8e4 in Akonadi::Job::qt_metacall (this=0x9516fc8, _c=QMetaObject::InvokeMetaMethod, _id=6, _a=0x96949f8) at /home/david/src/svn/obj/trunk/KDE/kdepimlibs/akonadi/job.moc:91
#48 0xb73061b9 in Akonadi::ItemFetchJob::qt_metacall (this=0x9516fc8, _c=QMetaObject::InvokeMetaMethod, _id=34, _a=0x96949f8)
    at /home/david/src/svn/obj/trunk/KDE/kdepimlibs/akonadi/itemfetchjob.moc:73
#49 0xb53aabf5 in QMetaObject::metacall () from /opt/qt4.7/lib/libQtCore.so.4
#50 0xb53b61a6 in QMetaCallEvent::placeMetaCall () from /opt/qt4.7/lib/libQtCore.so.4
#51 0xb53b7235 in QObject::event () from /opt/qt4.7/lib/libQtCore.so.4
#52 0xb5ad8fdc in QApplicationPrivate::notify_helper () from /opt/qt4.7/lib/libQtGui.so.4
#53 0xb5ae37f6 in QApplication::notify () from /opt/qt4.7/lib/libQtGui.so.4
#54 0xb66caaf7 in KApplication::notify (this=0x93af680, receiver=0x9516fc8, event=0x95ba8b8) at /home/david/src/svn/trunk/KDE/kdelibs/kdeui/kernel/kapplication.cpp:311
#55 0xb53a4d4b in QCoreApplication::notifyInternal () from /opt/qt4.7/lib/libQtCore.so.4
#56 0xb53a7b4b in QCoreApplicationPrivate::sendPostedEvents () from /opt/qt4.7/lib/libQtCore.so.4
#57 0xb53a7d3d in QCoreApplication::sendPostedEvents () from /opt/qt4.7/lib/libQtCore.so.4
#58 0xb53d4684 in ?? () from /opt/qt4.7/lib/libQtCore.so.4
#59 0xb49161d8 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#60 0xb4919873 in ?? () from /usr/lib/libglib-2.0.so.0
#61 0x093b1800 in ?? ()
#62 0x00000000 in ?? ()
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 197 bytes
Desc: This is a digitally signed message part.
URL: <http://mail.kde.org/pipermail/kde-pim/attachments/20101122/c0ec4468/attachment.sig>
-------------- next part --------------
_______________________________________________
KDE PIM mailing list kde-pim at kde.org
https://mail.kde.org/mailman/listinfo/kde-pim
KDE PIM home page at http://pim.kde.org/


More information about the kde-pim mailing list