[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-bugs-dist
Subject:    [Bug 235835] Akonadi Imap resource crash when Relaunching KOrg
From:       David Faure <faure () kde ! org>
Date:       2010-04-30 22:13:20
Message-ID: 20100430221320.28D113E825 () immanuel ! kde ! org
[Download RAW message or body]

https://bugs.kde.org/show_bug.cgi?id=235835


David Faure <faure@kde.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |faure@kde.org




--- Comment #2 from David Faure <faure kde org>  2010-05-01 00:13:16 ---
Here's my debugging of the issue.
The problem is that the imap resource "moves on to the next task" while it
still has a KIMAP::SelectJob running. So later on when that job finishes, the
resource is quite confused and hits asserts.

The reason why the imap resource moves on to the next task is that
Akonadi::ResourceBasePrivate::slotItemSyncDone calls taskDone.
And ItemSync is done because of an error (ItemFetchJob subjob fails).
But still, taskDone is called too early, since the slot connected to that
KIMAP::SelectJob was the one that was supposed to say "itemsRetrievalDone".

I assume the running kimap jobs should be killed when ItemSync fails?

akonadi_imap_resource_2(26578)/libakonadi
Akonadi::ResourceScheduler::executeNext:
======================================== current task: 8 SyncCollection
collection 660
akonadi_imap_resource_2(26578)/kdepimlibs (kimap) ImapResource::retrieveItems:
"/shared.mailing-lists"
akonadi_imap_resource_2(26578)/kdepimlibs (kimap) KIMAP::Job::start:
KIMAP::GetMetaDataJob(0x7f7ba80b2120)
akonadi_imap_resource_2(26578)/kdepimlibs (kimap) KIMAP::Job::start:
KIMAP::GetAclJob(0x7f7ba80a8940)
akonadi_imap_resource_2(26578)/kdepimlibs (kimap) KIMAP::Job::start:
KIMAP::MyRightsJob(0x7f7ba80ac110)
akonadi_imap_resource_2(26578)/kdepimlibs (kimap) KIMAP::Job::start:
KIMAP::GetQuotaRootJob(0x7f7ba80b86d0)
akonadi_imap_resource_2(26578)/kdepimlibs (kimap) ImapResource::triggerExpunge:
"shared.mailing-lists"
akonadi_imap_resource_2(26578) ImapResource::retrieveItems: SelectJob
KIMAP::SelectJob(0x7f7ba80b0b60) will call onSelectDone
akonadi_imap_resource_2(26578)/kdepimlibs (kimap) KIMAP::Job::start:
KIMAP::SelectJob(0x7f7ba80b0b60)
akonadi_imap_resource_2(26578)/kdepimlibs (kimap)
ImapResource::onRightsReceived: "/shared.mailing-lists" imapRights: 7743
newRights: 39 oldRights: 39
akonadi_imap_resource_2(26578) ImapResource::onSelectDone:
KIMAP::SelectJob(0x7f7ba80b0b60)
akonadi_imap_resource_2(26578)/libakonadi Akonadi::JobPrivate::handleResponse:
Akonadi::CollectionModifyJob(0x7f7ba80ae380) "OK MODIFY done
"
akonadi_imap_resource_2(26578)/libakonadi
Akonadi::JobPrivate::delayedEmitResult:
Akonadi::CollectionModifyJob(0x7f7ba80ae380) emitResult
akonadi_imap_resource_2(26578)/libakonadi Akonadi::JobPrivate::handleResponse:
Akonadi::CollectionStatisticsJob(0x7f7ba80acb90) "OK STATUS completed
"
akonadi_imap_resource_2(26578)/libakonadi
Akonadi::JobPrivate::delayedEmitResult:
Akonadi::CollectionStatisticsJob(0x7f7ba80acb90) emitResult
akonadi_imap_resource_2(26578) ImapResource::onCollectionStatisticsReceived:
Akonadi::CollectionStatisticsJob(0x7f7ba80acb90)
akonadi_imap_resource_2(26578)/kdepimlibs (kimap) ImapResource::onSelectDone:
integrity:  "shared.mailing-lists"  should be:  0  current:  0
akonadi_imap_resource_2(26578)/kdepimlibs (kimap) ImapResource::onSelectDone:
All fine, asking for all message flags looking for changes
akonadi_imap_resource_2(26578)/libakonadi
Akonadi::ResourceBase::setItemStreamingEnabled: mItemSyncer=
Akonadi::ItemSync(0x7f7ba8093570)
akonadi_imap_resource_2(26578)/kdepimlibs (kimap) KIMAP::Job::start:
KIMAP::FetchJob(0x7f7ba80b1960)
akonadi_imap_resource_2(26578)/libakonadi Akonadi::JobPrivate::startNext:
0x7f7ba8012320 starting subjob: Akonadi::ItemFetchJob(0x7f7ba80acb90)
akonadi_imap_resource_2(26578)/libakonadi Akonadi::JobPrivate::startNext:
0x7f7ba8016520 starting subjob: Akonadi::CollectionSelectJob(0x7f7ba809e770)
akonadi_imap_resource_2(26578)/libakonadi Akonadi::JobPrivate::handleResponse:
Akonadi::CollectionSelectJob(0x7f7ba809e770) "OK Completed
"
akonadi_imap_resource_2(26578)/libakonadi
Akonadi::JobPrivate::delayedEmitResult:
Akonadi::CollectionSelectJob(0x7f7ba809e770) emitResult
akonadi_imap_resource_2(26578)/libakonadi Akonadi::Job::slotResult:
Akonadi::ItemFetchJob(0x7f7ba80acb90) subjob done:
Akonadi::CollectionSelectJob(0x7f7ba809e770)
akonadi_imap_resource_2(26578)/libakonadi Akonadi::JobPrivate::handleResponse:
Akonadi::ItemFetchJob(0x7f7ba80acb90) "NO Unable to retrieve item parts
"
akonadi_imap_resource_2(26578)/libakonadi Akonadi::Job::slotResult:
Akonadi::ItemSync(0x7f7ba8093570) subjob done:
Akonadi::ItemFetchJob(0x7f7ba80acb90)
akonadi_imap_resource_2(26578)/libakonadi
Akonadi::ResourceBasePrivate::slotItemSyncDone:
ResourceBasePrivate::slotItemSyncDone calling taskDone
akonadi_imap_resource_2(26578)/libakonadi
Akonadi::ResourceScheduler::executeNext:
======================================== current task: 9 SyncCollection
collection 664
ASSERT: "m_jobs.isEmpty()" in file
/d/kde/src/t/kdepim/runtime/resources/imap/imapresource.cpp, line 813

Debug output generated by
http://www.davidfaure.fr/2010/imap_resource_debug.diff
http://www.davidfaure.fr/2010/kdepimlibs_akonadi_debug.diff

-- 
Configure bugmail: https://bugs.kde.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are watching all bug changes.
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic