[Kde-pim] Re: Stuck nepomuk email feeder, unknown soprano command 212

Volker Krause vkrause at kde.org
Sun Dec 19 09:56:46 GMT 2010


On Tuesday 07 December 2010 17:10:29 Will Stephenson wrote:
> I frequently see the following behaviour from nepomuk_email_feeder.
>
> *)Trunk from today, soprano 2.5.63, virtuoso 6.1.2
>
> *) High CPU usage
>
> *) console output, repeated forever
> local socket error: QLocalSocket::PeerClosedError
> "/space/kde/installs/trunk/bin/akonadi_nepomuk_email_feeder(5719)" Soprano:
> "Command timed out."
> "/space/kde/installs/trunk/bin/akonadi_nepomuk_email_feeder(5719)" Soprano:
> "Invalid model id"
> "/space/kde/installs/trunk/bin/akonadi_nepomuk_email_feeder(5719)" Soprano:
> "Invalid iterator."
>
> * console output from nepomuk, repeated forever
> [/space/kde/installs/trunk/bin/nepomukservicestub] Unknown command:  212
> closing connection
> [/space/kde/installs/trunk/bin/nepomukservicestub] virtual void
> Soprano::Server::LocalServer::incomingConnection(quintptr)
> [/space/kde/installs/trunk/bin/nepomukservicestub] void
> Soprano::Server::ServerCorePrivate::addConnection(Soprano::Server::ServerCo
>nnection*) New connection. New count: 14
> [/space/kde/installs/trunk/bin/nepomukservicestub] virtual void
> Soprano::Server::ServerConnection::run() thread done.
> [/space/kde/installs/trunk/bin/nepomukservicestub] void
> Soprano::Server::ServerCore::serverConnectionFinished()
> [/space/kde/installs/trunk/bin/nepomukservicestub] virtual
> Soprano::Server::ServerConnection::~ServerConnection() Removing connection
> [/space/kde/installs/trunk/bin/nepomukservicestub] void
> Soprano::Server::ServerCore::serverConnectionFinished() Connection removed.
> Current count: 13
>
> It seems that Soprano hangs up the connection after receiving the unknown
> 212 and then the feeder continues to try the same command.
>
> Is this a bug (which I will report) or a local/packaging error?  Does
> soprano even use numeric command codes?

I looked into this a bit yesterday and here are my findings:

1) After a clean restart of Nepomuk and the mail feeder everything works fine 
for 30-60 seconds. Every Soprano operation takes a few milliseconds and a 
whole bunch of emails are getting indexed during that phase. Akonadi and 
Nepomuk components use all available CPU at this point, which is perfectly 
fine and expected IMHO.

2) For no apparent reason closing the query result iterator in the feeder 
agent (kdepim/nepomuk_email_feeder/shared/nepomukfeederagentbase.cpp:441) 
suddenly takes 15 seconds. I followed this down to the 
Soprano::ODBC::QueryResult dtor.where it ends in raw ODBC commands:
  SQLCloseCursor( d->m_hstmt );
  SQLFreeHandle( SQL_HANDLE_STMT, d->m_hstmt );
All other Soprano operations behave like before, taking only a few 
milliseconds each. Virtuoso is basically the only thing using CPU at this 
point. Since it takes 15 seconds exactly all the time, I'd suspect this to be 
some kind of timeout.

3) If you leave it running further, you'll eventually end up in the state Will 
described. It does not seem to recover by itself from that.

regards
Volker
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 190 bytes
Desc: This is a digitally signed message part.
URL: <http://mail.kde.org/pipermail/kde-pim/attachments/20101219/140448ac/attachment.sig>
-------------- next part --------------
_______________________________________________
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