Bug 319165

Summary: Storage Crash - Demarshaling a SimpleResource
Product: [Unmaintained] nepomuk Reporter: Jorg Bliesener <jbliesener>
Component: storageAssignee: Nepomuk Bugs Coordination <nepomuk-bugs>
Status: RESOLVED FIXED    
Severity: crash CC: me, nepomuk-bugs
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: Fedora RPMs   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Jorg Bliesener 2013-05-01 12:19:54 UTC
Application: nepomukservicestub (0.1.0)
KDE Platform Version: 4.10.2
Qt Version: 4.8.4
Operating System: Linux 3.8.9-200.fc18.x86_64 x86_64
Distribution: "Fedora release 18 (Spherical Cow)"

-- Information about the crash:
- What I was doing when the application crashed:

Indexing a huge number of files (>400.000), the last file displayed is a .lds.debug file (see attachment)

-- Backtrace:
Application: Nepomuk Service Stub (nepomukservicestub), signal: Aborted
Using host libthread_db library "/lib64/libthread_db.so.1".
[Current thread is 1 (Thread 0x7f4271aa0880 (LWP 5268))]

Thread 11 (Thread 0x7f4261bd4700 (LWP 5293)):
#0  0x0000003f8340e12d in read () from /lib64/libpthread.so.0
#1  0x0000003f860840df in g_wakeup_acknowledge () from /lib64/libglib-2.0.so.0
#2  0x0000003f860478b4 in g_main_context_check () from /lib64/libglib-2.0.so.0
#3  0x0000003f86047cc2 in g_main_context_iterate.isra.24 () from /lib64/libglib-2.0.so.0
#4  0x0000003f86047e44 in g_main_context_iteration () from /lib64/libglib-2.0.so.0
#5  0x0000003f975a6126 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQtCore.so.4
#6  0x0000003f9757680f in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQtCore.so.4
#7  0x0000003f97576a98 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQtCore.so.4
#8  0x0000003f97478980 in QThread::exec() () from /lib64/libQtCore.so.4
#9  0x000000314c00fb88 in Soprano::Server::ServerConnection::run() () from /lib64/libsopranoserver.so.1
#10 0x0000003f9747b95c in QThreadPrivate::start(void*) () from /lib64/libQtCore.so.4
#11 0x0000003f83407d15 in start_thread () from /lib64/libpthread.so.0
#12 0x0000003f828f248d in clone () from /lib64/libc.so.6

Thread 10 (Thread 0x7f42613d3700 (LWP 5294)):
#0  0x0000003f8604759f in g_main_context_prepare () from /lib64/libglib-2.0.so.0
#1  0x0000003f86047c4b in g_main_context_iterate.isra.24 () from /lib64/libglib-2.0.so.0
#2  0x0000003f86047e44 in g_main_context_iteration () from /lib64/libglib-2.0.so.0
#3  0x0000003f975a6126 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQtCore.so.4
#4  0x0000003f9757680f in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQtCore.so.4
#5  0x0000003f97576a98 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQtCore.so.4
#6  0x0000003f97478980 in QThread::exec() () from /lib64/libQtCore.so.4
#7  0x000000314c00fb88 in Soprano::Server::ServerConnection::run() () from /lib64/libsopranoserver.so.1
#8  0x0000003f9747b95c in QThreadPrivate::start(void*) () from /lib64/libQtCore.so.4
#9  0x0000003f83407d15 in start_thread () from /lib64/libpthread.so.0
#10 0x0000003f828f248d in clone () from /lib64/libc.so.6

Thread 9 (Thread 0x7f4260bd2700 (LWP 5295)):
#0  0x0000003f8340aad8 in __pthread_mutex_unlock_usercnt () from /lib64/libpthread.so.0
#1  0x0000003f86084dd1 in g_mutex_unlock () from /lib64/libglib-2.0.so.0
#2  0x0000003f86047e4e in g_main_context_iteration () from /lib64/libglib-2.0.so.0
#3  0x0000003f975a6126 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQtCore.so.4
#4  0x0000003f9757680f in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQtCore.so.4
#5  0x0000003f97576a98 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQtCore.so.4
#6  0x0000003f97478980 in QThread::exec() () from /lib64/libQtCore.so.4
#7  0x000000314c00fb88 in Soprano::Server::ServerConnection::run() () from /lib64/libsopranoserver.so.1
#8  0x0000003f9747b95c in QThreadPrivate::start(void*) () from /lib64/libQtCore.so.4
#9  0x0000003f83407d15 in start_thread () from /lib64/libpthread.so.0
#10 0x0000003f828f248d in clone () from /lib64/libc.so.6

Thread 8 (Thread 0x7f42623d5700 (LWP 5301)):
#0  0x0000003f828e99ad in poll () from /lib64/libc.so.6
#1  0x0000003f86047d24 in g_main_context_iterate.isra.24 () from /lib64/libglib-2.0.so.0
#2  0x0000003f86047e44 in g_main_context_iteration () from /lib64/libglib-2.0.so.0
#3  0x0000003f975a6126 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQtCore.so.4
#4  0x0000003f9757680f in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQtCore.so.4
#5  0x0000003f97576a98 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQtCore.so.4
#6  0x0000003f97478980 in QThread::exec() () from /lib64/libQtCore.so.4
#7  0x000000314c00fb88 in Soprano::Server::ServerConnection::run() () from /lib64/libsopranoserver.so.1
#8  0x0000003f9747b95c in QThreadPrivate::start(void*) () from /lib64/libQtCore.so.4
#9  0x0000003f83407d15 in start_thread () from /lib64/libpthread.so.0
#10 0x0000003f828f248d in clone () from /lib64/libc.so.6

Thread 7 (Thread 0x7f424bfff700 (LWP 5303)):
#0  0x0000003f86084db8 in g_mutex_lock () from /lib64/libglib-2.0.so.0
#1  0x0000003f86047936 in g_main_context_dispatch () from /lib64/libglib-2.0.so.0
#2  0x0000003f86047d88 in g_main_context_iterate.isra.24 () from /lib64/libglib-2.0.so.0
#3  0x0000003f86047e44 in g_main_context_iteration () from /lib64/libglib-2.0.so.0
#4  0x0000003f975a6126 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQtCore.so.4
#5  0x0000003f9757680f in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQtCore.so.4
#6  0x0000003f97576a98 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQtCore.so.4
#7  0x0000003f97478980 in QThread::exec() () from /lib64/libQtCore.so.4
#8  0x000000314c00fb88 in Soprano::Server::ServerConnection::run() () from /lib64/libsopranoserver.so.1
#9  0x0000003f9747b95c in QThreadPrivate::start(void*) () from /lib64/libQtCore.so.4
#10 0x0000003f83407d15 in start_thread () from /lib64/libpthread.so.0
#11 0x0000003f828f248d in clone () from /lib64/libc.so.6

Thread 6 (Thread 0x7f424a4ea700 (LWP 7035)):
#0  0x0000003f828e99ad in poll () from /lib64/libc.so.6
#1  0x0000003f86047d24 in g_main_context_iterate.isra.24 () from /lib64/libglib-2.0.so.0
#2  0x0000003f86047e44 in g_main_context_iteration () from /lib64/libglib-2.0.so.0
#3  0x0000003f975a6126 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQtCore.so.4
#4  0x0000003f9757680f in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQtCore.so.4
#5  0x0000003f97576a98 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQtCore.so.4
#6  0x0000003f97478980 in QThread::exec() () from /lib64/libQtCore.so.4
#7  0x000000314c00fb88 in Soprano::Server::ServerConnection::run() () from /lib64/libsopranoserver.so.1
#8  0x0000003f9747b95c in QThreadPrivate::start(void*) () from /lib64/libQtCore.so.4
#9  0x0000003f83407d15 in start_thread () from /lib64/libpthread.so.0
#10 0x0000003f828f248d in clone () from /lib64/libc.so.6

Thread 5 (Thread 0x7f4249ce9700 (LWP 7051)):
#0  0x0000003f8340b5e5 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x0000003f9747bebb in QWaitCondition::wait(QMutex*, unsigned long) () from /lib64/libQtCore.so.4
#2  0x0000003f9746f69f in QThreadPoolThread::run() () from /lib64/libQtCore.so.4
#3  0x0000003f9747b95c in QThreadPrivate::start(void*) () from /lib64/libQtCore.so.4
#4  0x0000003f83407d15 in start_thread () from /lib64/libpthread.so.0
#5  0x0000003f828f248d in clone () from /lib64/libc.so.6

Thread 4 (Thread 0x7f424affd700 (LWP 7061)):
#0  0x0000003f8340b5e5 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x0000003f9747bebb in QWaitCondition::wait(QMutex*, unsigned long) () from /lib64/libQtCore.so.4
#2  0x0000003f9746f69f in QThreadPoolThread::run() () from /lib64/libQtCore.so.4
#3  0x0000003f9747b95c in QThreadPrivate::start(void*) () from /lib64/libQtCore.so.4
#4  0x0000003f83407d15 in start_thread () from /lib64/libpthread.so.0
#5  0x0000003f828f248d in clone () from /lib64/libc.so.6

Thread 3 (Thread 0x7f424b7fe700 (LWP 7119)):
#0  0x0000003f8340e12d in read () from /lib64/libpthread.so.0
#1  0x0000003f860840df in g_wakeup_acknowledge () from /lib64/libglib-2.0.so.0
#2  0x0000003f860478b4 in g_main_context_check () from /lib64/libglib-2.0.so.0
#3  0x0000003f86047cc2 in g_main_context_iterate.isra.24 () from /lib64/libglib-2.0.so.0
#4  0x0000003f86047e44 in g_main_context_iteration () from /lib64/libglib-2.0.so.0
#5  0x0000003f975a6126 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQtCore.so.4
#6  0x0000003f9757680f in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQtCore.so.4
#7  0x0000003f97576a98 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQtCore.so.4
#8  0x0000003f97478980 in QThread::exec() () from /lib64/libQtCore.so.4
#9  0x000000314c00fb88 in Soprano::Server::ServerConnection::run() () from /lib64/libsopranoserver.so.1
#10 0x0000003f9747b95c in QThreadPrivate::start(void*) () from /lib64/libQtCore.so.4
#11 0x0000003f83407d15 in start_thread () from /lib64/libpthread.so.0
#12 0x0000003f828f248d in clone () from /lib64/libc.so.6

Thread 2 (Thread 0x7f42489d5700 (LWP 7743)):
#0  0x0000003f8340b5e5 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x0000003f9747bebb in QWaitCondition::wait(QMutex*, unsigned long) () from /lib64/libQtCore.so.4
#2  0x0000003f9746f69f in QThreadPoolThread::run() () from /lib64/libQtCore.so.4
#3  0x0000003f9747b95c in QThreadPrivate::start(void*) () from /lib64/libQtCore.so.4
#4  0x0000003f83407d15 in start_thread () from /lib64/libpthread.so.0
#5  0x0000003f828f248d in clone () from /lib64/libc.so.6

Thread 1 (Thread 0x7f4271aa0880 (LWP 5268)):
[KCrash Handler]
#5  0x0000003f82835ba5 in raise () from /lib64/libc.so.6
#6  0x0000003f82837358 in abort () from /lib64/libc.so.6
#7  0x0000003f8287559b in __libc_message () from /lib64/libc.so.6
#8  0x0000003f8287b776 in malloc_printerr () from /lib64/libc.so.6
#9  0x0000003f8287e107 in _int_malloc () from /lib64/libc.so.6
#10 0x0000003f8287f443 in malloc () from /lib64/libc.so.6
#11 0x0000003f9747d7f5 in QByteArray::QByteArray(char const*, int) () from /lib64/libQtCore.so.4
#12 0x0000003f9752a420 in QUrlPrivate::parse(QUrlPrivate::ParseOptions) const () from /lib64/libQtCore.so.4
#13 0x0000003f975318cc in QUrlPrivate::toEncoded(QFlags<QUrl::FormattingOption>) const () from /lib64/libQtCore.so.4
#14 0x0000003f97531fab in QUrl::toEncoded(QFlags<QUrl::FormattingOption>) const () from /lib64/libQtCore.so.4
#15 0x00007f42659ca06b in operator>>(QDBusArgument const&, QMultiHash<QUrl, QVariant>&) () from /usr/lib64/kde4/nepomukstorage.so
#16 0x00007f42659ca269 in operator>>(QDBusArgument const&, Nepomuk2::SimpleResource&) () from /usr/lib64/kde4/nepomukstorage.so
#17 0x00007f42659ca971 in void qDBusDemarshallHelper<QList<Nepomuk2::SimpleResource> >(QDBusArgument const&, QList<Nepomuk2::SimpleResource>*) () from /usr/lib64/kde4/nepomukstorage.so
#18 0x0000003f98c56794 in QDBusMetaType::demarshall(QDBusArgument const&, int, void*) () from /lib64/libQtDBus.so.4
#19 0x0000003f98c22e5c in QDBusConnectionPrivate::deliverCall(QObject*, int, QDBusMessage const&, QList<int> const&, int) () from /lib64/libQtDBus.so.4
#20 0x0000003f98c241c5 in QDBusConnectionPrivate::activateCall(QObject*, int, QDBusMessage const&) () from /lib64/libQtDBus.so.4
#21 0x0000003f98c24867 in QDBusConnectionPrivate::activateObject(QDBusConnectionPrivate::ObjectTreeNode&, QDBusMessage const&, int) () from /lib64/libQtDBus.so.4
#22 0x0000003f98c24c2b in QDBusActivateObjectEvent::placeMetaCall(QObject*) () from /lib64/libQtDBus.so.4
#23 0x0000003f9758c3ce in QObject::event(QEvent*) () from /lib64/libQtCore.so.4
#24 0x0000003f9adca5cc in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /lib64/libQtGui.so.4
#25 0x0000003f9adcea4a in QApplication::notify(QObject*, QEvent*) () from /lib64/libQtGui.so.4
#26 0x000000324e446f16 in KApplication::notify(QObject*, QEvent*) () from /lib64/libkdeui.so.5
#27 0x0000003f97577abe in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /lib64/libQtCore.so.4
#28 0x0000003f9757b571 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () from /lib64/libQtCore.so.4
#29 0x0000003f975a5f73 in postEventSourceDispatch(_GSource*, int (*)(void*), void*) () from /lib64/libQtCore.so.4
#30 0x0000003f86047a55 in g_main_context_dispatch () from /lib64/libglib-2.0.so.0
#31 0x0000003f86047d88 in g_main_context_iterate.isra.24 () from /lib64/libglib-2.0.so.0
#32 0x0000003f86047e44 in g_main_context_iteration () from /lib64/libglib-2.0.so.0
#33 0x0000003f975a6106 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQtCore.so.4
#34 0x0000003f9ae6a73e in QGuiEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQtGui.so.4
#35 0x0000003f9757680f in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQtCore.so.4
#36 0x0000003f97576a98 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQtCore.so.4
#37 0x0000003f9757b888 in QCoreApplication::exec() () from /lib64/libQtCore.so.4
#38 0x0000000000403ed0 in main ()

Possible duplicates by query: bug 294973, bug 273503, bug 273244, bug 272343.

Reported using DrKonqi
Comment 1 Jorg Bliesener 2013-05-01 12:22:05 UTC
Darn, lost the last file indexed.... So, no attachment here. Will try again.
Comment 2 Vishesh Handa 2013-08-23 12:12:58 UTC
Git commit 5175f919051e575e4d5d415996287018560157aa by Vishesh Handa.
Committed on 11/08/2013 at 07:12.
Pushed by vhanda into branch 'KDE/4.11'.

Use KDBusConnectionPool instead of QDBusConnection

QDBusConnection cannot be used across multiple threads
Related: bug 315078, bug 321764

REVIEW: 112011

M  +2    -2    services/storage/backup/backupmanager.cpp
M  +5    -4    services/storage/datamanagementcommand.cpp
M  +5    -4    services/storage/ontologyloader.cpp
M  +4    -3    services/storage/query/folderconnection.cpp
M  +6    -3    services/storage/query/queryservice.cpp
M  +2    -1    services/storage/repository.cpp
M  +5    -3    services/storage/resourcewatcherconnection.cpp
M  +5    -3    services/storage/resourcewatchermanager.cpp
M  +3    -2    services/storage/storage.cpp

http://commits.kde.org/nepomuk-core/5175f919051e575e4d5d415996287018560157aa