[Kde-pim] Fix for "Empty addressee object" warnings, please check

David Faure faure at kde.org
Sun Dec 23 16:46:31 GMT 2012


The kdeaccounts-resource outputs this:

Akonadi::SerializerPluginAddressee::deserialize: Empty addressee object!
Akonadi::SerializerPluginAddressee::deserialize: Empty addressee object!
Akonadi::SerializerPluginAddressee::deserialize: Empty addressee object!
Akonadi::SerializerPluginAddressee::deserialize: Empty addressee object!
Akonadi::SerializerPluginAddressee::deserialize: Empty addressee object!

Investigation:

#6  0x00007ffff7a55e81 in Akonadi::ItemFetchJob::doHandleResponse (this=0x8162c0, tag="*" = {...}, data="1134831 FETCH (UID 1134831 REV 19 REMOTEID \"zwabel\" MIMETYPE \"text/directory\" COLLECTIONID 5621 SIZE 208 DATETIME \"23-Dec-2012 15:29:03 +0000\" FLAGS () PLD:RFC822 NIL)\r\n" = {...}) at /d/kde/src/4/kde/kdepimlibs/akonadi/itemfetchjob.cpp:192

The PLD:RFC822 data is empty, which leads to
Akonadi::ItemSerializer::deserialize being called with an empty QByteArray() as text/directory data.

It calls Akonadi::SerializerPluginAddressee::deserialize which says
    kWarning( 5261 ) << "Empty addressee object!";
(for every contact).

However everything is fine afterwards, so it seems to me that the input request is OK and the fix
is to skip deserializing if the data is empty? Or do I miss something?
(I have no idea how "FETCH", received by a resource, works, and especially why it would have "RFC822 NIL" in the request)


diff --git a/akonadi/itemserializer.cpp b/akonadi/itemserializer.cpp
index be5c263..e8e8008 100644
--- a/akonadi/itemserializer.cpp
+++ b/akonadi/itemserializer.cpp
@@ -86,7 +86,7 @@ void ItemSerializer::deserialize( Item& item, const QByteArray& label, const QBy
       deserialize( item, label, file, version );
       file.close();
     }
-  } else {
+  } else if ( !data.isEmpty() ) {
     QBuffer buffer;
     buffer.setData( data );
     buffer.open( QIODevice::ReadOnly );


-- 
David Faure, faure at kde.org, http://www.davidfaure.fr
Working on KDE, in particular KDE Frameworks 5

_______________________________________________
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