Bug 303888 - deleting an inbox subfolder crashed mixed maildir resource
Summary: deleting an inbox subfolder crashed mixed maildir resource
Status: RESOLVED FIXED
Alias: None
Product: Akonadi
Classification: Frameworks and Libraries
Component: Mixed Maildir resource (show other bugs)
Version: 4.8
Platform: Compiled Sources Linux
: NOR crash
Target Milestone: ---
Assignee: kdepim bugs
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-07-21 15:02 UTC by Martin Koller
Modified: 2014-08-22 10:37 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 Martin Koller 2012-07-21 15:02:44 UTC
Application: akonadi_mixedmaildir_resource (4.8)
KDE Platform Version: 4.8.97 (Compiled from sources)
Qt Version: 4.8.2
Operating System: Linux 3.1.10-1.16-desktop i686
Distribution: "openSUSE 12.1 (i586)"

-- Information about the crash:
- What I was doing when the application crashed:

I deleted a subfolder from inbox in kmail via the right mouse popup.
The folder contained only 1 mail from an mbox file I imported just a few minutes ago.

-- Backtrace:
Application: KMail Folders of type KMail Mail Folder (akonadi_mixedmaildir_resource), signal: Aborted
[KCrash Handler]
#6  0xb53848c5 in raise () from /lib/libc.so.6
#7  0xb53861d5 in abort () from /lib/libc.so.6
#8  0xb5679cfa in qt_message_output (msgType=QtFatalMsg, buf=0x82f71d8 "ASSERT: \"!col.remoteId().isEmpty()\" in file /home/KDE4/source/kdepim-runtime/resources/mixedmaildir/mixedmaildirstore.cpp, line 524") at global/qglobal.cpp:2260
#9  0xb5679efb in qt_message (msgType=QtFatalMsg, msg=0xb5806cf4 "ASSERT: \"%s\" in file %s, line %d", ap=0xbfd76fc4 "\216\224\b\bl\222\b\b\f\002") at global/qglobal.cpp:2306
#10 0xb567a018 in qFatal (msg=0xb5806cf4 "ASSERT: \"%s\" in file %s, line %d") at global/qglobal.cpp:2489
#11 0xb567a095 in qt_assert (assertion=0x808948e "!col.remoteId().isEmpty()", file=0x808926c "/home/KDE4/source/kdepim-runtime/resources/mixedmaildir/mixedmaildirstore.cpp", line=524) at global/qglobal.cpp:2007
#12 0x0806a963 in MixedMaildirStore::Private::folderForCollection (this=0x81f86c0, col=..., path=..., errorText=...) at /home/KDE4/source/kdepim-runtime/resources/mixedmaildir/mixedmaildirstore.cpp:524
#13 0x0807454a in MixedMaildirStore::Private::visit (this=0x81f86c0, job=0x8e57cf8) at /home/KDE4/source/kdepim-runtime/resources/mixedmaildir/mixedmaildirstore.cpp:1533
#14 0xb76e00f5 in Akonadi::FileStore::ItemDeleteJob::accept (this=0x8e57cf8, visitor=0x81f86c0) at /home/KDE4/source/kdepim-runtime/resources/shared/filestore/itemdeletejob.cpp:61
#15 0x0807ae40 in MixedMaildirStore::processJob (this=0x81d2218, job=0x8e57cf8) at /home/KDE4/source/kdepim-runtime/resources/mixedmaildir/mixedmaildirstore.cpp:2287
#16 0xb76d59f8 in Akonadi::FileStore::AbstractLocalStore::Private::processJobs (this=0x81f1a38, jobs=...) at /home/KDE4/source/kdepim-runtime/resources/shared/filestore/abstractlocalstore.cpp:295
#17 0xb76db3cd in Akonadi::FileStore::AbstractLocalStore::qt_static_metacall (_o=0x81d2218, _c=QMetaObject::InvokeMetaMethod, _id=0, _a=0xbfd77348) at /home/KDE4/build/kdepim-runtime/resources/shared/filestore/abstractlocalstore.moc:50
#18 0xb57b069f in QMetaObject::activate (sender=0x81f63e8, m=0xb76eeb84, local_signal_index=0, argv=0xbfd77348) at kernel/qobject.cpp:3556
#19 0xb76e228c in Akonadi::FileStore::AbstractJobSession::jobsReady (this=0x81f63e8, _t1=...) at /home/KDE4/build/kdepim-runtime/resources/shared/filestore/session_p.moc:99
#20 0xb76e2cf2 in Akonadi::FileStore::FiFoQueueJobSession::Private::runNextJob (this=0x81ec1d8) at /home/KDE4/source/kdepim-runtime/resources/shared/filestore/sessionimpls.cpp:142
#21 0xb76e25f1 in Akonadi::FileStore::FiFoQueueJobSession::qt_static_metacall (_o=0x81f63e8, _c=QMetaObject::InvokeMetaMethod, _id=0, _a=0xbfd77440) at /home/KDE4/build/kdepim-runtime/resources/shared/filestore/sessionimpls_p.moc:50
#22 0xb57b069f in QMetaObject::activate (sender=0x81ec1e0, m=0xb58f84d8, local_signal_index=0, argv=0x0) at kernel/qobject.cpp:3556
#23 0xb5804125 in QTimer::timeout (this=0x81ec1e0) at .moc/release-shared/moc_qtimer.cpp:148
#24 0xb57b9656 in QTimer::timerEvent (this=0x81ec1e0, e=0xbfd77958) at kernel/qtimer.cpp:280
#25 0xb57b4b74 in QObject::event (this=0x81ec1e0, e=0xbfd77958) at kernel/qobject.cpp:1166
#26 0xb5d56404 in notify_helper (e=0xbfd77958, receiver=0x81ec1e0, this=0x80bfc68) at kernel/qapplication.cpp:4551
#27 QApplicationPrivate::notify_helper (this=0x80bfc68, receiver=0x81ec1e0, e=0xbfd77958) at kernel/qapplication.cpp:4523
#28 0xb5d5b743 in QApplication::notify (this=0xbfd77958, receiver=0x81ec1e0, e=0xbfd77958) at kernel/qapplication.cpp:4280
#29 0xb6ae62ea in KApplication::notify (this=0xbfd77c88, receiver=0x81ec1e0, event=0xbfd77958) at /home/KDE4/source/kdelibs/kdeui/kernel/kapplication.cpp:311
#30 0xb5799dce in QCoreApplication::notifyInternal (this=0xbfd77c88, receiver=0x81ec1e0, event=0xbfd77958) at kernel/qcoreapplication.cpp:915
#31 0xb57cebdf in sendEvent (event=<optimized out>, receiver=<optimized out>) at kernel/qcoreapplication.h:231
#32 QTimerInfoList::activateTimers (this=0x80bfdec) at kernel/qeventdispatcher_unix.cpp:626
#33 0xb57cc2c8 in timerSourceDispatch (source=0x80bfdb8) at kernel/qeventdispatcher_glib.cpp:186
#34 timerSourceDispatch (source=0x80bfdb8) at kernel/qeventdispatcher_glib.cpp:180
#35 0xb4b23e2f in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#36 0xb4b24560 in ?? () from /usr/lib/libglib-2.0.so.0
#37 0xb4b247fa in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#38 0xb57ccae7 in QEventDispatcherGlib::processEvents (this=0x80a3c90, flags=...) at kernel/qeventdispatcher_glib.cpp:424
#39 0xb5e0a40a in QGuiEventDispatcherGlib::processEvents (this=0x80a3c90, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#40 0xb579864d in QEventLoop::processEvents (this=0xbfd77bf4, flags=...) at kernel/qeventloop.cpp:149
#41 0xb57988e9 in QEventLoop::exec (this=0xbfd77bf4, flags=...) at kernel/qeventloop.cpp:204
#42 0xb579de2a in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1187
#43 0xb5d542a4 in QApplication::exec () at kernel/qapplication.cpp:3812
#44 0xb758f5d7 in Akonadi::ResourceBase::init (r=0x81dfb48) at /home/KDE4/source/kdepimlibs/akonadi/resourcebase.cpp:450
#45 0x0806588d in Akonadi::ResourceBase::init<MixedMaildirResource> (argc=3, argv=0xbfd77d64) at /home/KDE4/include/akonadi/resourcebase.h:188
#46 0x08063d7c in main (argc=3, argv=0xbfd77d64) at /home/KDE4/source/kdepim-runtime/resources/mixedmaildir/mixedmaildirresource.cpp:826

Reported using DrKonqi
Comment 1 David Faure 2014-08-21 20:05:01 UTC
Git commit abf4869a4ab2200abe4170d01045ca3960be737e by David Faure.
Committed on 19/08/2014 at 20:04.
Pushed by dfaure into branch 'KDE/4.14'.

Fix assert in mixedmaildir resource when an item's collection no longer exists.

(at least for the case where it's invalid; the other possibility is "valid but
with no remote ID", this will be fixed in the resource)

Reviewed by Dan Vratil.

M  +8    -1    akonadi/entitycache_p.h
M  +9    -0    akonadi/resourcebase.cpp

http://commits.kde.org/kdepimlibs/abf4869a4ab2200abe4170d01045ca3960be737e
Comment 2 David Faure 2014-08-22 10:37:45 UTC
Git commit 437769fef195183241b072f727853eca12cdb6b9 by David Faure.
Committed on 22/08/2014 at 09:14.
Pushed by dfaure into branch 'KDE/4.14'.

Handle items without a known collection as an error, not an assert.

This seems to happen when deleting a collection (happened to me and
to Martin Koller in bug 303888), sometimes.

Reviewed by Kevin Krammer

M  +9    -0    resources/mixedmaildir/mixedmaildirresource.cpp

http://commits.kde.org/kdepim-runtime/437769fef195183241b072f727853eca12cdb6b9