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

Sebastian Trüg trueg at kde.org
Wed Jan 19 17:41:16 CET 2011


Hi Will, Volker,

attached you will find a Soprano patch. This patch does not solve the
timeout problem (I do not understand that yet). But it works around the
problem of the invalid command. Soprano does not recover from the
timeout. Thus, this patch simply forces a reconnect.
Can you please test it and see if it works, ie. if it recovers from the
timeout?

Cheers,
Sebastian

On 12/19/2010 10:56 AM, Volker Krause wrote:
> 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
> 
> 
> 
> _______________________________________________
> Nepomuk mailing list
> Nepomuk at kde.org
> https://mail.kde.org/mailman/listinfo/nepomuk
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: 1.diff
Url: http://mail.kde.org/pipermail/nepomuk/attachments/20110119/4a80b4eb/attachment.bat 


More information about the Nepomuk mailing list