Bug 729991

Summary: nepomuk crashes with an migrated home from 11.4
Product: [openSUSE] openSUSE 12.1 Reporter: Forgotten User vXTZVacoSi <forgotten_vXTZVacoSi>
Component: KDE4 WorkspaceAssignee: Will Stephenson <wstephenson>
Status: RESOLVED WONTFIX QA Contact: E-mail List <qa-bugs>
Severity: Major    
Priority: P2 - High CC: wstephenson
Version: Final   
Target Milestone: ---   
Hardware: x86-64   
OS: Other   
URL: https://bugs.kde.org/show_bug.cgi?id=286953
Whiteboard:
Found By: --- Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---

Description Forgotten User vXTZVacoSi 2011-11-11 22:28:16 UTC
User-Agent:       Mozilla/5.0 (X11; Linux x86_64; rv:7.0.1) Gecko/20100101 Firefox/7.0.1

I copied my /home over to see how kde4.7 migration works

Starting nepomuk crashes with the following bugtrace

Application: Nepomuk-Dienst (nepomukservicestub), signal: Segmentation fault
[Current thread is 1 (Thread 0x7fed21992760 (LWP 8775))]

Thread 2 (Thread 0x7fed0e01b700 (LWP 8776)):
#0  0x00007fed1edf3c33 in select () from /lib64/libc.so.6
#1  0x00007fed214564a1 in QProcessManager::run (this=0x7fed217a4f80) at io/qprocess_unix.cpp:245
#2  0x00007fed2138e025 in QThreadPrivate::start (arg=0x7fed217a4f80) at thread/qthread_unix.cpp:331
#3  0x00007fed210fdf05 in start_thread () from /lib64/libpthread.so.0
#4  0x00007fed1edfa53d in clone () from /lib64/libc.so.6

Thread 1 (Thread 0x7fed21992760 (LWP 8775)):
[KCrash Handler]
#6  0x00007fed12aacfda in Nepomuk::Repository::close (this=0x823a70) at /usr/src/debug/kde-runtime-4.7.2/nepomuk/services/storage/repository.cpp:96
#7  0x00007fed12aad0fc in Nepomuk::Repository::~Repository (this=0x823a70, __in_chrg=<optimized out>) at /usr/src/debug/kde-runtime-4.7.2/nepomuk/services/storage/repository.cpp:78
#8  0x00007fed12aad1d9 in Nepomuk::Repository::~Repository (this=0x823a70, __in_chrg=<optimized out>) at /usr/src/debug/kde-runtime-4.7.2/nepomuk/services/storage/repository.cpp:79
#9  0x00007fed1286f8a7 in qDeleteAll<QHash<QString, Soprano::Model*>::const_iterator> (end=<optimized out>, begin=<optimized out>) at /usr/include/QtCore/qalgorithms.h:322
#10 qDeleteAll<QHash<QString, Soprano::Model*> > (c=...) at /usr/include/QtCore/qalgorithms.h:330
#11 Soprano::Server::ServerCore::~ServerCore (this=0x821ef0, __in_chrg=<optimized out>) at /usr/src/debug/soprano-2.7.2/server/servercore.cpp:77
#12 0x00007fed12aabdfc in Nepomuk::Core::~Core (this=0x821ef0, __in_chrg=<optimized out>) at /usr/src/debug/kde-runtime-4.7.2/nepomuk/services/storage/nepomukcore.cpp:45
#13 0x00007fed12aabea9 in Nepomuk::Core::~Core (this=0x821ef0, __in_chrg=<optimized out>) at /usr/src/debug/kde-runtime-4.7.2/nepomuk/services/storage/nepomukcore.cpp:48
#14 0x00007fed21486455 in QObjectPrivate::deleteChildren (this=0x7f55e0) at kernel/qobject.cpp:1964
#15 0x00007fed2148b9f9 in QObject::~QObject (this=0x822330, __in_chrg=<optimized out>) at kernel/qobject.cpp:946
#16 0x00007fed12aab113 in ~Storage (this=0x822330, __in_chrg=<optimized out>) at /usr/src/debug/kde-runtime-4.7.2/nepomuk/services/storage/storage.cpp:54
#17 Nepomuk::Storage::~Storage (this=0x822330, __in_chrg=<optimized out>) at /usr/src/debug/kde-runtime-4.7.2/nepomuk/services/storage/storage.cpp:56
#18 0x00007fed21486455 in QObjectPrivate::deleteChildren (this=0x81b220) at kernel/qobject.cpp:1964
#19 0x00007fed2148b9f9 in QObject::~QObject (this=0x81d090, __in_chrg=<optimized out>) at kernel/qobject.cpp:946
#20 0x00000000004047f9 in Nepomuk::ServiceControl::~ServiceControl (this=0x81d090, __in_chrg=<optimized out>) at /usr/src/debug/kde-runtime-4.7.2/nepomuk/servicestub/servicecontrol.cpp:39
#21 0x00007fed21486455 in QObjectPrivate::deleteChildren (this=0x62c850) at kernel/qobject.cpp:1964
#22 0x00007fed2148b9f9 in QObject::~QObject (this=0x7fff17c8e700, __in_chrg=<optimized out>) at kernel/qobject.cpp:946
#23 0x00007fed1f5946e9 in QApplication::~QApplication() () from /usr/lib64/libQtGui.so.4
#24 0x0000000000403e14 in main (argc=2, argv=0x7fff17c8eba8) at /usr/src/debug/kde-runtime-4.7.2/nepomuk/servicestub/main.cpp:105


this seems related to
https://bugs.kde.org/show_bug.cgi?id=285789
and
https://bugs.kde.org/show_bug.cgi?id=283604

some bugs mention
#9  0x00007fed1286f8a7 in qDeleteAll<QHash<QString, Soprano::Model*>::const_iterator> (end=<optimized out>, begin=<optimized out>) at /usr/include/QtCore/qalgorithms.h:322 is not in the bugreport

but not all do, it's in my trace as well, maybe it's a seperate issue or result from the fix

changelog of installed kdebase4-runtime


Di 25 Okt 2011 14:00:00 CEST
wstephenson@suse.com
- Cherrypicked patches from 4.7 branch for Nepomuk
  - React if the Virtuoso server exits unexpectedly, don't spam to
    stderr (bko#263730
  - Fix crash in NepomukServiceStub when indexing removable media
    (bko#284602)
  - Fix queries of files on removable media (bko#284529)
  - Improve reliability of Nepomuk start after crash (bko#263730)
  - Fix memory leak of dbus events (bko#226676)
  - Improve reliability of reindexing changed files
So 23 Okt 2011 14:00:00 CEST
coolo@suse.com
- avoid a cycle by buildignoring ourselves, kdelibs4 does not
  really require it for buildtime
Mi 19 Okt 2011 14:00:00 CEST
wstephenson@suse.com
- Add 4.7 branch diff


Reproducible: Always

Steps to Reproduce:
1.
2.
3.
Comment 1 Will Stephenson 2011-11-14 12:19:27 UTC
Test update including the patch from 286789 is building in KDE:Distro:Stable - please look for kdebase4-runtime with top changelog entry:

- Test patch from 4.7 branch for Nepomuk
  - nepomuk storage service crashes on first run after upgrade
    (bnc#729991,kde#285789)
Comment 2 Forgotten User vXTZVacoSi 2011-11-18 07:12:37 UTC
built locally and installed kdebase4-runtime, changelog entry is there, nepomuk doesn't crash anymore (no drkonqi) but a message is telling me the nepomuk indexing service has been switched off

karsten@linux-3gfr:~> ps aux | grep nepomuk
karsten   2999  0.0  0.2 272952 22328 ?        Sl   08:03   0:00 /usr/bin/akonadi_nepomuk_calendar_feeder --identifier akonadi_nepomuk_calendar_feeder
karsten   3000  0.0  0.2 270260 22188 ?        Sl   08:03   0:00 /usr/bin/akonadi_nepomuk_contact_feeder --identifier akonadi_nepomuk_contact_feeder
karsten   3001  0.0  0.4 436240 34412 ?        Sl   08:03   0:00 /usr/bin/akonadi_nepomuk_email_feeder --identifier akonadi_nepomuk_email_feeder
karsten   3052  0.0  0.1 142484  9304 ?        Sl   08:03   0:00 /usr/bin/nepomukserver
karsten   3115  0.0  0.1 242460 15768 ?        S    08:04   0:00 /usr/bin/nepomukcontroller
karsten   4146  0.0  0.0  10112   996 pts/2    S+   08:10   0:00 grep --color=auto nepomuk

Is there anything else I can provide? the error message is not very helpful :-(
Comment 3 Will Stephenson 2011-11-18 08:16:48 UTC
Silly question, but you did re-login didn't you?  Otherwise the nepomuk storage service, provided by nepomukservicestub, from before would have stayed crashed.

Assuming you did relogin, could you enabled debug with kdebugdialog, kill all nepomuk* process - the akonadi_nep* ones don't matter - and run nepomukserver in a console.  It will spew debug, which i'm interested to take a look at.
Comment 4 Forgotten User vXTZVacoSi 2011-11-18 09:36:56 UTC
yup did relogin

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"
Comment 5 Forgotten User vXTZVacoSi 2011-11-18 09:37:12 UTC
clean needinfo flag
Comment 6 Will Stephenson 2011-11-18 19:00:06 UTC
Yes, I agree with your analysis.  Please don't delete .kde4/share/apps/nepomuk, if you need it to start, move it aside.  We'll keep it for upstream forensics.

Upstreamed as
https://bugs.kde.org/show_bug.cgi?id=286953

I'll keep this open as I would like to do an online update including the fix when it is available.
Comment 7 Will Stephenson 2015-09-11 10:20:08 UTC
Mass closing extant bug reports for old openSUSE versions.
Comment 8 Will Stephenson 2015-09-11 10:21:32 UTC
Mass-closing all my openSUSE bug reports for old openSUSE version.