Bug 243920 - Migrator crashes if only kmailrc is copied
Summary: Migrator crashes if only kmailrc is copied
Status: RESOLVED FIXED
Alias: None
Product: Akonadi
Classification: Frameworks and Libraries
Component: Migration (show other bugs)
Version: 4.5
Platform: Unlisted Binaries Linux
: NOR crash
Target Milestone: ---
Assignee: Volker Krause
URL:
Keywords: akonadi-ports-regression
Depends on:
Blocks:
 
Reported: 2010-07-08 09:39 UTC by Thomas McGuire
Modified: 2010-07-09 13:30 UTC (History)
2 users (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 Thomas McGuire 2010-07-08 09:39:06 UTC
If I copy my kmailrc to another user account, but do not copy $KDEHOME/share/apps/kmail, the migrator will crash when trying to migrate IMAP accounts.

Reason is that createCacheStore() returns 0 if that directory doesn't exist, and the callers don't deal with that.

Application: KMail Migration Tool (kmail-migrator), signal: Aborted
[KCrash Handler]
#6  0x00007ff381aed645 in raise () from /lib64/libc.so.6
#7  0x00007ff381aeec33 in abort () from /lib64/libc.so.6
#8  0x00007ff38283a22d in qt_message_output (msgType=QtFatalMsg, 
    buf=0xddf618 "ASSERT: \"store != 0\" in file /media/kdedev/kde45/src/KDE/kdepim-git/runtime/migration/kmail/imapcachelocalimporter.cpp, line 308") at global/qglobal.cpp:2250
#9  0x00007ff38283a425 in qt_message(QtMsgType, const char *, typedef __va_list_tag __va_list_tag *) (msgType=QtFatalMsg, msg=0x7ff3829fd1e8 "ASSERT: \"%s\" in file %s, line %d", ap=0x7fff5ca05230)
    at global/qglobal.cpp:2296
#10 0x00007ff38283a551 in qFatal (msg=0x7ff3829fd1e8 "ASSERT: \"%s\" in file %s, line %d") at global/qglobal.cpp:2479
#11 0x00007ff38283a7c7 in qt_assert (assertion=0x488287 "store != 0", file=0x4880e8 "/media/kdedev/kde45/src/KDE/kdepim-git/runtime/migration/kmail/imapcachelocalimporter.cpp", line=308)
    at global/qglobal.cpp:2013
#12 0x0000000000434c8f in ImapCacheLocalImporter::ImapCacheLocalImporter (this=0xd27bb0, store=0x0, parent=0x88f570)
    at /media/kdedev/kde45/src/KDE/kdepim-git/runtime/migration/kmail/imapcachelocalimporter.cpp:308
#13 0x000000000044c08d in KMail::KMailMigrator::migrateImapAccount (this=0x88f570, job=0x8f4330, disconnected=true)
    at /media/kdedev/kde45/src/KDE/kdepim-git/runtime/migration/kmail/kmailmigrator.cpp:755
#14 0x000000000044c7f2 in KMail::KMailMigrator::imapDisconnectedAccountCreated (this=0x88f570, job=0x8f4330) at /media/kdedev/kde45/src/KDE/kdepim-git/runtime/migration/kmail/kmailmigrator.cpp:591
#15 0x000000000044c923 in KMail::KMailMigrator::qt_metacall (this=0x88f570, _c=InvokeMetaMethod, _id=4, _a=0x7fff5ca05d00)
    at /media/kdedev/kde45/build/KDE/kdepim-git/runtime/migration/kmail/kmailmigrator.moc:114
#16 0x00007ff38297b90f in QMetaObject::metacall (object=0x88f570, cl=InvokeMetaMethod, idx=10, argv=0x7fff5ca05d00) at kernel/qmetaobject.cpp:237
#17 0x00007ff382990c80 in QMetaObject::activate (sender=0x8f4330, m=0x7ff38348d500, local_signal_index=3, argv=0x7fff5ca05d00) at kernel/qobject.cpp:3293
#18 0x00007ff3830d5acd in KJob::result (this=0x8f4330, _t1=0x8f4330) at /media/kdedev/kde45/build/KDE/kdelibs/kdecore/kjob.moc:194
#19 0x00007ff3830d5eb9 in KJob::emitResult (this=0x8f4330) at /media/kdedev/kde45/src/KDE/kdelibs/kdecore/jobs/kjob.cpp:312
#20 0x00007ff3859a5889 in Akonadi::AgentInstanceCreateJobPrivate::agentInstanceAdded (this=0xa55870, instance=...) at /media/kdedev/kde45/src/KDE/kdepimlibs-git/akonadi/agentinstancecreatejob.cpp:68
#21 0x00007ff3859a4a79 in Akonadi::AgentInstanceCreateJob::qt_metacall (this=0x8f4330, _c=InvokeMetaMethod, _id=0, _a=0x7fff5ca05f40)
    at /media/kdedev/kde45/build/KDE/kdepimlibs-git/akonadi/agentinstancecreatejob.moc:81
#22 0x00007ff38297b90f in QMetaObject::metacall (object=0x8f4330, cl=InvokeMetaMethod, idx=26, argv=0x7fff5ca05f40) at kernel/qmetaobject.cpp:237
#23 0x00007ff382990c80 in QMetaObject::activate (sender=0x7df020, m=0x7ff385d6f3e0, local_signal_index=2, argv=0x7fff5ca05f40) at kernel/qobject.cpp:3293
#24 0x00007ff3859addbb in Akonadi::AgentManager::instanceAdded (this=0x7df020, _t1=...) at /media/kdedev/kde45/build/KDE/kdepimlibs-git/akonadi/agentmanager.moc:163
#25 0x00007ff3859b0979 in Akonadi::AgentManagerPrivate::agentInstanceAdded (this=0x7d11c0, identifier=...) at /media/kdedev/kde45/src/KDE/kdepimlibs-git/akonadi/agentmanager.cpp:100
#26 0x00007ff3859b1238 in Akonadi::AgentManager::qt_metacall (this=0x7df020, _c=InvokeMetaMethod, _id=12, _a=0x7fff5ca06170)
    at /media/kdedev/kde45/build/KDE/kdepimlibs-git/akonadi/agentmanager.moc:129
#27 0x00007ff38297b90f in QMetaObject::metacall (object=0x7df020, cl=InvokeMetaMethod, idx=16, argv=0x7fff5ca06170) at kernel/qmetaobject.cpp:237
#28 0x00007ff382990c80 in QMetaObject::activate (sender=0x7d11f0, m=0x7ff385d78fc0, local_signal_index=0, argv=0x7fff5ca06170) at kernel/qobject.cpp:3293
#29 0x00007ff385acfccb in OrgFreedesktopAkonadiAgentManagerInterface::agentInstanceAdded (this=0x7d11f0, _t1=...) at /media/kdedev/kde45/build/KDE/kdepimlibs-git/akonadi/agentmanagerinterface.moc:227
#30 0x00007ff385acfd94 in OrgFreedesktopAkonadiAgentManagerInterface::qt_metacall (this=0x7d11f0, _c=InvokeMetaMethod, _id=0, _a=0x7fff5ca06420)
    at /media/kdedev/kde45/build/KDE/kdepimlibs-git/akonadi/agentmanagerinterface.moc:154
#31 0x00007ff382d1723f in QDBusConnectionPrivate::deliverCall (this=0x71e660, object=0x7d11f0, msg=..., metaTypes=..., slotIdx=5) at qdbusintegrator.cpp:904
#32 0x00007ff382d2ae14 in QDBusCallDeliveryEvent::placeMetaCall (this=0x8a1fe0, object=0x7d11f0) at qdbusintegrator_p.h:101
#33 0x00007ff38298b59a in QObject::event (this=0x7d11f0, e=0x8a1fe0) at kernel/qobject.cpp:1248
#34 0x00007ff3836bba1b in QApplicationPrivate::notify_helper (this=0x6d5ad0, receiver=0x7d11f0, e=0x8a1fe0) at kernel/qapplication.cpp:4304
#35 0x00007ff3836bbea4 in QApplication::notify (this=0x6d59d0, receiver=0x7d11f0, e=0x8a1fe0) at kernel/qapplication.cpp:3708
#36 0x00007ff3854724db in KApplication::notify (this=0x6d59d0, receiver=0x7d11f0, event=0x8a1fe0) at /media/kdedev/kde45/src/KDE/kdelibs/kdeui/kernel/kapplication.cpp:309
#37 0x00007ff382973b09 in QCoreApplication::notifyInternal (this=0x6d59d0, receiver=0x7d11f0, event=0x8a1fe0) at kernel/qcoreapplication.cpp:704
#38 0x00007ff3836b8d1b in QCoreApplication::sendEvent (receiver=0x7d11f0, event=0x8a1fe0) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:215
#39 0x00007ff38297411f in QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x6bc3e0) at kernel/qcoreapplication.cpp:1345
#40 0x00007ff38297442e in QCoreApplication::sendPostedEvents (receiver=0x0, event_type=0) at kernel/qcoreapplication.cpp:1238
#41 0x00007ff3837b183f in QCoreApplication::sendPostedEvents () at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:220
#42 0x00007ff3829b0716 in postEventSourceDispatch (s=0x6d9190) at kernel/qeventdispatcher_glib.cpp:276
#43 0x00007ff37dc6d0fb in g_main_context_dispatch () from /usr/lib64/libglib-2.0.so.0
#44 0x00007ff37dc708cd in ?? () from /usr/lib64/libglib-2.0.so.0
#45 0x00007ff37dc70a8b in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#46 0x00007ff3829af531 in QEventDispatcherGlib::processEvents (this=0x6bbf20, flags=...) at kernel/qeventdispatcher_glib.cpp:412
#47 0x00007ff3837afd63 in QGuiEventDispatcherGlib::processEvents (this=0x6bbf20, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#48 0x00007ff38296ff03 in QEventLoop::processEvents (this=0x7fff5ca075a0, flags=...) at kernel/qeventloop.cpp:149
#49 0x00007ff382970127 in QEventLoop::exec (this=0x7fff5ca075a0, flags=...) at kernel/qeventloop.cpp:201
#50 0x00007ff382974553 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:981
#51 0x00007ff3836be9ac in QApplication::exec () at kernel/qapplication.cpp:3583
#52 0x0000000000456f49 in main (argc=2, argv=0x7fff5ca07a68) at /media/kdedev/kde45/src/KDE/kdepim-git/runtime/migration/kmail/main.cpp:85
Comment 1 Laurent Montel 2010-07-09 10:26:00 UTC
SVN commit 1147824 by mlaurent:

Fix bug #243920 "Migrator crashes if only kmailrc is copied"
CCBUG: 243920


 M  +1 -1      kmailmigrator.cpp  


WebSVN link: http://websvn.kde.org/?view=rev&revision=1147824
Comment 2 Kevin Krammer 2010-07-09 13:30:14 UTC
SVN commit 1147920 by krake:

When there is no local cache directory, handle the resource's migration like "ConfigOnly", i.e. modify all filters, etc., just no messages imported

CCBUG: 243920


 M  +17 -11    imapcachecollectionmigrator.cpp  
 M  +4 -4      kmailmigrator.cpp  


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