[Akonadi] [Bug 283682] KMail duplicates filtered messages

BingMyBong bugzilla_noreply at kde.org
Wed Apr 5 11:00:26 BST 2017


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

--- Comment #183 from BingMyBong <bingmybong at btinternet.com> ---
On Wednesday, 5 April 2017 08:53:00 BST you wrote:
> https://bugs.kde.org/show_bug.cgi?id=283682
> 
> --- Comment #182 from Martin Koller <kollix at aon.at> ---
> Just for the records, I once tried to dig into the Akonadi code to find the
> bug.
> I put my analysis to the other bug report, which is now set to a duplicate
> of this.
> https://bugs.kde.org/show_bug.cgi?id=362398#c5
> Just that it does not get lost, and I still think my findings are correct,
> here is it again:
> 
> I'm hunting the "duplicate mail bug" and I think I've found a bug in the
> Akonadi Server.
> What happens here is the following:
> - a resource adds a new mail item (id=3, collection=17)
> - Akonadi sends "Item added" to the filter agent
> - filter agent sends a "move" command to move item id=3 from collection=17
> to collection=19
> - Akonadi sends "item added" to the maildir resource (this is the first
> "added" message from the creation, so the
>   item still has id=3 collection=17)
> - I'd say in the Akonadi DB the collectionId of item=3 is now 19 (after the
> move)
> - Now the maildir resource gets triggered by its internal file watcher and
> triggers a sync
> - maildir gets called with retrieveItems and lists what it has on disc,
> which is the item (id=3) in the collection=17
> - Akonadi receives this and inside Merge::parseStream() there the bad thing
> happens:
>   It hits this "if" branch (server/src/handler/merge.cpp Line 301)
>       // No item with such GID/RID exists, so call AkAppend::insert() and
> behave
>       // like if this was a new item
>  and INSERTS the item AGAIN into collection=17 with a new id=4
>  Now I have the same mail item twice in the DB
>  Since the maildir "itemsRetrieved" answer contains for the first time the
> RID, the newly inserted item gets this RID,
>  and the previously intserted one id=3 does not and is left alone with a
> NULL RID
> 
> 
> Someone more knowledgeable about the Akonadi internals should have a look,
> please.

Good work.
You could post this to kdepim-users list as Daniel Vrátil, who i think is the 
prime dev on akonadi, appears to frequent this list.  Or if you are not a 
member i can forward for you.

-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the Kdepim-bugs mailing list