Bug 286953

Summary: Virtuoso fails to start if there exists a transaction log from an earlier version
Product: [Unmaintained] nepomuk Reporter: Will Stephenson <wstephenson>
Component: storageAssignee: Sebastian Trueg <sebastian>
Status: RESOLVED FIXED    
Severity: normal CC: kde, me, trueg
Priority: NOR    
Version: 4.7   
Target Milestone: ---   
Platform: Unlisted Binaries   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Will Stephenson 2011-11-18 18:59:21 UTC
Version:           unspecified (using KDE 4.7.2) 
OS:                Linux

Got this from a community member updating to openSUSE 12.1, with testing kde-runtime packages including your recent 4.7.3+ fixes.
"
trailing is the nepomuk server output, the important bit seems to be

[/usr/bin/nepomukservicestub] "10:33:20 The transaction log file has been
produced by server version '06.01.3126'. The version of this server is
'06.01.3127'. If the transaction log is empty or you do not want to replay it
then delete it and start the server again. Otherwise replay the log using the
server of version '06.01.3126' and make checkpoint and shutdown to ensure that
the log is empty, then delete it and start using new version.
"

does this mean it crashed once on 11.4 and now I can't use it on 12.1 unless I
remove that transaction log? would there be a way to export this message to the
user more easily?



here is the nepomukserveroutput

NepomukServer(8518)/nepomuk (server) Nepomuk::Server::enableNepomuk:
enableNepomuk true
NepomukServer(8518)/nepomuk (server)
Nepomuk::ServiceManager::Private::startService: "nepomukqueryservice"
NepomukServer(8518)/nepomuk (server)
Nepomuk::ServiceManager::Private::startService: Queueing "nepomukqueryservice"
due to dependency "nepomukstorage"
NepomukServer(8518)/nepomuk (server)
Nepomuk::ServiceManager::Private::startService: "nepomukstorage"
NepomukServer(8518)/nepomuk (server) Nepomuk::ServiceController::start:
Starting "nepomukstorage"
NepomukServer(8518)/nepomuk (server)
Nepomuk::ServiceManager::Private::startService: "digikamnepomukservice"
NepomukServer(8518)/nepomuk (server)
Nepomuk::ServiceManager::Private::startService: Queueing
"digikamnepomukservice" due to dependency "nepomukstorage"
NepomukServer(8518)/nepomuk (server)
Nepomuk::ServiceManager::Private::startService: "nepomukstorage"
NepomukServer(8518)/nepomuk (server)
Nepomuk::ServiceManager::Private::startService: "nepomukbackupsync"
NepomukServer(8518)/nepomuk (server)
Nepomuk::ServiceManager::Private::startService: Queueing "nepomukbackupsync"
due to dependency "nepomukstorage"
NepomukServer(8518)/nepomuk (server)
Nepomuk::ServiceManager::Private::startService: "nepomukfilewatch"
NepomukServer(8518)/nepomuk (server)
Nepomuk::ServiceManager::Private::startService: Queueing "nepomukfilewatch" due
to dependency "nepomukstorage"
karsten@linux-3gfr:~> NepomukServer(8518)/nepomuk (server)
Nepomuk::ServiceController::slotServiceRegistered:
"org.kde.nepomuk.services.nepomukstorage"
NepomukServer(8518)/nepomuk (server)
Nepomuk::ServiceController::createServiceControlInterface: Service
"nepomukstorage" not initialized yet. Listening for signal.
[/usr/bin/nepomukservicestub] Using Virtuoso Version: "6.1.3.3127-pthreads" 
Using Virtuoso Version: "6.1.3.3127-pthreads" 
nepomukstorage(8520)/nepomuk (storage service) Nepomuk::Repository::open:
opening repository ' "main" ' at '
"/home/karsten/.kde4/share/apps/nepomuk/repository/main/" '
void Soprano::VirtuosoController::writeConfigFile(const QString&, const
BackendSettings&) "/tmp/virtuoso_TT8520.ini" 
Starting Virtuoso server: "/usr/bin/virtuoso-t" ("+foreground", "+configfile",
"/tmp/virtuoso_TT8520.ini", "+wait")
[/usr/bin/nepomukservicestub] "
" 
"               Fri Nov 18 2011
"
[/usr/bin/nepomukservicestub] "10:33:19 OpenLink Virtuoso Universal Server
" 
"10:33:19 Version 06.01.3127-pthreads for Linux as of ??? ?? ????
" 
"10:33:19 uses parts of OpenSSL, PCRE, Html Tidy
"
[/usr/bin/nepomukservicestub] "10:33:19 Database version 3126
"
[/usr/bin/nepomukservicestub] "10:33:19 Entering Lite Mode
" 
"10:33:19 SQL Optimizer enabled (max 1000 layouts)
"
[/usr/bin/nepomukservicestub] "10:33:20 Compiler unit is timed at 0.000713 msec
"
[/usr/bin/nepomukservicestub] "10:33:20 Roll forward started
"
[/usr/bin/nepomukservicestub] "10:33:20 The transaction log file has been
produced by server version '06.01.3126'. The version of this server is
'06.01.3127'. If the transaction log is empty or you do not want to replay it
then delete it and start the server again. Otherwise replay the log using the
server of version '06.01.3126' and make checkpoint and shutdown to ensure that
the log is empty, then delete it and start using new version.
"
[/usr/bin/nepomukservicestub] "10:33:20 Server exiting
"
[/usr/bin/nepomukservicestub] Virtuoso server stopped: 3
[/usr/bin/nepomukservicestub] "/usr/bin/nepomukservicestub(8520)" Soprano:
"Failed to start Virtuoso"
[/usr/bin/nepomukservicestub] "/usr/bin/nepomukservicestub(8520)" Soprano:
"Failed to start Virtuoso"
[/usr/bin/nepomukservicestub] nepomukstorage(8520)/nepomuk (storage service)
Nepomuk::Repository::open: Unable to create model for repository "main"
[/usr/bin/nepomukservicestub] nepomukstorage(8520)/nepomuk (storage service)
Nepomuk::Storage::slotNepomukCoreInitialized: Failed to initialize nepomuk core
NepomukServer(8518)/nepomuk (server)
Nepomuk::ServiceController::slotServiceInitialized: Failed to initialize
service "nepomukstorage"
NepomukServer(8518)/nepomuk (server) Nepomuk::ServiceController::stop: Stopping
"nepomukstorage"
[/usr/bin/nepomukservicestub] nepomukstorage(8520)/nepomuk (storage service)
Nepomuk::Core::~Core: Shutting down Nepomuk storage core.
[/usr/bin/nepomukservicestub] nepomukstorage(8520)/nepomuk (storage service)
Nepomuk::Repository::~Repository: "main"
nepomukstorage(8520)/nepomuk (storage service) Nepomuk::Repository::close:
"main"
Application '/usr/bin/nepomukservicestub nepomukstorage' exited normally...
NepomukServer(8518)/nepomuk (server)
Nepomuk::ServiceController::slotProcessFinished: Service "nepomukstorage" went
down
NepomukServer(8518)/nepomuk (server)
Nepomuk::ServiceManager::Private::_k_serviceStopped: Service stopped:
"nepomukstorage"
"

Reproducible: Didn't try

Steps to Reproduce:
Login with existing nepomuk/ appdata

Actual Results:  
Starts

Expected Results:  
Doesn't start
Comment 1 Sebastian Trueg 2011-11-18 19:23:14 UTC
Indeed the server will not start if there is a log from another version. So in order to get this situation you need to kill KILL virtuoso, then update it, and then try to start Nepomuk again.
I already talked to OpenLink about some option to throw away old logs if not compatible but they did not like the idea. Thus, we need to create our own solution. I am not entirely sure yet how to do that though.
Comment 2 Vishesh Handa 2013-08-11 07:45:55 UTC
I'm marking this bug as FIXED. It is almost 2 years old and hopefully future versions of virtuoso have fixed this issue. Please feel free to reopen if you encounter this again.
Comment 3 David Edmundson 2013-09-26 00:56:36 UTC
This does not appear to be fixed in virtuoso.

Sequence of events today:
 - upgrade some stuff including virtuoso

 - reboot (probably uncleanly)

 - use Nepomuk - can't connect to server.

 - nepomukstorage says "Failed to start Virtuoso"

 - delete the soprano-virtuoso.trx  file

 - everything works!
Comment 4 Vishesh Handa 2013-09-26 10:39:41 UTC
Marking as FIXED. It's fixed in soprano master and 2.9 branch. I'll release 2.9.5 so that everyone else can update.