[Nepomuk] Problems with nepomuk server

George Goldberg grundleborg at googlemail.com
Wed Aug 25 14:45:44 CEST 2010


Hi,

I'm having some problems with recent Nepomuk trunk. The context: I'm
writing unit-tests for an application which uses Nepomuk, and in order
for these to work, I need a sandboxed Nepomuk environment so as not to
mess up the user's Nepomuk environment. The method I will outline
below was working fine on my computer using KDE from around the 4.5
beta times, but when I upgraded on Monday it no longer works. The most
obvious change I can see that has happened since then is the ontology
loader has been merged into the storage service, so my issues might be
related to that.

The testcases are run via a script which sets up a private dbus
session bus so as not to interfere with the normal one. Then the
following script (extract) is used to setup a sandboxed nepomuk
session [1].

The output of starting nepomukserver is also below [2].

What happens is that I can create a nepomuk resource in code (e.g.
Nepomuk::Resource res("nepomuk:/foo"); res.addType(PIMO::Person());)
and this will successfully create the PIMO:Person in the nepomuk
store. However, when I use queryserviceclient to query for all
PIMO:Persons, it does not ever signal any results. Running the
queryservice query returns true, so I know that the queryservice is
definitely running. Also, the exact same query seems to work fine on
my normal nepomuk DB (not the sandboxed one).

Two things I notice in the debug output of the sandboxed nepomukserver
that I can not explain, so might be relevant are:

1) It starts virtuoso-t instance, then it starts another second
virtuoso-t instance, which is quickly terminated.
2) There are a lot of the following lines:
2: [/opt/kde/bin/nepomukservicestub]
"/opt/kde/bin/nepomukservicestub(27688)" Soprano: "SQLGetData for data
lenght failed (iODBC Error: [iODBC][Driver Manager]Invalid cursor
state)"

Any ideas as to what might be going wrong would be much appreciated.
Also shout if you need any other info. (I'm also on IRC, as
grundleborg in #nepomuk-kde).

George

-------------------------------------------------------------------------------------

[1] Start sandboxed nepomuk session:

kbuildsycoca4 2> /dev/null
kdeinit4 2> /dev/null
qdbus org.kde.kded /kded org.kde.kded.loadSecondPhase > /dev/null

nepomukserver #2> /dev/null

while [ ! `qdbus org.kde.NepomukStorage /servicecontrol
org.kde.nepomuk.ServiceControl.isInitialized 2> /dev/null` ]
do
  sleep 1
done

while [ false = `qdbus org.kde.NepomukStorage /servicecontrol
org.kde.nepomuk.ServiceControl.isInitialized 2> /dev/null` ]
do
  sleep 1
done

# now run the unit tests

------------------------------------------------------------------------------------

[2] nepomukserver debug output (in sandbox) (also available here:
http://pastebin.com/hnL2v4yz ).

2: Test command: /bin/sh
/home/gberg/development/build/work/collabora/libktelepathy/KTelepathy-testenv/runNepomukTest.sh
/home/gberg/development/build/work/collabora/libktelepathy/tests/everyone-person-set-test
2: Test timeout computed to be: 9.99988e+06
2: Temporary bus daemon is
unix:abstract=/tmp/dbus-OXum3Ggnjn,guid=832cef2cbbf5b8e4753c436f00004c81
2: Temporary bus daemon PID is 27490
2: Starting new KDE session in /tmp/kde_test_home_17...
2: Starting nepomukserver
2: Waiting for nepomuk storage service to be initialized (this may
take some time)...
2: [/opt/kde/bin/nepomukservicestub] Using Virtuoso Version:
"6.1.1.3127-pthreads"
2: Using Virtuoso Version: "6.1.1.3127-pthreads"
2: void Soprano::VirtuosoController::writeConfigFile(const QString&,
const Soprano::BackendSettings&) "/tmp/virtuoso_h27639.ini"
2: Starting Virtuoso server: "/usr/bin/virtuoso-t" ("+foreground",
"+configfile", "/tmp/virtuoso_h27639.ini", "+wait")
2: [/opt/kde/bin/nepomukservicestub] "
2: "
2: "            Mon Aug 23 2010
2: "
2: "21:25:38 OpenLink Virtuoso Universal Server
2: "
2: "21:25:38 Version 06.01.3127-pthreads for Linux as of Apr  4 2010
2: "
2: "21:25:38 uses parts of OpenSSL, PCRE, Html Tidy
2: "
2: [/opt/kde/bin/nepomukservicestub] "21:25:38 Entering Lite Mode
2: "
2: [/opt/kde/bin/nepomukservicestub] "21:25:38 SQL Optimizer enabled
(max 1000 layouts)
2: "
2: [/opt/kde/bin/nepomukservicestub] "21:25:38 Compiler unit is timed
at 0.005476 msec
2: "
2: [/opt/kde/bin/nepomukservicestub] "21:25:39 Checkpoint started
2: "
2: [/opt/kde/bin/nepomukservicestub] "21:25:39 Roll forward started
2: "
2: [/opt/kde/bin/nepomukservicestub] "21:25:39 Roll forward complete
2: "
2: [/opt/kde/bin/nepomukservicestub] "21:25:39 Checkpoint started
2: "
2: [/opt/kde/bin/nepomukservicestub] "21:25:40 Checkpoint finished, log reused
2: "
2: [/opt/kde/bin/nepomukservicestub] "21:25:40 Checkpoint started
2: "
2: [/opt/kde/bin/nepomukservicestub] "21:25:40 Checkpoint finished, log reused
2: "
2: [/opt/kde/bin/nepomukservicestub] "21:25:42 Server online at 1112 (pid 27645)
2: "
2: [/opt/kde/bin/nepomukservicestub] Virtuoso started: 27645
2: [/opt/kde/bin/nepomukservicestub]
Soprano::ODBC::ConnectionPool::ConnectionPool(const QString&,
QObject*) "host=localhost:1112;uid=dba;pwd=dba;driver=/usr/lib/odbc/virtodbc_r.so"
2: [/opt/kde/bin/nepomukservicestub]
Soprano::ODBC::Connection::Connection() QThread(0x942b10)
2: [/opt/kde/bin/nepomukservicestub] virtual
Soprano::ODBC::Connection::~Connection() QThread(0x942b10)
2: [/opt/kde/bin/nepomukservicestub] void
Soprano::VirtuosoController::writeConfigFile(const QString&, const
Soprano::BackendSettings&) "/tmp/virtuoso_L27639.ini"
2: [/opt/kde/bin/nepomukservicestub] Starting Virtuoso server:
"/usr/bin/virtuoso-t" ("+foreground", "+configfile",
"/tmp/virtuoso_L27639.ini", "+wait")
2: [/opt/kde/bin/nepomukservicestub] "
2: "
2: [/opt/kde/bin/nepomukservicestub] "          Mon Aug 23 2010
2: "
2: [/opt/kde/bin/nepomukservicestub] "21:25:42 OpenLink Virtuoso
Universal Server
2: "
2: [/opt/kde/bin/nepomukservicestub] "21:25:42 Version
06.01.3127-pthreads for Linux as of Apr  4 2010
2: "
2: [/opt/kde/bin/nepomukservicestub] "21:25:42 uses parts of OpenSSL,
PCRE, Html Tidy
2: "
2: [/opt/kde/bin/nepomukservicestub] "21:25:42 Entering Lite Mode
2: "
2: [/opt/kde/bin/nepomukservicestub] "21:25:42 SQL Optimizer enabled
(max 1000 layouts)
2: "
2: [/opt/kde/bin/nepomukservicestub] "21:25:43 Compiler unit is timed
at 0.005476 msec
2: "
2: [/opt/kde/bin/nepomukservicestub] "21:25:44 Checkpoint started
2: "
2: [/opt/kde/bin/nepomukservicestub] "21:25:44 Roll forward started
2: "
2: [/opt/kde/bin/nepomukservicestub] "21:25:44 Roll forward complete
2: "
2: [/opt/kde/bin/nepomukservicestub] "21:25:44 Checkpoint started
2: "
2: [/opt/kde/bin/nepomukservicestub] "21:25:44 Checkpoint finished, log reused
2: "
2: [/opt/kde/bin/nepomukservicestub] "21:25:45 Checkpoint started
2: "
2: [/opt/kde/bin/nepomukservicestub] "21:25:45 Checkpoint finished, log reused
2: "
2: [/opt/kde/bin/nepomukservicestub] "21:25:45 Server online at 1113 (pid 27658)
2: "
2: [/opt/kde/bin/nepomukservicestub] Virtuoso started: 27658
2: [/opt/kde/bin/nepomukservicestub]
Soprano::ODBC::ConnectionPool::ConnectionPool(const QString&,
QObject*) "host=localhost:1113;uid=dba;pwd=dba;driver=/usr/lib/odbc/virtodbc_r.so"
2: [/opt/kde/bin/nepomukservicestub]
Soprano::ODBC::Connection::Connection() QThread(0x942b10)
2: [/opt/kde/bin/nepomukservicestub] virtual
Soprano::ODBC::Connection::~Connection() QThread(0x942b10)
2: [/opt/kde/bin/nepomukservicestub]
Soprano::ODBC::Connection::Connection() QThread(0x942b10)
2: [/opt/kde/bin/nepomukservicestub] virtual
Soprano::ODBC::Connection::~Connection() QThread(0x942b10)
2: [/opt/kde/bin/nepomukservicestub] Shutting down virtuoso instance 27658
2: [/opt/kde/bin/nepomukservicestub] Virtuoso server stopped: 0
2: [/opt/kde/bin/nepomukservicestub]
Soprano::ODBC::Connection::Connection() QThread(0x942b10)
2: (Soprano::Redland::BackendPlugin) creating model of type "hashes"
with options "hash-type='memory',contexts='yes'"
2: (Soprano::Redland::BackendPlugin) creating model of type "hashes"
with options "hash-type='memory',contexts='yes'"
2: [/opt/kde/bin/nepomukservicestub] (Soprano::Redland::BackendPlugin)
creating model of type "hashes" with options
"hash-type='memory',contexts='yes'"
2: [/opt/kde/bin/nepomukservicestub] (Soprano::Redland::BackendPlugin)
creating model of type "hashes" with options
"hash-type='memory',contexts='yes'"
2: [/opt/kde/bin/nepomukservicestub] (Soprano::Redland::BackendPlugin)
creating model of type "hashes" with options
"hash-type='memory',contexts='yes'"
2: [/opt/kde/bin/nepomukservicestub] (Soprano::Redland::BackendPlugin)
creating model of type "hashes" with options
"hash-type='memory',contexts='yes'"
2: [/opt/kde/bin/nepomukservicestub] (Soprano::Redland::BackendPlugin)
creating model of type "hashes" with options
"hash-type='memory',contexts='yes'"
2: [/opt/kde/bin/nepomukservicestub] (Soprano::Redland::BackendPlugin)
creating model of type "hashes" with options
"hash-type='memory',contexts='yes'"
2: [/opt/kde/bin/nepomukservicestub] (Soprano::Redland::BackendPlugin)
creating model of type "hashes" with options
"hash-type='memory',contexts='yes'"
2: [/opt/kde/bin/nepomukservicestub] (Soprano::Redland::BackendPlugin)
creating model of type "hashes" with options
"hash-type='memory',contexts='yes'"
2: [/opt/kde/bin/nepomukservicestub] (Soprano::Redland::BackendPlugin)
creating model of type "hashes" with options
"hash-type='memory',contexts='yes'"
2: [/opt/kde/bin/nepomukservicestub] (Soprano::Redland::BackendPlugin)
creating model of type "hashes" with options
"hash-type='memory',contexts='yes'"
2: [/opt/kde/bin/nepomukservicestub] (Soprano::Redland::BackendPlugin)
creating model of type "hashes" with options
"hash-type='memory',contexts='yes'"
2: [/opt/kde/bin/nepomukservicestub] (Soprano::Redland::BackendPlugin)
creating model of type "hashes" with options
"hash-type='memory',contexts='yes'"
2: [/opt/kde/bin/nepomukservicestub] (Soprano::Redland::BackendPlugin)
creating model of type "hashes" with options
"hash-type='memory',contexts='yes'"
2: [/opt/kde/bin/nepomukservicestub] (Soprano::Redland::BackendPlugin)
creating model of type "hashes" with options
"hash-type='memory',contexts='yes'"
2: [/opt/kde/bin/nepomukservicestub] (Soprano::Redland::BackendPlugin)
creating model of type "hashes" with options
"hash-type='memory',contexts='yes'"
2: [/opt/kde/bin/nepomukservicestub] (Soprano::Redland::BackendPlugin)
creating model of type "hashes" with options
"hash-type='memory',contexts='yes'"
2: [/opt/kde/bin/nepomukservicestub] (Soprano::Redland::BackendPlugin)
creating model of type "hashes" with options
"hash-type='memory',contexts='yes'"
2: [/opt/kde/bin/nepomukservicestub] (Soprano::Redland::BackendPlugin)
creating model of type "hashes" with options
"hash-type='memory',contexts='yes'"
2: [/opt/kde/bin/nepomukservicestub] (Soprano::Redland::BackendPlugin)
creating model of type "hashes" with options
"hash-type='memory',contexts='yes'"
2: [/opt/kde/bin/nepomukservicestub] (Soprano::Redland::BackendPlugin)
creating model of type "hashes" with options
"hash-type='memory',contexts='yes'"
2: Waiting for nepomuk query service to be initialized...
2: Starting test case...
2: [/opt/kde/bin/nepomukservicestub] QObject::setParent: Cannot set
parent, new parent is in a different thread
2: (27694) <unnamed>::GlobalModelContainer::init: Connecting to local
socket "/tmp/kde_test_home_17/share/apps/nepomuk/socket"
2: [/opt/kde/bin/nepomukservicestub] virtual void
Soprano::Server::LocalServer::incomingConnection(quintptr)
2: [/opt/kde/bin/nepomukservicestub] void
Soprano::Server::ServerCorePrivate::addConnection(Soprano::Server::ServerConnection*)
New connection. New count: 1
2: ********* Start testing of EveryonePersonSetTest *********
2: Config: Using QTest library 4.6.3, Qt 4.6.3
2: PASS   : EveryonePersonSetTest::initTestCase()
2: QDEBUG : EveryonePersonSetTest::testAddRemove() (27694)
EveryonePersonSetTest::testAddRemove:
2: [/opt/kde/bin/nepomukservicestub]
Soprano::ODBC::Connection::Connection()
Soprano::Server::ServerConnection(0xb4f590)
2: QDEBUG : EveryonePersonSetTest::testAddRemove() (27694)
KTelepathy::PeopleManager::PeopleManager:
2: QDEBUG : EveryonePersonSetTest::testAddRemove() (27694)
KTelepathy::PeopleManager::everyone:
2: QDEBUG : EveryonePersonSetTest::testAddRemove() (27694)
KTelepathy::PersonSet::PersonSet:
2: QDEBUG : EveryonePersonSetTest::testAddRemove() (27694)
KTelepathy::EveryonePersonSet::EveryonePersonSet:
2: [/opt/kde/bin/nepomukservicestub] virtual void
Soprano::Server::LocalServer::incomingConnection(quintptr)
2: [/opt/kde/bin/nepomukservicestub] void
Soprano::Server::ServerCorePrivate::addConnection(Soprano::Server::ServerConnection*)
New connection. New count: 2
2: QDEBUG : EveryonePersonSetTest::testAddRemove() (27694)
KTelepathy::EveryonePersonSet::EveryonePersonSet: Metacontact query
result  true
2: [/opt/kde/bin/nepomukservicestub] virtual void
Soprano::Server::LocalServer::incomingConnection(quintptr)
2: [/opt/kde/bin/nepomukservicestub] void
Soprano::Server::ServerCorePrivate::addConnection(Soprano::Server::ServerConnection*)
New connection. New count: 3
2: [/opt/kde/bin/nepomukservicestub] virtual void
Soprano::Server::LocalServer::incomingConnection(quintptr)
2: [/opt/kde/bin/nepomukservicestub] void
Soprano::Server::ServerCorePrivate::addConnection(Soprano::Server::ServerConnection*)
New connection. New count: 4
2: [/opt/kde/bin/nepomukservicestub]
Soprano::ODBC::Connection::Connection()
Soprano::Server::ServerConnection(0xbfaa50)
2: [/opt/kde/bin/nepomukservicestub]
Soprano::ODBC::Connection::Connection()
Soprano::Server::ServerConnection(0xe6fa60)
2: [/opt/kde/bin/nepomukservicestub] virtual void
Soprano::Server::ServerConnection::run() thread done.
2: virtual Soprano::ODBC::Connection::~Connection()
Soprano::Server::ServerConnection(0xbfaa50)
2: [/opt/kde/bin/nepomukservicestub] void
Soprano::Server::ServerCore::serverConnectionFinished()
2: [/opt/kde/bin/nepomukservicestub] virtual
Soprano::Server::ServerConnection::~ServerConnection() Removing
connection
2: [/opt/kde/bin/nepomukservicestub] void
Soprano::Server::ServerCore::serverConnectionFinished() Connection
removed. Current count: 3
2: [/opt/kde/bin/nepomukservicestub]
"/opt/kde/bin/nepomukservicestub(27639)" Soprano: "SQLGetData for data
lenght failed (iODBC Error: [iODBC][Driver Manager]Invalid cursor
state)"
2: [/opt/kde/bin/nepomukservicestub]
"/opt/kde/bin/nepomukservicestub(27639)" Soprano: "SQLGetData for data
lenght failed (iODBC Error: [iODBC][Driver Manager]Invalid cursor
state)"
2: [/opt/kde/bin/nepomukservicestub]
"/opt/kde/bin/nepomukservicestub(27639)" Soprano: "SQLGetData for data
lenght failed (iODBC Error: [iODBC][Driver Manager]Invalid cursor
state)"
2: [/opt/kde/bin/nepomukservicestub]
"/opt/kde/bin/nepomukservicestub(27688)" Soprano: "SQLGetData for data
lenght failed (iODBC Error: [iODBC][Driver Manager]Invalid cursor
state)"
2: [/opt/kde/bin/nepomukservicestub]
"/opt/kde/bin/nepomukservicestub(27688)" Soprano: "SQLGetData for data
lenght failed (iODBC Error: [iODBC][Driver Manager]Invalid cursor
state)"
2: [/opt/kde/bin/nepomukservicestub] virtual void
Soprano::Server::LocalServer::incomingConnection(quintptr)
2: [/opt/kde/bin/nepomukservicestub] void
Soprano::Server::ServerCorePrivate::addConnection(Soprano::Server::ServerConnection*)
New connection. New count: 4
2: [/opt/kde/bin/nepomukservicestub] virtual void
Soprano::Server::LocalServer::incomingConnection(quintptr)
2: [/opt/kde/bin/nepomukservicestub] void
Soprano::Server::ServerCorePrivate::addConnection(Soprano::Server::ServerConnection*)
New connection. New count: 5
2: [/opt/kde/bin/nepomukservicestub]
Soprano::ODBC::Connection::Connection()
Soprano::Server::ServerConnection(0xe274a0)
2: [/opt/kde/bin/nepomukservicestub]
Soprano::ODBC::Connection::Connection()
Soprano::Server::ServerConnection(0xcd9bb0)
2: [/opt/kde/bin/nepomukservicestub]
"/opt/kde/bin/nepomukservicestub(27639)" Soprano: "SQLGetData for data
lenght failed (iODBC Error: [iODBC][Driver Manager]Invalid cursor
state)"
2: [/opt/kde/bin/nepomukservicestub]
"/opt/kde/bin/nepomukservicestub(27639)" Soprano: "SQLGetData for data
lenght failed (iODBC Error: [iODBC][Driver Manager]Invalid cursor
state)"
2: "/opt/kde/bin/nepomukservicestub(27639)" Soprano: "SQLGetData for
data lenght failed (iODBC Error: [iODBC][Driver Manager]Invalid cursor
state)"
2: [/opt/kde/bin/nepomukservicestub]
"/opt/kde/bin/nepomukservicestub(27688)" Soprano: "SQLGetData for data
lenght failed (iODBC Error: [iODBC][Driver Manager]Invalid cursor
state)"
2: [/opt/kde/bin/nepomukservicestub]
"/opt/kde/bin/nepomukservicestub(27688)" Soprano: "SQLGetData for data
lenght failed (iODBC Error: [iODBC][Driver Manager]Invalid cursor
state)"
2: [/opt/kde/bin/nepomukservicestub] virtual void
Soprano::Server::ServerConnection::run() thread done.
2: [/opt/kde/bin/nepomukservicestub] virtual
Soprano::ODBC::Connection::~Connection()
Soprano::Server::ServerConnection(0xcd9bb0)
2: [/opt/kde/bin/nepomukservicestub] void
Soprano::Server::ServerCore::serverConnectionFinished()
2: virtual Soprano::Server::ServerConnection::~ServerConnection()
Removing connection
2: [/opt/kde/bin/nepomukservicestub] void
Soprano::Server::ServerCore::serverConnectionFinished() Connection
removed. Current count: 4


More information about the Nepomuk mailing list