Version: (using KDE 4.4.1) OS: Linux Installed from: Ubuntu Packages I get this crash at almost every start of KDE. I'm using Soprano 2.4.0.1 and the Virtuoso 6.1. It's also been reported at https://launchpad.net/bugs/517962 . Thread 1 (process 20586): #0 Soprano::Plugin::pluginName (this=0x0) at ../../soprano/plugin.cpp:47 No locals. #1 0x00007f0b1aa3e5fd in Nepomuk::Repository::usedSopranoBackend ( this=<value optimized out>) at ../../../../nepomuk/services/storage/repository.cpp:308 No locals. #2 0x00007f0b1aa3c85e in Nepomuk::Storage::usedSopranoBackend ( this=0x1b22340) at ../../../../nepomuk/services/storage/storage.cpp:79 No locals. #3 0x00007f0b1aa3cc4f in Nepomuk::Storage::qt_metacall (this=0x1b22340, _c=QMetaObject::InvokeMetaMethod, _id=28458208, _a=0x7fff4fc53010) at ./storage.moc:78 _r = {static null = {<No data fields>}, static shared_null = {ref = { _q_value = 2819}, alloc = 0, size = 0, data = 0x7f0b262cb87a, clean = 0, simpletext = 0, righttoleft = 0, asciiCache = 0, capacity = 0, reserved = 0, array = {0}}, static shared_empty = {ref = {_q_value = 44}, alloc = 0, size = 0, data = 0x7f0b262cb89a, clean = 0, simpletext = 0, righttoleft = 0, asciiCache = 0, capacity = 0, reserved = 0, array = { 0}}, d = 0x1aa0c20, static codecForCStrings = 0x0} #4 0x00007f0b259d8856 in QDBusConnectionPrivate::deliverCall ( this=<value optimized out>, object=<value optimized out>, msg=<value optimized out>, metaTypes=@0x7fff4fc53108, slotIdx=<value optimized out>) at qdbusintegrator.cpp:904 context = {connection = {static staticMetaObject = {d = { superdata = 0x0, stringdata = 0x7f0b25a19540 "QDBusConnection", data = 0x7f0b25a19720, extradata = 0x0}}, d = 0x1a98e90}, message = @0x1aa0b80} old = (QDBusContextPrivate *) 0x0 ptr = {o = 0x1b22340} params = {a = 10, s = 1, ptr = 0x7fff4fc53010, { array = "\000 �\001", '\0' <repeats 12 times>, "�\000��\177\000\000\200\r�\001\000\000\000\000�\221�\001\000\000\000\0006y�77\000\000\200\r�\001\000\000\000\000�1��\177\000\000�\221�\001\000\000\000\000}�$\v\177\000\000�\221�\001\000\000\000", q_for_alignment_1 = 29040640, q_for_alignment_2 = 1.4347982557243138e-316}} i = <value optimized out> outputArgs = {{p = {static shared_null = {ref = {_q_value = 506}, alloc = 0, begin = 0, end = 0, sharable = 1, array = {0x0}}, d = 0x1a42cc0}, d = 0x1a42cc0}} fail = true auxParameters = {{p = {static shared_null = {ref = {_q_value = 506}, alloc = 0, begin = 0, end = 0, sharable = 1, array = {0x0}}, d = 0x606400}, d = 0x606400}} pCount = 0 #5 0x00007f0b259d9b5f in QDBusConnectionPrivate::activateCall ( this=<value optimized out>, object=0x1b22340, flags=81, msg=@0x1aa0b80) at qdbusintegrator.cpp:809 mo = (const QMetaObject *) 0x7f0b0bb07884 memberName = {static shared_null = {ref = {_q_value = 1829}, alloc = 0, size = 0, data = 0x6063f8 "", array = ""}, static shared_empty = {ref = {_q_value = 21}, alloc = 0, size = 0, data = 0x7f0b262cb758 "", array = ""}, d = 0x1a422b0} slotData = {flags = 81, slotIdx = 4, metaTypes = {{p = { static shared_null = {ref = {_q_value = 506}, alloc = 0, begin = 0, end = 0, sharable = 1, array = {0x0}}, d = 0x1a422f0}, d = 0x1a422f0}}} cachePropertyName = "_qdbus_slotCache" slotCache = {hash = {<QHash<QString, QDBusSlotCache::Data>> = {{ d = 0x1b07660, e = 0x1b07660}}, <No data fields>}} cacheKey = {static null = {<No data fields>}, static shared_null = { ref = {_q_value = 2819}, alloc = 0, size = 0, data = 0x7f0b262cb87a, clean = 0, simpletext = 0, righttoleft = 0, asciiCache = 0, capacity = 0, reserved = 0, array = {0}}, static shared_empty = {ref = {_q_value = 44}, alloc = 0, size = 0, data = 0x7f0b262cb89a, clean = 0, simpletext = 0, righttoleft = 0, asciiCache = 0, capacity = 0, reserved = 0, array = { 0}}, d = 0x1bd0d30, static codecForCStrings = 0x0} signature = {static null = {<No data fields>}, static shared_null = { ref = {_q_value = 2819}, alloc = 0, size = 0, data = 0x7f0b262cb87a, clean = 0, simpletext = 0, righttoleft = 0, asciiCache = 0, capacity = 0, reserved = 0, array = {0}}, static shared_empty = {ref = {_q_value = 44}, alloc = 0, size = 0, data = 0x7f0b262cb89a, clean = 0, simpletext = 0, righttoleft = 0, asciiCache = 0, capacity = 0, reserved = 0, array = { 0}}, d = 0x7f0b262cb880, static codecForCStrings = 0x0} #6 0x00007f0b259da37e in QDBusConnectionPrivate::activateObject ( this=<value optimized out>, node=<value optimized out>, msg=@0x1aa0b80, pathStartPos=<value optimized out>) at qdbusintegrator.cpp:1383 interfaceFound = 176 connector = (class QDBusAdaptorConnector *) 0x1b24870 #7 0x00007f0b259da8d8 in QDBusActivateObjectEvent::placeMetaCall ( this=0x1aa0b10) at qdbusintegrator.cpp:1477 No locals. #8 0x00007f0b25fc7999 in QObject::event (this=0x1b22340, e=0x1aa0b10) at kernel/qobject.cpp:1248 currentSender = {sender = 0x1a98e90, signal = -1, ref = 1} previousSender = (QObjectPrivate::Sender * const) 0x0 #9 0x00007f0b247a907c in QApplicationPrivate::notify_helper (this=0x19ebc60, receiver=0x1b22340, e=0x1aa0b10) at kernel/qapplication.cpp:4298 consumed = <value optimized out> #10 0x00007f0b247af66b in QApplication::notify (this=0x7fff4fc53ea0, receiver=0x1b22340, e=0x1aa0b10) at kernel/qapplication.cpp:4181 res = <value optimized out> #11 0x00007f0b25fb7c5c in QCoreApplication::notifyInternal ( this=0x7fff4fc53ea0, receiver=0x1b22340, event=0x1aa0b10) at kernel/qcoreapplication.cpp:704 result = false cbdata = {0x1b22340, 0x1aa0b10, 0x7fff4fc5398f} threadData = (QThreadData *) 0x19d6080 returnValue = <value optimized out> #12 0x00007f0b25fba3d7 in QCoreApplicationPrivate::sendPostedEvents ( receiver=0x0, event_type=<value optimized out>, data=0x19d6080) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:215 pe = (const QPostEvent &) @0x1bb0090: {receiver = 0x1b22340, event = 0x0, priority = 0} e = (class QEvent *) 0x1aa0b10 r = (class QObject *) 0x1b22340 locker = {{mtx = 0x19d60c0, val = 27091136}} startOffset = 0 i = (int &) @0x19d60b4: 2 #13 0x00007f0b25fe1603 in postEventSourceDispatch (s=<value optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:220 No locals. #14 0x00007f0b234a67c0 in g_main_context_dispatch () from /lib/libglib-2.0.so.0 No symbol table info available. #15 0x00007f0b234aa5f8 in ?? () from /lib/libglib-2.0.so.0 No symbol table info available. #16 0x00007f0b234aa7dc in g_main_context_iteration () from /lib/libglib-2.0.so.0 No symbol table info available. #17 0x00007f0b25fe1143 in QEventDispatcherGlib::processEvents ( this=0x19d5bc0, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:412 d = (QEventDispatcherGlibPrivate * const) 0x19ebee0 canWait = true result = <value optimized out> #18 0x00007f0b2485888e in QGuiEventDispatcherGlib::processEvents ( this=0x7fff4fc52da0, flags=<value optimized out>) at kernel/qguieventdispatcher_glib.cpp:204 d = (QGuiEventDispatcherGlibPrivate * const) 0x19ebee0 returnValue = 224 #19 0x00007f0b25fb6582 in QEventLoop::processEvents ( this=<value optimized out>, flags=DWARF-2 expression error: DW_OP_reg operations must be used either alone or in conjuction with DW_OP_piece. ) at kernel/qeventloop.cpp:149 d = (QEventLoopPrivate * const) 0x1a72b40 #20 0x00007f0b25fb695c in QEventLoop::exec (this=0x7fff4fc53c80, flags=DWARF-2 expression error: DW_OP_reg operations must be used either alone or in conjuction with DW_OP_piece. ) at kernel/qeventloop.cpp:201 d = (QEventLoopPrivate * const) 0x1a72b40 app = (class QCoreApplication *) 0x7fff4fc53ea0 #21 0x00007f0b25fba69b in QCoreApplication::exec () at kernel/qcoreapplication.cpp:981 threadData = (QThreadData *) 0x19d6080 eventLoop = {<QObject> = {_vptr.QObject = 0x7f0b262c9910, static staticMetaObject = {d = {superdata = 0x0, stringdata = 0x7f0b2605df60 "QObject", data = 0x7f0b2605e000, extradata = 0x7f0b262c1180}}, d_ptr = {d = 0x1a72b40}, static staticQtMetaObject = {d = {superdata = 0x0, stringdata = 0x7f0b26066be0 "Qt", data = 0x7f0b2606a1e0, extradata = 0x0}}}, static staticMetaObject = {d = { superdata = 0x606300, stringdata = 0x7f0b2606fca0 "QEventLoop", data = 0x7f0b2606fcc0, extradata = 0x0}}} returnCode = -1 #22 0x0000000000403adc in main (argc=2, argv=<value optimized out>) at ../../../nepomuk/servicestub/main.cpp:152 aboutData = {d = 0x19d7650} app = {<QCoreApplication> = {<QObject> = { _vptr.QObject = 0x7f0b25246630, static staticMetaObject = {d = { superdata = 0x0, stringdata = 0x7f0b2605df60 "QObject", data = 0x7f0b2605e000, extradata = 0x7f0b262c1180}}, d_ptr = { d = 0x19ebc60}, static staticQtMetaObject = {d = {superdata = 0x0, stringdata = 0x7f0b26066be0 "Qt", data = 0x7f0b2606a1e0, extradata = 0x0}}}, static staticMetaObject = {d = { superdata = 0x606300, stringdata = 0x7f0b2606fd40 "QCoreApplication", data = 0x7f0b2606fde0, extradata = 0x0}}, static self = 0x7fff4fc53ea0}, static staticMetaObject = {d = { superdata = 0x7f0b262c99a0, stringdata = 0x7f0b24e4dce0 "QApplication", data = 0x7f0b24e4df20, extradata = 0x0}}} serviceName = {static null = {<No data fields>}, static shared_null = {ref = {_q_value = 2819}, alloc = 0, size = 0, data = 0x7f0b262cb87a, clean = 0, simpletext = 0, righttoleft = 0, asciiCache = 0, capacity = 0, reserved = 0, array = {0}}, static shared_empty = {ref = {_q_value = 44}, alloc = 0, size = 0, data = 0x7f0b262cb89a, clean = 0, simpletext = 0, righttoleft = 0, asciiCache = 0, capacity = 0, reserved = 0, array = {0}}, d = 0x1a2aee0, static codecForCStrings = 0x0} compData = {_vptr.KComponentData = 0x7f0b259a49f0, d = 0x19ece90} dependencies = {<QList<QString>> = {{p = {static shared_null = { ref = {_q_value = 506}, alloc = 0, begin = 0, end = 0, sharable = 1, array = {0x0}}, d = 0x606400}, d = 0x606400}}, <No data fields>} options = {d = 0x19d8000} args = <value optimized out> s = {_vptr.QTextStream = 0x7f0b262c5f70, d_ptr = {d = 0x1a3ecb0}} services = {{p = {static shared_null = {ref = {_q_value = 506}, alloc = 0, begin = 0, end = 0, sharable = 1, array = {0x0}}, d = 0x1a72220}, d = 0x1a72220}} service = {d = 0x1a79820}
SVN commit 1106245 by trueg: Do not crash if the system setup is broken and Nepomuk cannot find the Virtuoso Soprano backend. BUG: 231546 M +4 -1 repository.cpp M +4 -1 storage.cpp WebSVN link: http://websvn.kde.org/?view=rev&revision=1106245
I should note that after one or two crashes, it eventually does start properly, so I don't think it's as cut-and-dry as "my setup is broke". Thanks for the fix, though.
Still getting dupes from KDE 4.2.2, too.
@Jonathan: could you please provide a backtrace. A duplicate is not possible as that particular piece of code cannot crash anymore - repository.cpp:308 has changed.
Sorta. Due to the nature of this crash it isn't, as far as I can tell, possible to reproduce this outside of a startup environment. Unfortunately that means we have to rely on the Apport crash reporting service to get backtraces for these crashes (as the KDE crash handler does not). And Apport isn't always able to get backtraces with full information: Thread 2 (Thread 8823): #0 0xb65499c8 in clone () from /lib/tls/i686/cmov/libc.so.6 No symbol table info available. #1 0x003d0f00 in ?? () No symbol table info available. #2 0x00000000 in ?? () No symbol table info available. . Thread 1 (Thread 8821): #0 0xb60f5ca8 in Soprano::Plugin::pluginName() const () from /usr/lib/libsoprano.so.4 No symbol table info available. #1 0xb4f624b0 in ?? () from /usr/lib/kde4/nepomukstorage.so No symbol table info available. #2 0xb4f5ff0e in ?? () from /usr/lib/kde4/nepomukstorage.so No symbol table info available. #3 0xb4f603fa in ?? () from /usr/lib/kde4/nepomukstorage.so No symbol table info available. #4 0xb7447b34 in ?? () from /usr/lib/libQtDBus.so.4 No symbol table info available. #5 0xb7448ddf in ?? () from /usr/lib/libQtDBus.so.4 No symbol table info available. #6 0xb74495ac in ?? () from /usr/lib/libQtDBus.so.4 No symbol table info available. #7 0xb7449b1a in ?? () from /usr/lib/libQtDBus.so.4 No symbol table info available. #8 0xb76513fe in QObject::event(QEvent*) () from /usr/lib/libQtCore.so.4 No symbol table info available. #9 0xb68024dc in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4 No symbol table info available. #10 0xb680905e in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4 No symbol table info available. #11 0xb7640a3b in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/libQtCore.so.4 No symbol table info available. #12 0xb7643473 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () from /usr/lib/libQtCore.so.4 No symbol table info available. #13 0xb76435dd in QCoreApplication::sendPostedEvents(QObject*, int) () from /usr/lib/libQtCore.so.4 No symbol table info available. #14 0xb766cadf in ?? () from /usr/lib/libQtCore.so.4 No symbol table info available. #15 0xb63c55e5 in g_main_context_dispatch () from /lib/libglib-2.0.so.0 No symbol table info available. #16 0xb63c92d8 in ?? () from /lib/libglib-2.0.so.0 No symbol table info available. #17 0xb63c94b8 in g_main_context_iteration () from /lib/libglib-2.0.so.0 No symbol table info available. #18 0xb766c5d5 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4 No symbol table info available. #19 0xb68c2135 in ?? () from /usr/lib/libQtGui.so.4 No symbol table info available. #20 0xb763f059 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4 No symbol table info available. #21 0xb763f4aa in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4 No symbol table info available. #22 0xb764369f in QCoreApplication::exec() () from /usr/lib/libQtCore.so.4 No symbol table info available. #23 0xb6802577 in QApplication::exec() () from /usr/lib/libQtGui.so.4 No symbol table info available. #24 0x0804b0a9 in _start () No symbol table info available.
*** Bug 235757 has been marked as a duplicate of this bug. ***
Bug 235757 (from a fedora system, so not a Kubuntu-specific bug) has a better backtrace: [New Thread 9275] Core was generated by `/usr/bin/nepomukservicestub nepomukstorage'. Program terminated with signal 11, Segmentation fault. #0 QString (this=0x1d5a0a0) at /usr/include/QtCore/qstring.h:714 714 inline QString::QString(const QString &other) : d(other.d) Thread 2 (Thread 9275): #0 clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:84 No locals. #1 0x0000003acac06980 in ?? () at allocatestack.c:743 from /lib64/libpthread.so.0 No symbol table info available. #2 0x00007f07c8011710 in ?? () No symbol table info available. #3 0x0000000000000000 in ?? () No symbol table info available. Thread 1 (Thread 9273): #0 QString (this=0x1d5a0a0) at /usr/include/QtCore/qstring.h:714 No locals. #1 Soprano::Plugin::pluginName (this=0x1d5a0a0) at /usr/src/debug/soprano-2.4.1/soprano/plugin.cpp:47 No locals. #2 0x00007f07ca6c3d62 in Nepomuk::Repository::usedSopranoBackend ( this=<value optimized out>) at /usr/src/debug/kdebase-runtime-4.4.2/nepomuk/services/storage/repository.cpp:309 No locals. #3 0x00007f07ca6c236d in Nepomuk::Storage::usedSopranoBackend (this= 0x1d524a0) at /usr/src/debug/kdebase-runtime-4.4.2/nepomuk/services/storage/storage.cpp:80 rep = 0x1d524a0 #4 0x00007f07ca6c25df in Nepomuk::Storage::qt_metacall (this=0x1d6bbb0, _c= InvokeMetaMethod, _id=0, _a=0x7fff18fbc2d0) at /usr/src/debug/kdebase-runtime-4.4.2/x86_64-redhat-linux-gnu/nepomuk/services/storage/storage.moc:78 _r = {static null = {<No data fields>}, static shared_null = {ref = { _q_value = 2534}, alloc = 0, size = 0, data = 0x36ef263e7a, clean = 0, simpletext = 0, righttoleft = 0, asciiCache = 0, capacity = 0, reserved = 0, array = {0}}, static shared_empty = { ref = {_q_value = 40}, alloc = 0, size = 0, data = 0x36ef263e9a, clean = 0, simpletext = 0, righttoleft = 0, asciiCache = 0, capacity = 0, reserved = 0, array = {0}}, d = 0x1d3f480, static codecForCStrings = 0x0} #5 0x00000036ef821c26 in QDBusConnectionPrivate::deliverCall ( this=<value optimized out>, object=<value optimized out>, msg=<value optimized out>, metaTypes=..., slotIdx=<value optimized out>) at qdbusintegrator.cpp:904 context = {connection = {static staticMetaObject = {d = {superdata = 0x0, stringdata = 0x36ef85d080 "QDBusConnection", data = 0x36ef85d260, extradata = 0x0}}, d = 0x1d00fd0}, message = @0x1d40f70} old = 0x0 ptr = {o = 0x1d6bbb0} params = {a = 10, s = 1, ptr = 0x7fff18fbc2d0, {array = "\020\016\326\001", '\000' <repeats 12 times>"\252, \000\374\030\377\177\000\000\200\303\325\001\000\000\000\000\220\244\325\001\000\000\000\000F@\367\356\066\000\000\000\200\303\325\001\000\000\000\000`\304\373\030\377\177\000\000\220\244\325\001\000\000\000\000=N~\360\066\000\000\000\220\244\325\001\000\000\000", q_for_alignment_1 = 30805520, q_for_alignment_2 = 1.5219949134275437e-316}} i = <value optimized out> outputArgs = {{p = {static shared_null = {ref = {_q_value = 1}, alloc = 0, begin = 0, end = 0, sharable = 1, array = {0x0}}, d = 0x1d56cc0}, d = 0x1d56cc0}} fail = <value optimized out> auxParameters = {{p = {static shared_null = {ref = {_q_value = 1}, alloc = 0, begin = 0, end = 0, sharable = 1, array = {0x0}}, d = 0x605940}, d = 0x605940}} takesMessage = <value optimized out> null = 0x0 #6 0x00000036ef822e3f in QDBusConnectionPrivate::activateCall ( this=<value optimized out>, object=0x1d6bbb0, flags=81, msg=...) at qdbusintegrator.cpp:809 mo = <value optimized out> memberName = {static shared_null = {ref = {_q_value = 1}, alloc = 0, size = 0, data = 0x605938 "", array = ""}, static shared_empty = { ref = {_q_value = 11}, alloc = 0, size = 0, data = 0x36ef263d58 "", array = ""}, d = 0x1d61e70} slotData = {flags = 81, slotIdx = 4, metaTypes = {{p = { static shared_null = {ref = {_q_value = 1}, alloc = 0, begin = 0, end = 0, sharable = 1, array = {0x0}}, d = 0x1d3e260}, d = 0x1d3e260}}} cachePropertyName = "_qdbus_slotCache" slotCache = {hash = {<QHash<QString, QDBusSlotCache::Data>> = {{d = 0x1d424a0, e = 0x1d424a0}}, <No data fields>}} cacheKey = {static null = {<No data fields>}, static shared_null = { ref = {_q_value = 2534}, alloc = 0, size = 0, data = 0x36ef263e7a, clean = 0, simpletext = 0, righttoleft = 0, asciiCache = 0, capacity = 0, reserved = 0, array = {0}}, static shared_empty = { ref = {_q_value = 40}, alloc = 0, size = 0, data = 0x36ef263e9a, clean = 0, simpletext = 0, righttoleft = 0, asciiCache = 0, capacity = 0, reserved = 0, array = {0}}, d = 0x1d56c00, static codecForCStrings = 0x0} signature = {static null = {<No data fields>}, static shared_null = { ref = {_q_value = 2534}, alloc = 0, size = 0, data = 0x36ef263e7a, clean = 0, simpletext = 0, righttoleft = 0, asciiCache = 0, capacity = 0, reserved = 0, array = {0}}, static shared_empty = { ref = {_q_value = 40}, alloc = 0, size = 0, data = 0x36ef263e9a, clean = 0, simpletext = 0, righttoleft = 0, asciiCache = 0, capacity = 0, reserved = 0, array = {0}}, d = 0x36ef263e80, static codecForCStrings = 0x0} #7 0x00000036ef82364e in QDBusConnectionPrivate::activateObject ( this=<value optimized out>, node=<value optimized out>, msg=..., pathStartPos=<value optimized out>) at qdbusintegrator.cpp:1383 interfaceFound = <value optimized out> connector = <value optimized out> #8 0x00000036ef823ba8 in QDBusActivateObjectEvent::placeMetaCall (this= 0x1d40f00) at qdbusintegrator.cpp:1477 that = 0x7f07ca6c6b1a #9 0x00000036eef66921 in QObject::event (this=0x1d6bbb0, e=0x1d40f00) at kernel/qobject.cpp:1248 mce = 0x1d40f00 currentSender = {sender = 0x1d00fd0, signal = -1, ref = 1} previousSender = 0x0 #10 0x00000036f07aa9dc in QApplicationPrivate::notify_helper (this=0x1c9b4a0, receiver=0x1d6bbb0, e=0x1d40f00) at kernel/qapplication.cpp:4300 consumed = <value optimized out> #11 0x00000036f07b0aab in QApplication::notify (this=<value optimized out>, receiver=0x1d6bbb0, e=0x1d40f00) at kernel/qapplication.cpp:4183 d = 0x7fff18fbc070 res = <value optimized out> #12 0x00000036eef5774c in QCoreApplication::notifyInternal (this= 0x7fff18fbd160, receiver=0x1d6bbb0, event=0x1d40f00) at kernel/qcoreapplication.cpp:704 threadData = 0x1c85850 returnValue = <value optimized out> result = false cbdata = {0x1d6bbb0, 0x1d40f00, 0x7fff18fbcc4f} d = <value optimized out> #13 0x00000036eef58497 in sendEvent (receiver=0x0, event_type=<value optimized out>, data=0x1c85850) at kernel/qcoreapplication.h:215 No locals. #14 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=<value optimized out>, data=0x1c85850) at kernel/qcoreapplication.cpp:1345 pe = @0x1d0da20 e = 0x1d40f00 r = 0x1d6bbb0 locker = {{mtx = 0x1c85890, val = 29907088}} startOffset = 0 i = @0x1c85884 #15 0x00000036eef7d523 in sendPostedEvents (s=<value optimized out>) at kernel/qcoreapplication.h:220 No locals. #16 postEventSourceDispatch (s=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:276 source = <value optimized out> #17 0x0000003acb83923e in g_main_dispatch (context=0x1c9e120) at gmain.c:1960 dispatch = <value optimized out> was_in_call = 0 user_data = 0x0 callback = 0 cb_funcs = 0x0 cb_data = <value optimized out> current_source_link = {data = 0x1c9f080, next = 0x0} source = 0x1c9f080 current = 0x1c9d1b0 i = <value optimized out> #18 IA__g_main_context_dispatch (context=0x1c9e120) at gmain.c:2513 No locals. #19 0x0000003acb83cc28 in g_main_context_iterate (context=0x1c9e120, block=<value optimized out>, dispatch=<value optimized out>, self=<value optimized out>) at gmain.c:2591 max_priority = 0 timeout = 0 some_ready = 1 nfds = 4 allocated_nfds = <value optimized out> fds = <value optimized out> __PRETTY_FUNCTION__ = "g_main_context_iterate" #20 0x0000003acb83cd4a in IA__g_main_context_iteration (context=0x1c9e120, may_block=1) at gmain.c:2654 retval = 1 #21 0x00000036eef7d063 in QEventDispatcherGlib::processEvents (this= 0x1c84f40, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:412 d = 0x1c9b720 canWait = <value optimized out> #22 0x00000036f0849a4e in QGuiEventDispatcherGlib::processEvents ( this=<value optimized out>, flags=<value optimized out>) at kernel/qguieventdispatcher_glib.cpp:204 d = 0x1c9b720 returnValue = 112 #23 0x00000036eef56192 in QEventLoop::processEvents ( this=<value optimized out>, flags=...) at kernel/qeventloop.cpp:149 d = 0x1d40270 #24 0x00000036eef5645c in QEventLoop::exec (this=0x7fff18fbcf40, flags=...) at kernel/qeventloop.cpp:201 d = 0x1d40270 app = 0x7fff18fbd160 #25 0x00000036eef58749 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:981 threadData = 0x1c85850 eventLoop = {<QObject> = {_vptr.QObject = 0x36ef261f10, static staticMetaObject = {d = {superdata = 0x0, stringdata = 0x36eeff3b00 "QObject", data = 0x36eeff3ba0, extradata = 0x36ef259780}}, d_ptr = {d = 0x1d40270}, static staticQtMetaObject = {d = { superdata = 0x0, stringdata = 0x36eeffc780 "Qt", data = 0x36eefffda0, extradata = 0x0}}}, static staticMetaObject = {d = { superdata = 0x605840, stringdata = 0x36ef005860 "QEventLoop", data = 0x36ef005880, extradata = 0x0}}} returnCode = -1 #26 0x00000000004037ac in main (argc=2, argv=<value optimized out>) at /usr/src/debug/kdebase-runtime-4.4.2/nepomuk/servicestub/main.cpp:152 aboutData = {d = 0x1c86e60} app = {<QCoreApplication> = {<QObject> = {_vptr.QObject = 0x36f11eefb0, static staticMetaObject = {d = {superdata = 0x0, stringdata = 0x36eeff3b00 "QObject", data = 0x36eeff3ba0, extradata = 0x36ef259780}}, d_ptr = {d = 0x1c9b4a0}, static staticQtMetaObject = {d = {superdata = 0x0, stringdata = 0x36eeffc780 "Qt", data = 0x36eefffda0, extradata = 0x0}}}, static staticMetaObject = {d = {superdata = 0x605840, stringdata = 0x36ef005900 "QCoreApplication", data = 0x36ef0059a0, extradata = 0x0}}, static self = 0x7fff18fbd160}, static staticMetaObject = {d = {superdata = 0x36ef261fa0, stringdata = 0x36f0de98a0 "QApplication", data = 0x36f0de9ae0, extradata = 0x0}}} serviceName = {static null = {<No data fields>}, static shared_null = {ref = {_q_value = 2534}, alloc = 0, size = 0, data = 0x36ef263e7a, clean = 0, simpletext = 0, righttoleft = 0, asciiCache = 0, capacity = 0, reserved = 0, array = {0}}, static shared_empty = {ref = {_q_value = 40}, alloc = 0, size = 0, data = 0x36ef263e9a, clean = 0, simpletext = 0, righttoleft = 0, asciiCache = 0, capacity = 0, reserved = 0, array = {0}}, d = 0x1ceb150, static codecForCStrings = 0x0} compData = {_vptr.KComponentData = 0x36f0462010, d = 0x1cec9a0} dependencies = {<QList<QString>> = {{p = {static shared_null = {ref = {_q_value = 1}, alloc = 0, begin = 0, end = 0, sharable = 1, array = { 0x0}}, d = 0x605940}, d = 0x605940}}, <No data fields>} control = 0x1d3e020 options = {d = 0x1c87810} args = 0x1d3e020 s = {_vptr.QTextStream = 0x36ef25e570, d_ptr = {d = 0x1cfbe20}} services = {{p = {static shared_null = {ref = {_q_value = 1}, alloc = 0, begin = 0, end = 0, sharable = 1, array = {0x0}}, d = 0x1d41720}, d = 0x1d41720}} service = {d = 0x1d30780}
SVN commit 1123884 by trueg: Properly initialize all member variables. This fixes a crash when the service is asked for the used backend before being initialized. Will backport to 4.4, too. BUG: 231546 M +3 -1 repository.cpp WebSVN link: http://websvn.kde.org/?view=rev&revision=1123884
I am still getting the following crash with 4.4 branch Nepomuk comes up correctly, but nepomukstorage crashes as soon as Akonadi starts and (a guess) its nepomuk-contact-feeder tries to check if the right backend is present. Note that Soprano::Plugin in #2 is no longer 0x0 #0 QString (this=0xb4e0dcac) at /usr/include/QtCore/qstring.h:715 #1 Soprano::Plugin::pluginName (this=0xb4e0dcac) at /usr/src/debug/soprano-2.4.2/soprano/plugin.cpp:47 #2 0xb55a528e in Nepomuk::Repository::usedSopranoBackend (this=0x813ae78) at /usr/src/debug/kdebase-runtime-4.4.4/nepomuk/services/storage/repository.cpp:312 #3 0xb55a36c4 in Nepomuk::Storage::usedSopranoBackend (this=0x812dfe0) at /usr/src/debug/kdebase-runtime-4.4.4/nepomuk/services/storage/storage.cpp:80 #4 0xb55a3752 in Nepomuk::Storage::qt_metacall (this=0x812dfe0, _c=QMetaObject::InvokeMetaMethod, _id=0, _a=0xbfa3903c) at /usr/src/debug/kdebase-runtime-4.4.4/build/nepomuk/services/storage/storage.moc:78 #5 0xb7444a37 in ?? () from /usr/lib/libQtDBus.so.4 #6 0xb7446be7 in ?? () from /usr/lib/libQtDBus.so.4 #7 0xb7447378 in ?? () from /usr/lib/libQtDBus.so.4 #8 0xb7447878 in ?? () from /usr/lib/libQtDBus.so.4 #9 0xb762b93f in QObject::event(QEvent*) () from /usr/lib/libQtCore.so.4 #10 0xb67f0c64 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4 #11 0xb67f8bf7 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4 #12 0xb7618e0e in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/libQtCore.so.4 #13 0xb761c9b4 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () from /usr/lib/libQtCore.so.4 #14 0xb761cb9c in QCoreApplication::sendPostedEvents(QObject*, int) () from /usr/lib/libQtCore.so.4 #15 0xb764483d in ?? () from /usr/lib/libQtCore.so.4 #16 0xb638bb49 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0 #17 0xb638c350 in ?? () from /usr/lib/libglib-2.0.so.0 #18 0xb638c60e in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0 #19 0xb7644d4b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4 #20 0xb68a119a in ?? () from /usr/lib/libQtGui.so.4 #21 0xb761811d in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4 #22 0xb7618319 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4 #23 0xb761cc70 in QCoreApplication::exec() () from /usr/lib/libQtCore.so.4 #24 0xb67ee164 in QApplication::exec() () from /usr/lib/libQtGui.so.4 #25 0x0804b08d in main (argc=134530024, argv=0x8121e30) at /usr/src/debug/kdebase-runtime-4.4.4/nepomuk/servicestub/main.cpp:152
So 1123884 was backported to branch as 1123884 - my crash must be something different. As I noted above, the storage process comes up (and reports isInitialized = true over the /servicecontrol interface) but m_backend must be invalid (or the whole Repository class...). As soon as I call usedSopranoBackend() on it, or akonadi does, it bombs. This is killing KMail usage on openSUSE because address autocomplete can not be made to work. What if Soprano::PluginManager::instance()->discoverBackendByName( QLatin1String( "virtuosobackend" ) is returning garbage? Can this have anything to do with having soprano-backend-redland installed as well as -virtuoso so that the ontology memory models work?
(In reply to comment #10) > Can this have anything to do with having soprano-backend-redland installed as > well as -virtuoso so that the ontology memory models work? I doubt it. Nepomuk requires both the Redland and the Virtuoso backend in order to function properly.
It turns out 4.4 branch kdebase/runtime/nepomuk code crashes with Soprano 2.4.2 unless this patch is applied: http://websvn.kde.org/branches/work/komo/kdebase/runtime/nepomuk/services/storage/storage.cpp?r1=1106621&r2=1134070&pathrev=1134070&view=patch Should it be added to 4.4 branch?
Fixed in 4.6 (and maybe 4.5 already).