[Kde-pim] Once a month
Guy Maurel
guy.maurel at kde.org
Fri Jul 5 15:54:08 BST 2013
Hello!
On Wednesday 19 June 2013 11:01:11 Andras Mantia wrote:
> Guy Maurel wrote:
> > Hello!
> >
> > I start kmail once a day. About once a month, the filtering is not done.
> > "Selecting all the messages" and "Applying all the filters" once more: no
> > filtering.
> >
> > It needs to use "akonadictl restart" to get it run.
> >
> > What to look after to get a log-file with any hints?
>
> Does the filter log give you any hint? Like the filters were tested for
> matching at all or not?
>
Hello Andras!
I see some similitudes to the bug we get fixed in Berlin.
Some timing problem?
Let me explain what I see (once a week...)
Some of the filters don't fire.
The most of them have a rule such as "any header".
The comparision of gives "false" because one of the string is empty.
This is because:
/home/guy-kde/projects/kdepimlibs/kmime/kmime_content.cpp
140? QByteArray Content::head() const
141? {
142?> return d_ptr->head;
is empty.
Which is set at:
/home/guy-kde/projects/kdepimlibs/kmime/kmime_content.cpp
145? void Content::setHead( const QByteArray &head )
146? {
147?> d_ptr->head = head;
called at
home/guy-kde/projects/kdepim-runtime/plugins/akonadi_serializer_mail.cpp
92? if ( msg->body().isEmpty() && msg->contents().isEmpty() ) {
93?> msg->setHead( buffer );
called at
home/guy-kde/projects/kdepimlibs/akonadi/itemserializer.cpp
100? void ItemSerializer::deserialize( Item& item, const QByteArray& label...
101? {
102?> if ( !TypePluginLoader::defaultPluginForMimeType( item.mimeType() )-
>deserialize( item, label
called at
94?> deserialize( item, label, buffer, version );
called at
/home/guy-kde/projects/kdepimlibs/akonadi/protocolhelper.cpp
413?> ItemSerializer::deserialize( item, plainKey, lineTokens. ...
============
in the normal case, the ProtocolHelper::parseItemFetchResult gets all the
needed data:
(some personal data are anonymised)
kmail2(1075)/libakonadi Akonadi::ProtocolHelper::parseItemFetchResult:
GM: 411 plainKey= "ENVELOPE"
kmail2(1075)/libakonadi Akonadi::ItemSerializer::deserialize:
GM: 95 before deserialize with external-Variable
kmail2(1075) Akonadi::SerializerPluginMail::deserialize:
GM: 90 buffer is not empty
kmail2(1075) Akonadi::SerializerPluginMail::deserialize: gm>>
kmail2(1075) Akonadi::SerializerPluginMail::deserialize: "("Thu, 04 Jul 2013
14:45:52 +0000" "Re: [Kde-pim] Review Request 111289: Fix support for RSS
feeds whose item links are not complete urls" (("F O" NIL "f.o"
"kdemail.net")) ((NIL NIL "kde-pim-bounces" "kde.org")) (("F O" NIL "f.o"
"kdemail.net") ("KDE PIM" NIL "kde-pim" "kde.org")) (("F O" NIL "f.o"
"kdemail.net")) (("KDEPIM-Libraries" NIL "kde-pim" "kde.org")) NIL
"<20130628140858.5366.33800 at v.de>" "<20130704144552.22567.27908 at v.de>"
"<20130628140858.5366.33800 at v.de>")" <<gm
and
kmail2(1075)/libakonadi Akonadi::ItemSerializer::deserialize:
GM: 95 before deserialize with external-Variable
kmail2(1075) Akonadi::SerializerPluginMail::deserialize:
GM: 90 buffer is not empty
kmail2(1075) Akonadi::SerializerPluginMail::deserialize: gm>>
kmail2(1075) Akonadi::SerializerPluginMail::deserialize: "Return-Path: <kde-
pim-bounces at kde.org>
...
" <<gm
==========
in the case with the bug, ONLY the ENVELOPE can be seen.
Killing the process /usr/local/bin/akonadi_mailfilter_agent
is enough to get a new one, which filters pretty well.
===========
in the case with the bug, the problem is reproduceable. A dbg can be
used to look what occurs, set breakpoints, and see the Content::setHead
is not called.
The question is:
what can I do to check why the data is not seen at
ProtocolHelper::parseItemFetchResult, may be not send at all?
Thanks for any hint
--
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