[Kde-pim] Re: KMail encountered a fatal error and will terminate now.

Guy Maurel guy-kde at maurel.de
Tue Apr 19 18:32:00 BST 2011


Hello Ingo!

On Monday, April 18, 2011 08:52:56 PM Ingo Klöcker wrote:
> On Monday 18 April 2011, Guy Maurel wrote:

> Do you compile KMail2 yourself? If yes, then search the source code for
I got the sources from git. The compiler is used with -g -O0
I use cgdb to read at runtime.
This mail will be big, even if I try to copy/paste what I found necessary!

In fact, the error at the kmail-migrator and kmail seams to have the same origin.
At the end of kmail-migrator, I get with kdebug.dgb
kmail-migrator(1974) KMail::KMailMigrator::localFoldersMigrationFinished: Attempting take over of special mail collections role from "akonadi_maildir_resource_0"
kmail-migrator(1974) EmptyResourceCleaner::EmptyResourceCleaner: Creating cleaner for resource "akonadi_maildir_resource_0"
kmail-migrator(1974) EmptyResourceCleaner::Private::collectionFetchResult: collection "outbox" has 0 items
kmail-migrator(1974) EmptyResourceCleaner::Private::collectionFetchResult: collection "sent-mail" has 0 items
kmail-migrator(1974) EmptyResourceCleaner::Private::collectionFetchResult: collection "Local Folders" has 0 items
kmail-migrator(1974) EmptyResourceCleaner::Private::collectionFetchResult: 3 potenially deletable collections 0 not empty
kmail-migrator(1974) EmptyResourceCleaner::Private::collectionFetchResult: 3 of 3 are empty
AkonadiAgentServer(1939)/kdecore (KConfigSkeleton) KCoreConfigSkeleton::writeConfig:
kmail-migrator(1974) KMail::KMailMigrator::specialColDefaultResourceCheckFinished: Former special mail collection resource "akonadi_maildir_resource_0" successfully delete, now using "akonadi_mixedmaildir_resource_0"
akonadi_pop3_resource_0(1992)/kdecore (KConfigSkeleton) KCoreConfigSkeleton::writeConfig:
akonadi_pop3_resource_0(1992)/kdecore (KConfigSkeleton) KCoreConfigSkeleton::writeConfig:
akonadi_maildispatcher_agent(1902) OutboxQueue::Private::localFoldersChanged: Requesting outbox folder.
akonadi_maildispatcher_agent(1902) OutboxQueue::Private::localFoldersChanged: Requesting sent-mail folder
akonadi_maildispatcher_agent(1902) OutboxQueue::Private::localFoldersChanged: Requesting outbox folder.
akonadi_maildispatcher_agent(1902) OutboxQueue::Private::localFoldersChanged: Requesting sent-mail folder
akonadi_maildispatcher_agent(1902) OutboxQueue::Private::localFoldersChanged: Requesting outbox folder.
akonadi_maildispatcher_agent(1902) OutboxQueue::Private::localFoldersChanged: Requesting sent-mail folder
kmail-migrator(1974) KMail::KMailMigrator::migrationDone: Deleting 0 failed resource instances
akonadi_mixedmaildir_resource_0(2022)/akonadiresource (maildir) MixedMaildirStore::Private::visit: CollectionModifyJob with name still identical to remoteId. Ignoring
akonadi_maildispatcher_agent(1902) Akonadi::SpecialCollectionsRequestJobPrivate::resourceScanResult: guy===resourceId  "akonadi_mixedmaildir_resource_0"
akonadi_maildispatcher_agent(1902) Akonadi::SpecialCollectionsRequestJobPrivate::resourceScanResult: guy===mSpecialCollections->d->defaultResourceId()  "akonadi_maildir_resource_0"
akonadi_maildispatcher_agent(1902): Resource id's don't match:  "akonadi_mixedmaildir_resource_0" "akonadi_maildir_resource_0"

I put a breakpoint at /home/guy-kde/kdesvn/kdepimlibs/akonadi/specialcollectionsrequestjob.cpp:205, 
the bt command from cgdb gives us:
#0  Akonadi::SpecialCollectionsRequestJobPrivate::resourceScanResult (this=0xefbba0, job=0xefb5c0) at /home/guy-kde/kdesvn/kdepimlibs/akonadi/specialcollectionsrequestjob.cpp:205
#1  0x00007f17624799e0 in Akonadi::SpecialCollectionsRequestJob::qt_metacall (this=0xefb770, _c=QMetaObject::InvokeMetaMethod, _id=2, _a=0x7ffff7ca4610) at /home/guy-kde/kdesvn/build/kdepimlibs/akonadi/specialcollectionsrequestjob.moc:80
#2  0x00007f1761d6ab7f in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /home/guy-kde/qt4/lib/libQtCore.so.4               
#3  0x00007f1761399c12 in KJob::result (this=<value optimized out>, _t1=0xefb5c0) at /home/guy-kde/kdesvn/build/kdelibs/kdecore/kjob.moc:194          
#4  0x00007f1761399c55 in KJob::emitResult (this=0xefb5c0) at /home/guy-kde/kdesvn/kdelibs/kdecore/jobs/kjob.cpp:312                                  
#5  0x00007f1762471ce2 in Akonadi::ResourceScanJob::Private::fetchResult (this=0xf1dc80, job=0xf1a100) at /home/guy-kde/kdesvn/kdepimlibs/akonadi/specialcollectionshelperjobs.cpp:150                                                                                                            
                                                                                                                                                      
This sounds correct from:                                                                                                                             
149│   // We are done!                                                                                                                                
150├>  q->emitResult();                                                                                                                               
                                                                                                                                                      
Now, running the kmail, and using the cgdb, I can attach the kmail-proces and have a look to the backtrace.                                           
#13 0x00007fdb47f77ea6 in MailCommon::Kernel::createDefaultCollectionDone (this=0x84da20, job=<value optimized out>) at /home/guy-kde/kdesvn/kdepim/mailcommon/mailkernel.cpp:167                                                                                                                 
                                                                                                                                                      
I make some little modifications:                                                                                                                     
163│   const Akonadi::Collection col = requestJob->collection();                                                                                      
164│     kDebug() << "guy===col.rights() " << col.rights();                                                                                           
165│     kDebug() << "guy===Akonadi::Collection::AllRights " << Akonadi::Collection::AllRights;                                                       
166│   if ( !( col.rights() & Akonadi::Collection::AllRights ) ) {                                                                                    
167├>    emergencyExit( i18n("You do not have read/write permission to your inbox folder.") );

The output to kdebug.dbg is:
kmail2(2049) KMail::lockOrDie: oldPid= -1
kmail2(2049) KMailApplication::newInstance:
kmail2(2049) KMailApplication::newInstance: Delaying instance creation.
kmail2(2049) KMKernel::migrateFromKMail1: Performing Akonadi migration. Good luck!
kmail-migrator(2056) InfoDialog::message: "Beginning KMail migration..."
kmail-migrator(2056) KMail::KMailMigrator::migrate: Copying content from kmailrc
kmail-migrator(2056) KMail::KMailMigrator::migrateTags: Tag Groups: ("MessageTag #0", "MessageTag #1", "MessageTag #2") MigratedTags: ("MessageTag #0", "MessageTag #1", "MessageTag #2") Unmigrated Tags: QSet()
kmail-migrator(2056) InfoDialog::message: "'POP-Postfach' has been already migrated."
kmail-migrator(2056) InfoDialog::message: "Local folders have already been migrated."
kmail-migrator(2056) InfoDialog::message: "Migration successfully completed."
kmail-migrator(2056) KMail::KMailMigrator::migrationDone: Deleting 0 failed resource instances
kmail2(2049) KMKernel::migrateFromKMail1: Akonadi migration has been successful
kmail2(2049) KMKernel::KMKernel: Starting up...
kmail2(2049) KMKernel::identityManager:
kmail2(2049) KMKernel::init: KMail init with akonadi server state: 2
kmail2(2049) MailCommon::Kernel::initFolders: KMail is initialize and looking for default specialcollection folders.
kmail2(2049) KMailApplication::newInstance:
kmail2(2049) KMKernel::openReader:
kmail2(2049) MessageList::Core::Theme::Row::load: Old theme version detected, adding annotation item next to attachment icon.
kmail2(2049) MessageList::Core::Theme::Row::load: Old theme version detected, adding invitation item next to attachment icon.
kmail2(2049) MessageList::Core::Theme::Row::load: Old theme version detected, adding annotation item next to attachment icon.
kmail2(2049) MessageList::Core::Theme::Row::load: Old theme version detected, adding invitation item next to attachment icon.
kmail2(2049) MessageList::Core::Theme::Row::load: Old theme version detected, adding annotation item next to attachment icon.
kmail2(2049) MessageList::Core::Theme::Row::load: Old theme version detected, adding invitation item next to attachment icon.
kmail2(2049) MessageList::StorageModel::StorageModel: Using model: Akonadi::EntityTreeModel
kmail2(2049)/kdecore (KConfigSkeleton) KCoreConfigSkeleton::writeConfig:
kmail2(2049) MessageList::Core::View::resizeEvent: Resize event enter (viewport width is  282 )
kmail2(2049) MessageList::Core::View::resizeEvent: Resize event enter (viewport width is  933 )
kmail2(2049) KSieveUi::Vacation::Vacation: Vacation: found url " "" "
kmail2(2049) MessageList::Core::View::resizeEvent: Resize event enter (viewport width is  948 )
kmail2(2049) MailCommon::Kernel::createDefaultCollectionDone: guy===col.rights()  QFlags()
kmail2(2049) MailCommon::Kernel::createDefaultCollectionDone: guy===Akonadi::Collection::AllRights  63
kmail2(2049) MailCommon::Kernel::createDefaultCollectionDone: guy===col.rights()  QFlags(0x1|0x2|0x4|0x8|0x10|0x20)
kmail2(2049) MailCommon::Kernel::createDefaultCollectionDone: guy===Akonadi::Collection::AllRights  63
kmail2(2049) MailCommon::Kernel::createDefaultCollectionDone: guy===col.rights()  QFlags()
kmail2(2049) MailCommon::Kernel::createDefaultCollectionDone: guy===Akonadi::Collection::AllRights  63
kmail2(2049) MailCommon::Kernel::createDefaultCollectionDone: guy===col.rights()  QFlags(0x1|0x2|0x4|0x8|0x10|0x20)
kmail2(2049) MailCommon::Kernel::createDefaultCollectionDone: guy===Akonadi::Collection::AllRights  63
kmail2(2049) MailCommon::Kernel::createDefaultCollectionDone: guy===col.rights()  QFlags(0x1|0x2|0x4|0x8|0x10|0x20)
kmail2(2049) MailCommon::Kernel::createDefaultCollectionDone: guy===Akonadi::Collection::AllRights  63
kmail2(2049) MailCommon::Kernel::createDefaultCollectionDone: guy===col.rights()  QFlags(0x1|0x2|0x4|0x8|0x10|0x20)
kmail2(2049) MailCommon::Kernel::createDefaultCollectionDone: guy===Akonadi::Collection::AllRights  63

looking again to the backtrace told me:
#17 0x00007fdb51bc6c55 in KJob::emitResult (this=0xb5aef0) at /home/guy-kde/kdesvn/kdelibs/kdecore/jobs/kjob.cpp:312
312├>    emit result( this );

#19 0x00007fdb4f421f92 in Akonadi::SpecialCollectionsRequestJobPrivate::nextResource (this=0xb5cf00) at /home/guy-kde/kdesvn/kdepimlibs/akonadi/specialcollectionsrequestjob.cpp:174
173│     // We are done!
174├>    q->commit();

#21 0x00007fdb4f42268c in Akonadi::SpecialCollectionsRequestJobPrivate::resourceScanResult (this=0xb5cf00, job=0xdea0e0) at /home/guy-kde/kdesvn/kdepimlibs/akonadi/specialcollectionsrequestjob.cpp:208
208├>    createRequestedFolders( resjob, mDefaultFolders );

which is only two lines away from the error we had at the migration!
I dont success to get information about the inbox notices in the error message.
Which one could it be?
Typing OK at the error box, then kmail ends. No more informations.

Any ideas? Thanks.
-- 
guy
_______________________________________________
KDE PIM mailing list kde-pim at kde.org
https://mail.kde.org/mailman/listinfo/kde-pim
KDE PIM home page at http://pim.kde.org/


More information about the kde-pim mailing list