Bug 223779 - KMail crashes when removing the maildir resource
Summary: KMail crashes when removing the maildir resource
Status: RESOLVED FIXED
Alias: None
Product: kmail2
Classification: Applications
Component: folders (show other bugs)
Version: 1.99.0
Platform: Compiled Sources Linux
: LO crash
Target Milestone: ---
Assignee: Stephen Kelly
URL:
Keywords: akonadi-ports-regression
Depends on:
Blocks:
 
Reported: 2010-01-22 12:55 UTC by Christophe Marin
Modified: 2010-02-01 16:56 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Christophe Marin 2010-01-22 12:55:54 UTC
While trying to find a way to reproduce another bug, I removed the 'local mail' resource.

KMail crashes every time. (akonadiconsole doesn't)

Application: KMail (kmail), signal: Aborted
[Current thread is 1 (Thread 0xb16fa760 (LWP 11560))]

Thread 2 (Thread 0xafa0eb70 (LWP 11565)):
#0  0xffffe430 in __kernel_vsyscall ()
#1  0xb57edd95 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#2  0xb5c9b27c in pthread_cond_wait () from /lib/libc.so.6
#3  0xb38b3997 in ?? () from /usr/lib/libQtWebKit.so.4
#4  0xb38b39df in ?? () from /usr/lib/libQtWebKit.so.4
#5  0xb57e96e5 in start_thread () from /lib/libpthread.so.0
#6  0xb57e9600 in ?? () from /lib/libpthread.so.0

Thread 1 (Thread 0xb16fa760 (LWP 11560)):
[KCrash Handler]
#6  0xffffe430 in __kernel_vsyscall ()
#7  0xb5be60cf in raise () from /lib/libc.so.6
#8  0xb5be79e7 in abort () from /lib/libc.so.6
#9  0xb68f8774 in qt_message_output (msgType=QtFatalMsg, buf=0x6 <Address 0x6 out of bounds>) at global/qglobal.cpp:2250
#10 0xb68f8993 in qt_message (msgType=QtFatalMsg, msg=0xb6a74bbc "ASSERT: \"%s\" in file %s, line %d", ap=0xbfbf52b4 "l<\312\266\244;\312\266\b\001") at global/qglobal.cpp:2296
#11 0xb68f8ab8 in qFatal (msg=0xb6a74bbc "ASSERT: \"%s\" in file %s, line %d") at global/qglobal.cpp:2479
#12 0xb68f8b35 in qt_assert (assertion=0xb6ca3c6c "sourceModel()->index(sourceRow, 0, sourceParent).isValid()", file=0xb6ca3ba4 "/kde/src/KDE/kdepimlibs/akonadi/krecursivefilterproxymodel.cpp", line=
    264) at global/qglobal.cpp:2013
#13 0xb6c32f82 in KRecursiveFilterProxyModel::filterAcceptsRow (this=0x83716d0, sourceRow=-1, sourceParent=...) at /kde/src/KDE/kdepimlibs/akonadi/krecursivefilterproxymodel.cpp:264
#14 0xb6c32b98 in KRecursiveFilterProxyModelPrivate::sourceRowsAboutToBeRemoved (this=0x8370800, source_parent=..., start=0, end=0)
    at /kde/src/KDE/kdepimlibs/akonadi/krecursivefilterproxymodel.cpp:206
#15 0xb6c33b32 in KRecursiveFilterProxyModel::qt_metacall (this=0x83716d0, _c=InvokeMetaMethod, _id=3, _a=0xbfbf54c0) at /kde/build/KDE/kdepimlibs/akonadi/krecursivefilterproxymodel.moc:86
#16 0xb6be3073 in Akonadi::EntityRightsFilterModel::qt_metacall (this=0x83716d0, _c=InvokeMetaMethod, _id=47, _a=0xbfbf54c0) at /kde/build/KDE/kdepimlibs/akonadi/entityrightsfiltermodel.moc:64
#17 0xb6daa255 in ReadableCollectionProxyModel::qt_metacall (this=0x83716d0, _c=InvokeMetaMethod, _id=47, _a=0xbfbf54c0) at /kde/build/KDE/kdepim/kmail/readablecollectionproxymodel.moc:66
#18 0xb6a0feed in QMetaObject::metacall (object=0x83716d0, cl=11560, idx=47, argv=0xbfbf54c0) at kernel/qmetaobject.cpp:237
#19 0xb6a1ed1a in QMetaObject::activate (sender=0x8370a40, m=0xb6b21198, local_signal_index=6, argv=0xbfbf54c0) at kernel/qobject.cpp:3267
#20 0xb6a711c5 in QAbstractItemModel::rowsAboutToBeRemoved (this=0x8370a40, _t1=..., _t2=0, _t3=0) at .moc/release-shared/moc_qabstractitemmodel.cpp:188
#21 0xb6a01a5a in QAbstractItemModel::beginRemoveRows (this=0x8370a40, parent=..., first=0, last=0) at kernel/qabstractitemmodel.cpp:2447
#22 0xb658b6d8 in QSortFilterProxyModelPrivate::remove_proxy_interval (this=0x83711e8, source_to_proxy=..., proxy_to_source=..., proxy_start=0, proxy_end=0, proxy_parent=..., orient=Vertical, 
    emit_signal=true) at itemviews/qsortfilterproxymodel.cpp:518
#23 0xb658dc2d in QSortFilterProxyModelPrivate::remove_source_items (this=0x83711e8, source_to_proxy=..., proxy_to_source=..., source_items=..., source_parent=..., orient=Vertical, emit_signal=true)
    at itemviews/qsortfilterproxymodel.cpp:500
#24 0xb658de94 in QSortFilterProxyModelPrivate::source_items_about_to_be_removed (this=0x83711e8, source_parent=..., start=0, end=<value optimized out>, orient=Vertical)
    at itemviews/qsortfilterproxymodel.cpp:801
#25 0xb658dfdf in QSortFilterProxyModelPrivate::_q_sourceRowsAboutToBeRemoved (this=0x83711e8, source_parent=..., start=0, end=0) at itemviews/qsortfilterproxymodel.cpp:1251
#26 0xb659201c in QSortFilterProxyModel::qt_metacall (this=0x8370a40, _c=InvokeMetaMethod, _id=13, _a=0xbfbf57a0) at .moc/release-shared/moc_qsortfilterproxymodel.cpp:136
#27 0xb47d7675 in Akonadi::QuotaColorProxyModel::qt_metacall (this=0x8370a40, _c=InvokeMetaMethod, _id=38, _a=0xbfbf57a0) at /kde/build/KDE/kdepim/akonadi/akonadi_next/quotacolorproxymodel.moc:64
#28 0xb6a0feed in QMetaObject::metacall (object=0x8370a40, cl=11560, idx=38, argv=0xbfbf57a0) at kernel/qmetaobject.cpp:237
#29 0xb6a1ed1a in QMetaObject::activate (sender=0x8370cf8, m=0xb6b21198, local_signal_index=6, argv=0xbfbf57a0) at kernel/qobject.cpp:3267
#30 0xb6a711c5 in QAbstractItemModel::rowsAboutToBeRemoved (this=0x8370cf8, _t1=..., _t2=0, _t3=0) at .moc/release-shared/moc_qabstractitemmodel.cpp:188
#31 0xb6a01a5a in QAbstractItemModel::beginRemoveRows (this=0x8370cf8, parent=..., first=0, last=0) at kernel/qabstractitemmodel.cpp:2447
#32 0xb658b6d8 in QSortFilterProxyModelPrivate::remove_proxy_interval (this=0x8370d08, source_to_proxy=..., proxy_to_source=..., proxy_start=0, proxy_end=0, proxy_parent=..., orient=Vertical, 
    emit_signal=true) at itemviews/qsortfilterproxymodel.cpp:518
#33 0xb658dc2d in QSortFilterProxyModelPrivate::remove_source_items (this=0x8370d08, source_to_proxy=..., proxy_to_source=..., source_items=..., source_parent=..., orient=Vertical, emit_signal=true)
    at itemviews/qsortfilterproxymodel.cpp:500
#34 0xb658de94 in QSortFilterProxyModelPrivate::source_items_about_to_be_removed (this=0x8370d08, source_parent=..., start=0, end=<value optimized out>, orient=Vertical)
    at itemviews/qsortfilterproxymodel.cpp:801
#35 0xb658dfdf in QSortFilterProxyModelPrivate::_q_sourceRowsAboutToBeRemoved (this=0x8370d08, source_parent=..., start=0, end=0) at itemviews/qsortfilterproxymodel.cpp:1251
#36 0xb659201c in QSortFilterProxyModel::qt_metacall (this=0x8370cf8, _c=InvokeMetaMethod, _id=13, _a=0xbfbf5a80) at .moc/release-shared/moc_qsortfilterproxymodel.cpp:136
#37 0xb6c7a763 in Akonadi::StatisticsProxyModel::qt_metacall (this=0x8370cf8, _c=InvokeMetaMethod, _id=38, _a=0xbfbf5a80) at /kde/build/KDE/kdepimlibs/akonadi/statisticsproxymodel.moc:68
#38 0xb6a0feed in QMetaObject::metacall (object=0x8370cf8, cl=11560, idx=38, argv=0xbfbf5a80) at kernel/qmetaobject.cpp:237
#39 0xb6a1ed1a in QMetaObject::activate (sender=0x8370438, m=0xb6b21198, local_signal_index=6, argv=0xbfbf5a80) at kernel/qobject.cpp:3267
#40 0xb6a711c5 in QAbstractItemModel::rowsAboutToBeRemoved (this=0x8370438, _t1=..., _t2=0, _t3=0) at .moc/release-shared/moc_qabstractitemmodel.cpp:188
#41 0xb6a01a5a in QAbstractItemModel::beginRemoveRows (this=0x8370438, parent=..., first=0, last=0) at kernel/qabstractitemmodel.cpp:2447
#42 0xb658b6d8 in QSortFilterProxyModelPrivate::remove_proxy_interval (this=0x8370678, source_to_proxy=..., proxy_to_source=..., proxy_start=0, proxy_end=0, proxy_parent=..., orient=Vertical, 
    emit_signal=true) at itemviews/qsortfilterproxymodel.cpp:518
#43 0xb658dc2d in QSortFilterProxyModelPrivate::remove_source_items (this=0x8370678, source_to_proxy=..., proxy_to_source=..., source_items=..., source_parent=..., orient=Vertical, emit_signal=true)
    at itemviews/qsortfilterproxymodel.cpp:500
#44 0xb658de94 in QSortFilterProxyModelPrivate::source_items_about_to_be_removed (this=0x8370678, source_parent=..., start=1, end=<value optimized out>, orient=Vertical)
    at itemviews/qsortfilterproxymodel.cpp:801
#45 0xb658dfdf in QSortFilterProxyModelPrivate::_q_sourceRowsAboutToBeRemoved (this=0x8370678, source_parent=..., start=1, end=1) at itemviews/qsortfilterproxymodel.cpp:1251
#46 0xb659201c in QSortFilterProxyModel::qt_metacall (this=0x8370438, _c=InvokeMetaMethod, _id=13, _a=0xbfbf5d90) at .moc/release-shared/moc_qsortfilterproxymodel.cpp:136
#47 0xb47de0b4 in KRecursiveFilterProxyModel::qt_metacall (this=0x8370438, _c=InvokeMetaMethod, _id=38, _a=0xbfbf5d90) at /kde/build/KDE/kdepim/akonadi/akonadi_next/krecursivefilterproxymodel.moc:78
#48 0xb47cbd59 in Akonadi::RecursiveCollectionFilterProxyModel::qt_metacall (this=0x8370438, _c=InvokeMetaMethod, _id=38, _a=0xbfbf5d90)
    at /kde/build/KDE/kdepim/akonadi/akonadi_next/moc_recursivecollectionfilterproxymodel.cpp:64
#49 0xb6a0feed in QMetaObject::metacall (object=0x8370438, cl=11560, idx=38, argv=0xbfbf5d90) at kernel/qmetaobject.cpp:237
#50 0xb6a1ed1a in QMetaObject::activate (sender=0x836f710, m=0xb6b21198, local_signal_index=6, argv=0xbfbf5d90) at kernel/qobject.cpp:3267
#51 0xb6a711c5 in QAbstractItemModel::rowsAboutToBeRemoved (this=0x836f710, _t1=..., _t2=1, _t3=1) at .moc/release-shared/moc_qabstractitemmodel.cpp:188
#52 0xb6a01a5a in QAbstractItemModel::beginRemoveRows (this=0x836f710, parent=..., first=1, last=1) at kernel/qabstractitemmodel.cpp:2447
#53 0xb658b6d8 in QSortFilterProxyModelPrivate::remove_proxy_interval (this=0x8370020, source_to_proxy=..., proxy_to_source=..., proxy_start=1, proxy_end=1, proxy_parent=..., orient=Vertical, 
    emit_signal=true) at itemviews/qsortfilterproxymodel.cpp:518
#54 0xb658dc2d in QSortFilterProxyModelPrivate::remove_source_items (this=0x8370020, source_to_proxy=..., proxy_to_source=..., source_items=..., source_parent=..., orient=Vertical, emit_signal=true)
    at itemviews/qsortfilterproxymodel.cpp:500
#55 0xb658de94 in QSortFilterProxyModelPrivate::source_items_about_to_be_removed (this=0x8370020, source_parent=..., start=1, end=<value optimized out>, orient=Vertical)
    at itemviews/qsortfilterproxymodel.cpp:801
#56 0xb658dfdf in QSortFilterProxyModelPrivate::_q_sourceRowsAboutToBeRemoved (this=0x8370020, source_parent=..., start=1, end=1) at itemviews/qsortfilterproxymodel.cpp:1251
#57 0xb659201c in QSortFilterProxyModel::qt_metacall (this=0x836f710, _c=InvokeMetaMethod, _id=13, _a=0xbfbf6070) at .moc/release-shared/moc_qsortfilterproxymodel.cpp:136
#58 0xb6be1d9b in Akonadi::EntityMimeTypeFilterModel::qt_metacall (this=0x836f710, _c=InvokeMetaMethod, _id=38, _a=0xbfbf6070) at /kde/build/KDE/kdepimlibs/akonadi/entitymimetypefiltermodel.moc:64
#59 0xb6a0feed in QMetaObject::metacall (object=0x836f710, cl=11560, idx=38, argv=0xbfbf6070) at kernel/qmetaobject.cpp:237
#60 0xb6a1ed1a in QMetaObject::activate (sender=0x836eb68, m=0xb6b21198, local_signal_index=6, argv=0xbfbf6070) at kernel/qobject.cpp:3267
#61 0xb6a711c5 in QAbstractItemModel::rowsAboutToBeRemoved (this=0x836eb68, _t1=..., _t2=1, _t3=1) at .moc/release-shared/moc_qabstractitemmodel.cpp:188
#62 0xb6a01a5a in QAbstractItemModel::beginRemoveRows (this=0x836eb68, parent=..., first=1, last=1) at kernel/qabstractitemmodel.cpp:2447
#63 0xb6bedcf2 in Akonadi::EntityTreeModelPrivate::monitoredCollectionRemoved (this=0x836f340, collection=...) at /kde/src/KDE/kdepimlibs/akonadi/entitytreemodel_p.cpp:524
#64 0xb6be8d60 in Akonadi::EntityTreeModel::qt_metacall (this=0x836eb68, _c=InvokeMetaMethod, _id=12, _a=0xbfbf6248) at /kde/build/KDE/kdepimlibs/akonadi/entitytreemodel.moc:127
#65 0xb6a0feed in QMetaObject::metacall (object=0x836eb68, cl=11560, idx=36, argv=0xbfbf6248) at kernel/qmetaobject.cpp:237
#66 0xb6a1ed1a in QMetaObject::activate (sender=0x818c4c8, m=0xb6d143cc, local_signal_index=10, argv=0xbfbf6248) at kernel/qobject.cpp:3267
#67 0xb6c383d7 in Akonadi::Monitor::collectionRemoved (this=0x818c4c8, _t1=...) at /kde/build/KDE/kdepimlibs/akonadi/monitor.moc:230
#68 0xb6c3b9ba in Akonadi::MonitorPrivate::emitCollectionNotification (this=0x823e7e8, msg=..., col=..., par=..., dest=...) at /kde/src/KDE/kdepimlibs/akonadi/monitor_p.cpp:384
#69 0xb6c3a454 in Akonadi::MonitorPrivate::emitNotification (this=0x823e7e8, msg=...) at /kde/src/KDE/kdepimlibs/akonadi/monitor_p.cpp:193
#70 0xb6c3a0b7 in Akonadi::MonitorPrivate::dispatchNotifications (this=0x823e7e8) at /kde/src/KDE/kdepimlibs/akonadi/monitor_p.cpp:156
#71 0xb6c3aeda in Akonadi::MonitorPrivate::slotNotify (this=0x823e7e8, msgs=...) at /kde/src/KDE/kdepimlibs/akonadi/monitor_p.cpp:293
#72 0xb6ba416a in Akonadi::ChangeRecorderPrivate::slotNotify (this=0x823e7e8, msgs=...) at /kde/src/KDE/kdepimlibs/akonadi/changerecorder.cpp:53
#73 0xb6c37f97 in Akonadi::Monitor::qt_metacall (this=0x818c4c8, _c=InvokeMetaMethod, _id=20, _a=0xbfbf64c8) at /kde/build/KDE/kdepimlibs/akonadi/monitor.moc:147
#74 0xb6ba3a69 in Akonadi::ChangeRecorder::qt_metacall (this=0x818c4c8, _c=InvokeMetaMethod, _id=24, _a=0xbfbf64c8) at /kde/build/KDE/kdepimlibs/akonadi/changerecorder.moc:72
#75 0xb6a0feed in QMetaObject::metacall (object=0x818c4c8, cl=11560, idx=24, argv=0xbfbf64c8) at kernel/qmetaobject.cpp:237
#76 0xb6a1ed1a in QMetaObject::activate (sender=0x81bd380, m=0xb6d157ac, local_signal_index=0, argv=0xbfbf64c8) at kernel/qobject.cpp:3267
#77 0xb6c8685f in OrgFreedesktopAkonadiNotificationManagerInterface::notify (this=0x81bd380, _t1=...) at /kde/build/KDE/kdepimlibs/akonadi/notificationmanagerinterface.moc:85
#78 0xb6c86804 in OrgFreedesktopAkonadiNotificationManagerInterface::qt_metacall (this=0x81bd380, _c=InvokeMetaMethod, _id=0, _a=0xbfbf65ec)
    at /kde/build/KDE/kdepimlibs/akonadi/notificationmanagerinterface.moc:73
#79 0xb581edae in QDBusConnectionPrivate::deliverCall (this=0x807c8d0, object=0x81bd380, msg=..., metaTypes=..., slotIdx=0) at qdbusintegrator.cpp:904
#80 0xb582b086 in QDBusCallDeliveryEvent::placeMetaCall(QObject*) () from /usr/lib/libQtDBus.so.4
#81 0xb6a1b9ef in QObject::event (this=0x81bd380, e=0x82d1f60) at kernel/qobject.cpp:1240
#82 0xb5f5b77c in QApplicationPrivate::notify_helper (this=0x8086668, receiver=0x81bd380, e=0x82d1f60) at kernel/qapplication.cpp:4298
#83 0xb5f625c8 in QApplication::notify (this=0xbfbf6e54, receiver=0x81bd380, e=0x82d1f60) at kernel/qapplication.cpp:4181
#84 0xb75f23e1 in KApplication::notify (this=0xbfbf6e54, receiver=0x81bd380, event=0x82d1f60) at /usr/src/debug/kdelibs-4.4.60svn1077670/kdeui/kernel/kapplication.cpp:302
#85 0xb6a0ab7e in QCoreApplication::notifyInternal (this=0xbfbf6e54, receiver=0x81bd380, event=0x82d1f60) at kernel/qcoreapplication.cpp:704
#86 0xb6a0d583 in sendEvent (event=<value optimized out>, receiver=<value optimized out>) at kernel/qcoreapplication.h:215
#87 QCoreApplicationPrivate::sendPostedEvents (event=<value optimized out>, receiver=<value optimized out>) at kernel/qcoreapplication.cpp:1345
#88 0xb6a0d6dc in QCoreApplication::sendPostedEvents (receiver=0x0, event_type=0) at kernel/qcoreapplication.cpp:1238
#89 0xb601c819 in sendPostedEvents () at ../../src/corelib/kernel/qcoreapplication.h:220
#90 QEventDispatcherX11::processEvents () at kernel/qeventdispatcher_x11.cpp:75
#91 0xb6a091ed in QEventLoop::processEvents (this=0xbfbf6d44, flags=) at kernel/qeventloop.cpp:149
#92 0xb6a09639 in QEventLoop::exec (this=0xbfbf6d44, flags=...) at kernel/qeventloop.cpp:201
#93 0xb6a0d7b0 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:981
#94 0xb5f5b824 in QApplication::exec () at kernel/qapplication.cpp:3577
#95 0x0804b153 in main (argc=1, argv=0xbfbf6f64) at /kde/src/KDE/kdepim/kmail/main.cpp:153
Comment 1 Thomas McGuire 2010-01-22 13:06:19 UTC
Proxy models are for crash!

Assigning to Steve.
Comment 2 Stephen Kelly 2010-02-01 16:56:24 UTC
SVN commit 1083603 by skelly:

Emit signals correctly when items are removed from the root.

BUG: 223779

 M  +7 -3      krecursivefilterproxymodel.cpp  


WebSVN link: http://websvn.kde.org/?view=rev&revision=1083603