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
Proxy models are for crash! Assigning to Steve.
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