Version: unspecified (using Devel) OS: Linux Unchecking the Server-side subscription check box crashes kmail-mobile. Reproducible: Always Steps to Reproduce: -- Launch Kmail-mobile - Click on your Imap account - Open the 'Actions' tab - Click on 'Account' - Click on 'Edit account' - Uncheck the 'Enable Server-Side Subscriptions check box - Click on 'Ok' Actual Results: Kmail-mobile crashes while the Imap resource syncs. However, when relaunched Kmail-mobile does not display shared folders anymore. Expected Results: Kmail-mobile should not crash. N900, 4:4.5~20100914.1175313-1maemo1.1174921
Today, Kmail-mobile crashed after I checked the 'Enable Server-Side Subscriptions' check box. So I am not sure if it is that I reported that bug wrong or if it happens in both cases but it happens for sure when checking the box (to get rid of default shared folders). N900, 4:4.5~20100916.1175939-1maemo1.1174921
I retested this several times and now I am sure that this bug only happens when checking the box (I was able to reproduce three times in a row). So it is check the 'Enable Server-Side Subscriptions' check box to reproduce this bug contrary to what the description mentions. I edited the bug's title accordingly to avoid the confusion. Sorry about that. N900, 4:4.5~20100916.1175939-1maemo1.1174921
confirmed, proxy model bug: Process: kmail-mobile [61093] Path: /Applications/KDE4/kmail-mobile.app/Contents/MacOS/kmail-mobile Identifier: ??? Version: () Code Type: X86-64 (Native) Parent Process: launchd [233] Date/Time: 2010-09-18 15:03:41.461 +0200 OS Version: Mac OS X 10.6.4 (10F569) Report Version: 6 Interval Since Last Report: 4339291 sec Crashes Since Last Report: 333 Per-App Interval Since Last Report: 22907499 sec Per-App Crashes Since Last Report: 18 Anonymous UUID: 3DC98A49-2EA9-4C57-A55C-C5FA2DD2F6EC Exception Type: EXC_CRASH (SIGABRT) Exception Codes: 0x0000000000000000, 0x0000000000000000 Crashed Thread: 0 Dispatch queue: com.apple.main-thread Application Specific Information: abort() called Thread 0 Crashed: Dispatch queue: com.apple.main-thread 0 libSystem.B.dylib 0x00007fff825dd3d6 __kill + 10 1 libSystem.B.dylib 0x00007fff8267d972 abort + 83 2 QtCore 0x00000001048a22e5 qt_message_output(QtMsgType, char const*) + 117 3 QtCore 0x00000001048a24c7 qt_message(QtMsgType, char const*, __va_list_tag*) + 183 4 QtCore 0x00000001048a268a qFatal(char const*, ...) + 170 5 libkdepim.4.dylib 0x0000000100ceb091 KDescendantsProxyModel::mapFromSource(QModelIndex const&) const + 733 (kdescendantsproxymodel.cpp:461) 6 libkdepim.4.dylib 0x0000000100ceba4e KDescendantsProxyModelPrivate::sourceRowsAboutToBeRemoved(QModelIndex const&, int, int) + 136 (kdescendantsproxymodel.cpp:673) 7 libkdepim.4.dylib 0x0000000100cee580 KDescendantsProxyModel::qt_metacall(QMetaObject::Call, int, void**) + 392 (moc_kdescendantsproxymodel_p.cpp:97) 8 QtCore 0x00000001048f6156 QMetaObject::activate(QObject*, QMetaObject const*, int, void**) + 710 9 QtCore 0x0000000104a23aff QAbstractItemModel::rowsAboutToBeRemoved(QModelIndex const&, int, int) + 63 10 QtCore 0x00000001049bf162 QAbstractItemModel::beginRemoveRows(QModelIndex const&, int, int) + 130 11 libakonadi_next.4.dylib 0x0000000100c6e991 Future::KIdentityProxyModelPrivate::_k_sourceRowsAboutToBeRemoved(QModelIndex const&, int, int) + 169 (kidentityproxymodel.cpp:702) 12 libakonadi_next.4.dylib 0x0000000100c7059f Future::KIdentityProxyModel::qt_metacall(QMetaObject::Call, int, void**) + 455 (kidentityproxymodel.moc:119) 13 libakonadi_next.4.dylib 0x0000000100c6b288 Future::KCheckableProxyModel::qt_metacall(QMetaObject::Call, int, void**) + 44 (kcheckableproxymodel.moc:70) 14 QtCore 0x00000001048f6156 QMetaObject::activate(QObject*, QMetaObject const*, int, void**) + 710 15 QtCore 0x0000000104a23aff QAbstractItemModel::rowsAboutToBeRemoved(QModelIndex const&, int, int) + 63 16 QtCore 0x00000001049bf162 QAbstractItemModel::beginRemoveRows(QModelIndex const&, int, int) + 130 17 libakonadi-kde.4.dylib 0x00000001007b71cf Akonadi::EntityTreeModelPrivate::monitoredCollectionRemoved(Akonadi::Collection const&) + 683 (entitytreemodel_p.cpp:669) 18 libakonadi-kde.4.dylib 0x00000001007a9a74 Akonadi::EntityTreeModel::qt_metacall(QMetaObject::Call, int, void**) + 934 (entitytreemodel.moc:145) 19 QtCore 0x00000001048f6156 QMetaObject::activate(QObject*, QMetaObject const*, int, void**) + 710 20 libakonadi-kde.4.dylib 0x00000001007ff1f7 Akonadi::Monitor::collectionRemoved(Akonadi::Collection const&) + 65 (monitor.moc:240) 21 libakonadi-kde.4.dylib 0x0000000100801853 Akonadi::MonitorPrivate::emitCollectionNotification(Akonadi::NotificationMessage const&, Akonadi::Collection const&, Akonadi::Collection const&, Akonadi::Collection const&) + 2279 (monitor_p.cpp:496) 22 libakonadi-kde.4.dylib 0x0000000100802715 Akonadi::MonitorPrivate::emitNotification(Akonadi::NotificationMessage const&) + 229 (monitor_p.cpp:259) 23 libakonadi-kde.4.dylib 0x0000000100803322 Akonadi::MonitorPrivate::dataAvailable() + 114 (monitor_p.cpp:274) 24 libakonadi-kde.4.dylib 0x00000001007ff9d0 Akonadi::Monitor::qt_metacall(QMetaObject::Call, int, void**) + 1126 (monitor.moc:156) 25 libakonadi-kde.4.dylib 0x000000010076d089 Akonadi::ChangeRecorder::qt_metacall(QMetaObject::Call, int, void**) + 41 (changerecorder.moc:72) 26 QtCore 0x00000001048f6156 QMetaObject::activate(QObject*, QMetaObject const*, int, void**) + 710 27 libakonadi-kde.4.dylib 0x00000001007a257a Akonadi::EntityCacheBase::dataAvailable() + 38 (entitycache_p.moc:89) 28 libakonadi-kde.4.dylib 0x0000000100771baa Akonadi::EntityCache<Akonadi::Collection, Akonadi::CollectionFetchJob, Akonadi::CollectionFetchScope>::fetchResult(KJob*) + 190 (entitycache_p.h:189) 29 libakonadi-kde.4.dylib 0x00000001007a25fd Akonadi::EntityCacheBase::qt_metacall(QMetaObject::Call, int, void**) + 129 (entitycache_p.moc:80) 30 QtCore 0x00000001048f6156 QMetaObject::activate(QObject*, QMetaObject const*, int, void**) + 710 31 libkdecore.5.dylib 0x00000001042e6c6f KJob::result(KJob*) + 65 (kjob.moc:195) 32 libkdecore.5.dylib 0x00000001042e7087 KJob::emitResult() + 85 (kjob.cpp:314) 33 libakonadi-kde.4.dylib 0x00000001007f2ec3 Akonadi::JobPrivate::handleResponse(QByteArray const&, QByteArray const&) + 349 (job.cpp:66) 34 libakonadi-kde.4.dylib 0x000000010082db13 Akonadi::SessionPrivate::dataReceived() + 2181 (session.cpp:216) 35 libakonadi-kde.4.dylib 0x000000010082f68b Akonadi::Session::qt_metacall(QMetaObject::Call, int, void**) + 275 (session.moc:92) 36 QtCore 0x00000001048f6156 QMetaObject::activate(QObject*, QMetaObject const*, int, void**) + 710 37 QtCore 0x0000000104a22b7d QIODevice::qt_metacall(QMetaObject::Call, int, void**) + 157 38 QtNetwork 0x0000000103353815 QLocalSocket::qt_metacall(QMetaObject::Call, int, void**) + 37 39 QtCore 0x00000001048f6156 QMetaObject::activate(QObject*, QMetaObject const*, int, void**) + 710 40 QtNetwork 0x000000010334b0c8 QAbstractSocketPrivate::canReadNotification() + 632 41 QtNetwork 0x000000010333b599 QReadNotifier::event(QEvent*) + 41 42 QtGui 0x00000001035087cd QApplicationPrivate::notify_helper(QObject*, QEvent*) + 189 43 QtGui 0x000000010350f7de QApplication::notify(QObject*, QEvent*) + 2094 44 libkdeui.5.dylib 0x0000000102b658bf KApplication::notify(QObject*, QEvent*) + 455 (kapplication.cpp:310) 45 QtCore 0x00000001048ef80c QCoreApplication::notifyInternal(QObject*, QEvent*) + 124 46 QtGui 0x00000001034c3164 qt_mac_socket_callback(__CFSocket*, unsigned long, __CFData const*, void const*, void*) + 148 47 com.apple.CoreFoundation 0x00007fff862a6faa __CFSocketDoCallback + 634 48 com.apple.CoreFoundation 0x00007fff862a6af0 __CFSocketPerformV0 + 288 49 com.apple.CoreFoundation 0x00007fff8627ee91 __CFRunLoopDoSources0 + 1361 50 com.apple.CoreFoundation 0x00007fff8627d089 __CFRunLoopRun + 873 51 com.apple.CoreFoundation 0x00007fff8627c84f CFRunLoopRunSpecific + 575 52 com.apple.HIToolbox 0x00007fff83f0a91a RunCurrentEventLoopInMode + 333 53 com.apple.HIToolbox 0x00007fff83f0a71f ReceiveNextEventCommon + 310 54 com.apple.HIToolbox 0x00007fff83f0a5d8 BlockUntilNextEventMatchingListInMode + 59 55 com.apple.AppKit 0x00007fff8428129e _DPSNextEvent + 708 56 com.apple.AppKit 0x00007fff84280bed -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 155 57 com.apple.AppKit 0x00007fff842468d3 -[NSApplication run] + 395 58 QtGui 0x00000001034c3a74 QEventDispatcherMac::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) + 1588 59 QtCore 0x00000001049cace4 QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) + 68 60 QtCore 0x00000001049cb004 QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) + 180 61 QtCore 0x00000001049cc62c QCoreApplication::exec() + 188 62 0x000000010002e20a main + 826 (main.cpp:50) 63 0x0000000100010d6c start + 52
Doesn't occur in 4:4.5~20100917.1177596-1maemo3.1174921 Feel free to reopen this issue.
I retested this and it almost worked but I am reopening because it crashed towards the end (before it was crashing immediately and the user was not seeing modification in the folder view at all). Here are more accurate steps to reproduce: - Launch Kmail-mobile - Click on your Imap account - Open the 'Actions' tab - Click on 'Account' - Click on 'Edit account' - Uncheck the 'Enable Server-Side Subscriptions' check box (Checked by default) - Click on 'Ok' - In folder view after a few seconds you should see all the shared folders available being listed correctly - Go back to 'Edit account' - Check the 'Enable Server-Side Subscriptions' - Click on 'Ok' You can see all the shared folders disappearing one by one from the folder view until there are only a couple of them left and then Kmail-mobile crashes. Note: you may need to way for a little more than 10 minutes to reproduce this bug. So I am reopening this bug. N900, 4:4.5~20100929.1180953-1maemo1.1180919
#0 0x00007f6bf9a13595 in raise () from /lib/libc.so.6 #1 0x00007f6bf9a14a16 in abort () from /lib/libc.so.6 #2 0x00007f6bfa78df08 in qt_message_output (msgType=QtFatalMsg, buf=0x2e03168 "ASSERT: \"result != end\" in file /data/sources/kde/trunk/kdepimlibs/akonadi/kdescendantsproxymodel.cpp, line 461") at global/qglobal.cpp:2282 #3 0x00007f6bfa78e084 in qt_message(QtMsgType, const char *, typedef __va_list_tag __va_list_tag *) (msgType=QtFatalMsg, msg=0x7f6bfa936598 "ASSERT: \"%s\" in file %s, line %d", ap=0x7fff7fa23dc0) at global/qglobal.cpp:2328 #4 0x00007f6bfa78e8f2 in qFatal (msg=0x7f6bfa936598 "ASSERT: \"%s\" in file %s, line %d") at global/qglobal.cpp:2511 #5 0x00007f6bfa78dabb in qt_assert (assertion=0x7f6c00c4edb4 "result != end", file=0x7f6c00c4eb18 "/data/sources/kde/trunk/kdepimlibs/akonadi/kdescendantsproxymodel.cpp", line=461) at global/qglobal.cpp:2027 #6 0x00007f6c00bc9703 in KDescendantsProxyModel::mapFromSource (this=0x26d35f0, sourceIndex=...) at /data/sources/kde/trunk/kdepimlibs/akonadi/kdescendantsproxymodel.cpp:461 #7 0x00007f6c00bc8c5d in KDescendantsProxyModelPrivate::sourceRowsAboutToBeRemoved (this=0x26d42f0, parent=..., start=<value optimized out>, end=1) at /data/sources/kde/trunk/kdepimlibs/akonadi/kdescendantsproxymodel.cpp:697 #8 0x00007f6c00bcb451 in KDescendantsProxyModel::qt_metacall (this=0x26d35f0, _c=QMetaObject::InvokeMetaMethod, _id=2, _a=0x7fff7fa242d0) at /data/sources/kde/trunk/kdepimlibs/akonadi/moc_kdescendantsproxymodel_p.cpp:97 #9 0x00007f6bfa8be707 in QMetaObject::metacall (object=0x26d35f0, cl=QMetaObject::InvokeMetaMethod, idx=27, argv=0x7fff7fa242d0) at kernel/qmetaobject.cpp:237 #10 0x00007f6bfa8d3597 in QMetaObject::activate (sender=0x26d1a80, m=0x7f6bfac3eb00, local_signal_index=6, argv=0x7fff7fa242d0) at kernel/qobject.cpp:3278 #11 0x00007f6bfa931aa1 in QAbstractItemModel::rowsAboutToBeRemoved (this=0x26d1a80, _t1=..., _t2=1, _t3=1) at .moc/debug-shared/moc_qabstractitemmodel.cpp:188 #12 0x00007f6bfa8aae3d in QAbstractItemModel::beginRemoveRows (this=0x26d1a80, parent=..., first=1, last=1) at kernel/qabstractitemmodel.cpp:2449 #13 0x00007f6c00b96cb9 in Akonadi::EntityTreeModelPrivate::monitoredCollectionRemoved (this=0x26d16c0, collection=...) at /data/sources/kde/trunk/kdepimlibs/akonadi/entitytreemodel_p.cpp:701 #14 0x00007f6c00b88c43 in Akonadi::EntityTreeModel::qt_metacall (this=0x26d1a80, _c=QMetaObject::InvokeMetaMethod, _id=17, _a=0x7fff7fa24570) at /data/sources/kde/trunk/kdepimlibs/akonadi/entitytreemodel.moc:149 #15 0x00007f6bfa8be707 in QMetaObject::metacall (object=0x26d1a80, cl=QMetaObject::InvokeMetaMethod, idx=41, argv=0x7fff7fa24570) at kernel/qmetaobject.cpp:237 #16 0x00007f6bfa8d3597 in QMetaObject::activate (sender=0x26d0bf0, m=0x7f6c00eee440, local_signal_index=10, argv=0x7fff7fa24570) at kernel/qobject.cpp:3278 #17 0x00007f6c00bd1ee5 in Akonadi::Monitor::collectionRemoved (this=<value optimized out>, _t1=<value optimized out>) at /data/sources/kde/trunk/kdepimlibs/akonadi/monitor.moc:239 #18 0x00007f6c00bd4ffc in Akonadi::MonitorPrivate::emitCollectionNotification
SVN commit 1203001 by skelly: Handle the special case(s) of removing from the end. BUG: 251365 M +109 -4 kdescendantsproxymodel.cpp WebSVN link: http://websvn.kde.org/?view=rev&revision=1203001
SVN commit 1203002 by skelly: Handle the special case(s) of removing from the end. CCBUG: 251365 M +109 -4 kdescendantsproxymodel.cpp WebSVN link: http://websvn.kde.org/?view=rev&revision=1203002
I retested this today and it does not crash anymore however it seems that the imap ressource hangs undefinitely once the 'Enable serverside subscription' check box has been rechecked: - The shared folders remain listed in Folder View - Akonadi console says 'Connection established' for the Imap ressource but stays that way forever (no synchronization) - Sending new email does not work anymore (=busy loading animation in the Composer so email never sent) For all those reasons I am reopening this bug. N900, 4:4.6~20101205.1203870-1maemo1.1203520
I reported a different bug for this issue after all (see bug #258963) So I am closing this bug now. N900, 4:4.6~20101205.1203870-1maemo1.1203520
Please ignore comment #10 it was not accurate.
Hi Sabine, Of the remaining issues I'm only able to reproduce the one of the Shared Folders showing up in the tree. But that happens for me regardless of whether subscriptions are enabled, so I think it's a separate issue. I'm closing this bug. Please create separate bugs if you can still reproduce the issues you listed.
I retested this bug today I got the crash again so I am reopening it. Since some functionalities have a new name here is a more accurate way to reproduce this bug but its basically the same as in comment #5: Here are more accurate steps to reproduce: - Launch Kmail-mobile - Click on your Imap account - Open the 'Actions' tab - Click on 'Account' - Click on 'Account Properties' - Uncheck the 'Enable Server-Side Subscriptions' check box (Checked by default) - Click on 'Ok' - In folder view you should see all the shared folders available being listed correctly (full sync takes more than 10 minutes!) - Go back to 'Account Properties' - Check the 'Enable Server-Side Subscriptions' - Click on 'Ok' Kmail has crashed after about 5 minutes. When relaunched Kmail-mobile folder view only displayed the folders that are supposed to be listed and not all of them so rechecking the 'Enable Serverside Subscription' check box work despite the crash. Also,the good news is that my Imap resource did not get stuck at all during the process which is definitively an improvement! ;o) (see comment #9) What is not so good is that Kmail-mobile remains totally stuck (impossible to read email or open tabs) for the entire synchronization duration once the 'Enable Server-Side Subscriptions' check box has been unchecked. N900, 4:4.6~20101220.1208001-1maemo1.1206430
Hi steve! I retested this bug today and could reproduce it as in comment #13 so here is the backtrace I got after the crash: #0 QModelIndex (this=0xbeae65f4, other=...) at /opt/qt4-maemo5/include/QtCore/qabstractitemmodel.h:65 #1 0x4061da54 in KDescendantsProxyModel::mapFromSource (this=0x808d58, sourceIndex=...) at /home/maemo/default/work/kdepimlibs-4.6~20101222.1208623/akonadi/kdescendantsproxymodel.cpp:462 #2 0x4061b738 in KDescendantsProxyModelPrivate::sourceRowsAboutToBeRemoved (this=0x8083e8, parent=..., start=1, end=1) at /home/maemo/default/work/kdepimlibs-4.6~20101222.1208623/akonadi/kdescendantsproxymodel.cpp:697 #3 0x4061d008 in KDescendantsProxyModel::qt_metacall (this=0x808d58, _c=QMetaObject::InvokeMetaMethod, _id=2, _a=0xbeae67a0) at /home/maemo/default/work/kdepimlibs-4.6~20101222.1208623/obj-arm-linux-gnueabi/akonadi/moc_kdescendantsproxymodel_p.cpp:97 #4 0x425deac8 in QMetaObject::metacall(QObject*, QMetaObject::Call, int, void**) () from /opt/qt4-maemo5/lib/libQtCore.so.4 #5 0x425f3cec in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /opt/qt4-maemo5/lib/libQtCore.so.4 #6 0x4265f6d8 in QAbstractItemModel::rowsAboutToBeRemoved(QModelIndex const&, int, int) () from /opt/qt4-maemo5/lib/libQtCore.so.4 #7 0x425c6b3c in QAbstractItemModel::beginRemoveRows(QModelIndex const&, int, int) () from /opt/qt4-maemo5/lib/libQtCore.so.4 #8 0x405eebd4 in Akonadi::EntityTreeModelPrivate::monitoredCollectionRemoved (this=0x807bf0, collection=...) at /home/maemo/default/work/kdepimlibs-4.6~20101222.1208623/akonadi/entitytreemodel_p.cpp:701 #9 0x405e7764 in Akonadi::EntityTreeModel::qt_metacall (this=0x807670, _c=QMetaObject::InvokeMetaMethod, _id=17, _a=0xbeae68f8) at /home/maemo/default/work/kdepimlibs-4.6~20101222.1208623/obj-arm-linux-gnueabi/akonadi/entitytreemodel.moc:149 #10 0x425deac8 in QMetaObject::metacall(QObject*, QMetaObject::Call, int, void**) () from /opt/qt4-maemo5/lib/libQtCore.so.4 #11 0x425f3cec in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /opt/qt4-maemo5/lib/libQtCore.so.4 #12 0x406226f4 in Akonadi::Monitor::collectionRemoved (this=0xbeae65f4, _t1=...) at /home/maemo/default/work/kdepimlibs-4.6~20101222.1208623/obj-arm-linux-gnueabi/akonadi/monitor.moc:239 #13 0x40624710 in Akonadi::MonitorPrivate::emitCollectionNotification (this=0x806c20, msg=..., col=..., par=..., dest=...) at /home/maemo/default/work/kdepimlibs-4.6~20101222.1208623/akonadi/monitor_p.cpp:524 #14 0x406251e0 in Akonadi::MonitorPrivate::emitNotification (this=0x806c20, msg=...) at /home/maemo/default/work/kdepimlibs-4.6~20101222.1208623/akonadi/monitor_p.cpp:264 The only difference with before is that using Kmail-mobile while syncing after having unchecked 'Enable Serverside subscription worked fine (ex: opening tabs, browsing folders, reading, writing and even sending emails...) N900, 4:4.6~20101222.1208531-1maemo1.1208558
SVN commit 1208817 by skelly: Fix removing items from the proxy. This is a copy of SVN rev 1203002, but I forgot this copy when I fixed it. BUG: 251365 M +109 -4 kdescendantsproxymodel.cpp WebSVN link: http://websvn.kde.org/?view=rev&revision=1208817
Hi Steve! Excellent job!!! It is corrected now ;o) The crash is gone and the shared folders are even removed from the tree properly about 5 minutes after the serverside subscription check box has been rechecked. The Imap ressource still syncs fine and sending new emails works perfectly too so I am closing this bug. N900, 4:4.6~.20101223.2034.git9cc0c3e-1maemo1.120883