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

Sebastian Trüg trueg at kde.org
Wed Dec 8 09:11:53 CET 2010


On 12/07/2010 05:10 PM, 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."

Hm here we should try to find out what kind of commands get the timeout.

> * 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::ServerConnection*) 
> 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?

Soprano does indeed use numeric command codes but they end at 0x22 (34)
(I just realized how pointless my use of 0x is).
I suspect that the wrong code comes from the timeout which leaves one
communication end in an invalid state. As such, this is a Soprano bug
which does not recover from a timeout properly.

Since I am not sure on how to fix that the better approach would be to
find the problematic command which times out.

Cheers,
Sebastian


More information about the Nepomuk mailing list