Bug 253009

Summary: KMail2 crashes when moving message between imap folders
Product: [Applications] kmail2 Reporter: Peter Grasch <me>
Component: generalAssignee: kdepim bugs <kdepim-bugs>
Status: RESOLVED FIXED    
Severity: crash CC: tokoe
Priority: NOR    
Version: 2.0.89   
Target Milestone: ---   
Platform: Compiled Sources   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Peter Grasch 2010-10-02 12:11:59 UTC
Application: kmail (2.0.89)
KDE Platform Version: 4.5.70 (4.6 >= 20100927) (Compiled from sources)
Qt Version: 4.7.0
Operating System: Linux 2.6.35-gentoo-r8 x86_64
Distribution: "Gentoo Base System release 2.0.1"

-- Information about the crash:
- What I was doing when the application crashed:
I was moving a read, incoming message from the imap inbox to another imap folder.

It does seem to happen randomly and I can't reproduce it reliably but it happens every now and then.

Note: This is an svn build (everything KDE related) was last updated yesterday evening (2nd October 2010).

-- Backtrace:
Application: KMail (kmail), signal: Segmentation fault
[Current thread is 1 (Thread 0x7f8ef7807760 (LWP 27579))]

Thread 2 (Thread 0x7f8ee2a4b710 (LWP 27584)):
#0  0x00007f8ef38c259c in pthread_cond_wait () from /lib/libpthread.so.0
#1  0x00007f8eeb4d73cd in WTF::TCMalloc_PageHeap::scavengerThread() () from /usr/lib64/qt4/libQtWebKit.so.4
#2  0x00007f8eeb4d74d9 in WTF::TCMalloc_PageHeap::runScavengerThread(void*) () from /usr/lib64/qt4/libQtWebKit.so.4
#3  0x00007f8ef38bdc1a in start_thread () from /lib/libpthread.so.0
#4  0x00007f8ef4a2da9d in clone () from /lib/libc.so.6

Thread 1 (Thread 0x7f8ef7807760 (LWP 27579)):
[KCrash Handler]
#6  0x00007f8ef5e1f01b in QSortFilterProxyModel::parent(QModelIndex const&) const () from /usr/lib64/qt4/libQtGui.so.4
#7  0x00007f8eef02e3af in Future::KIdentityProxyModel::parent(QModelIndex const&) const () from /usr/lib/libakonadi_next.so.4
#8  0x00007f8ef5e21846 in QSortFilterProxyModelPrivate::update_persistent_indexes(QList<QPair<QModelIndex, QPersistentModelIndex> > const&) () from /usr/lib64/qt4/libQtGui.so.4
#9  0x00007f8ef5e222ea in QSortFilterProxyModelPrivate::_q_sourceLayoutChanged() () from /usr/lib64/qt4/libQtGui.so.4
#10 0x00007f8ef5e286a9 in QSortFilterProxyModel::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib64/qt4/libQtGui.so.4
#11 0x00007f8ef71e50b0 in KRecursiveFilterProxyModel::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib/libkdeui.so.5
#12 0x00007f8ef537027f in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib64/qt4/libQtCore.so.4
#13 0x00007f8eef02f50c in Future::KIdentityProxyModelPrivate::_k_sourceLayoutChanged() () from /usr/lib/libakonadi_next.so.4
#14 0x00007f8eef02fd3d in Future::KIdentityProxyModel::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib/libakonadi_next.so.4
#15 0x00007f8ef537027f in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib64/qt4/libQtCore.so.4
#16 0x00007f8ef5e22308 in QSortFilterProxyModelPrivate::_q_sourceLayoutChanged() () from /usr/lib64/qt4/libQtGui.so.4
#17 0x00007f8ef5e286a9 in QSortFilterProxyModel::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib64/qt4/libQtGui.so.4
#18 0x00007f8ef249e800 in Akonadi::StatisticsProxyModel::qt_metacall (this=0x7fffa912cbc0, _c=23015584, _id=-1458385872, _a=0x15f30a0) at /home/bedahr/tmp/akonadi/akonadi/statisticsproxymodel.moc:72
#19 0x00007f8ef537027f in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib64/qt4/libQtCore.so.4
#20 0x00007f8ef5e22308 in QSortFilterProxyModelPrivate::_q_sourceLayoutChanged() () from /usr/lib64/qt4/libQtGui.so.4
#21 0x00007f8ef5e286a9 in QSortFilterProxyModel::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib64/qt4/libQtGui.so.4
#22 0x00007f8ef71e50b0 in KRecursiveFilterProxyModel::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib/libkdeui.so.5
#23 0x00007f8ef537027f in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib64/qt4/libQtCore.so.4
#24 0x00007f8ef5e22308 in QSortFilterProxyModelPrivate::_q_sourceLayoutChanged() () from /usr/lib64/qt4/libQtGui.so.4
#25 0x00007f8ef5e286a9 in QSortFilterProxyModel::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib64/qt4/libQtGui.so.4
#26 0x00007f8ef537027f in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib64/qt4/libQtCore.so.4
#27 0x00007f8ef535329d in QAbstractItemModel::endMoveRows() () from /usr/lib64/qt4/libQtCore.so.4
#28 0x00007f8ef240e1e7 in Akonadi::EntityTreeModelPrivate::monitoredItemMoved (this=<value optimized out>, item=..., sourceCollection=..., destCollection=...) at /home/bedahr/tmp/akonadi/akonadi/entitytreemodel_p.cpp:958
#29 0x00007f8ef23ff27a in Akonadi::EntityTreeModel::qt_metacall (this=0x9a6600, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=0x7fffa912d8d0) at /home/bedahr/tmp/akonadi/akonadi/entitytreemodel.moc:153
#30 0x00007f8ef537027f in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib64/qt4/libQtCore.so.4
#31 0x00007f8ef244f55f in Akonadi::Monitor::itemMoved (this=0x7fffa912cbc0, _t1=<value optimized out>, _t2=<value optimized out>, _t3=<value optimized out>) at /home/bedahr/tmp/akonadi/akonadi/monitor.moc:176
#32 0x00007f8ef24526ba in Akonadi::MonitorPrivate::emitItemNotification (this=0x6a0fd0, msg=..., item=<value optimized out>, collection=<value optimized out>, collectionDest=<value optimized out>) at /home/bedahr/tmp/akonadi/akonadi/monitor_p.cpp:424
#33 0x00007f8ef24532b3 in Akonadi::MonitorPrivate::emitNotification (this=0x6a0fd0, msg=...) at /home/bedahr/tmp/akonadi/akonadi/monitor_p.cpp:262
#34 0x00007f8ef2453518 in Akonadi::MonitorPrivate::dataAvailable (this=0x6a0fd0) at /home/bedahr/tmp/akonadi/akonadi/monitor_p.cpp:274
#35 0x00007f8ef244f625 in Akonadi::Monitor::qt_metacall (this=0x962190, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=0x7fffa912dcd0) at /home/bedahr/tmp/akonadi/akonadi/monitor.moc:156
#36 0x00007f8ef23c2ef8 in Akonadi::ChangeRecorder::qt_metacall (this=0x7fffa912cbc0, _c=23015584, _id=-1458385872, _a=0x15f30a0) at /home/bedahr/tmp/akonadi/akonadi/changerecorder.moc:72
#37 0x00007f8ef537027f in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib64/qt4/libQtCore.so.4
#38 0x00007f8ef23c33a7 in Akonadi::EntityCache<Akonadi::Item, Akonadi::ItemFetchJob, Akonadi::ItemFetchScope>::fetchResult (this=0x6a1058, job=<value optimized out>) at /home/bedahr/tmp/akonadi/akonadi/entitycache_p.h:189
#39 0x00007f8ef23f84f3 in Akonadi::EntityCacheBase::qt_metacall (this=0x6a1058, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=0x7fffa912dee0) at /home/bedahr/tmp/akonadi/akonadi/entitycache_p.moc:77
#40 0x00007f8ef537027f in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib64/qt4/libQtCore.so.4
#41 0x00007f8ef6c13d32 in KJob::result(KJob*) () from /usr/lib/libkdecore.so.5
#42 0x00007f8ef6c13fd0 in KJob::emitResult() () from /usr/lib/libkdecore.so.5
#43 0x00007f8ef2446269 in delayedEmitResult (this=0x2089890, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=0x1cf9df0) at /home/bedahr/tmp/akonadi/akonadi/job.cpp:143
#44 Akonadi::Job::qt_metacall (this=0x2089890, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=0x1cf9df0) at /home/bedahr/tmp/akonadi/akonadi/job.moc:91
#45 0x00007f8ef2434945 in Akonadi::ItemFetchJob::qt_metacall (this=0x7fffa912cbc0, _c=23015584, _id=-1458385872, _a=0x15f30a0) at /home/bedahr/tmp/akonadi/akonadi/itemfetchjob.moc:73
#46 0x00007f8ef536a32e in QObject::event(QEvent*) () from /usr/lib64/qt4/libQtCore.so.4
#47 0x00007f8ef5850c5c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib64/qt4/libQtGui.so.4
#48 0x00007f8ef58567cd in QApplication::notify(QObject*, QEvent*) () from /usr/lib64/qt4/libQtGui.so.4
#49 0x00007f8ef7225bf6 in KApplication::notify(QObject*, QEvent*) () from /usr/lib/libkdeui.so.5
#50 0x00007f8ef53586db in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib64/qt4/libQtCore.so.4
#51 0x00007f8ef535b5e1 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () from /usr/lib64/qt4/libQtCore.so.4
#52 0x00007f8ef5384b33 in postEventSourceDispatch(_GSource*, int (*)(void*), void*) () from /usr/lib64/qt4/libQtCore.so.4
#53 0x00007f8eee261211 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#54 0x00007f8eee265068 in g_main_context_iterate () from /usr/lib/libglib-2.0.so.0
#55 0x00007f8eee26521c in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#56 0x00007f8ef5384673 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/qt4/libQtCore.so.4
#57 0x00007f8ef590181e in QGuiEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/qt4/libQtGui.so.4
#58 0x00007f8ef5357432 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/qt4/libQtCore.so.4
#59 0x00007f8ef5357814 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/qt4/libQtCore.so.4
#60 0x00007f8ef535b86b in QCoreApplication::exec() () from /usr/lib64/qt4/libQtCore.so.4
#61 0x000000000040327c in main ()

Reported using DrKonqi
Comment 1 Tobias Koenig 2010-12-11 23:27:44 UTC
Hej Peter,

this should be fixed in current trunk version. Can you still reproduce it with 4.6beta?

Ciao,
Tobias
Comment 2 Peter Grasch 2010-12-23 14:24:21 UTC
Yes this has been fixed as well as far as I can tell.

Great!