Bug 289897 - Crash in Nepomuk::RemovableMediaCache
Summary: Crash in Nepomuk::RemovableMediaCache
Status: RESOLVED FIXED
Alias: None
Product: nepomuk
Classification: Unclassified
Component: storage (show other bugs)
Version: 4.7
Platform: openSUSE RPMs Linux
: NOR crash (vote)
Target Milestone: ---
Assignee: Sebastian Trueg
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-12-27 04:41 UTC by Bill Anderson
Modified: 2012-12-31 07:23 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Bill Anderson 2011-12-27 04:41:35 UTC
Application: nepomukservicestub (0.2)
KDE Platform Version: 4.7.2 (4.7.2) "release 5"
Qt Version: 4.7.4
Operating System: Linux 3.1.0-1.2-desktop i686
Distribution: "openSUSE 12.1 (i586)"

-- Information about the crash:
- What I was doing when the application crashed: Creating new partitions on an external hard drive with gparted.

-- Backtrace:
Application: Nepomuk Service Stub (nepomukservicestub), signal: Segmentation fault
[Current thread is 1 (Thread 0xb556e710 (LWP 1989))]

Thread 3 (Thread 0xb3c53b70 (LWP 1990)):
#0  0xb6001954 in poll () from /lib/libc.so.6
#1  0xb5e64f7b in g_poll () from /usr/lib/libglib-2.0.so.0
#2  0xb5e56466 in ?? () from /usr/lib/libglib-2.0.so.0
#3  0xb5e567fa in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#4  0xb7664897 in QEventDispatcherGlib::processEvents (this=0xb3300468, flags=...) at kernel/qeventdispatcher_glib.cpp:424
#5  0xb763544d in QEventLoop::processEvents (this=0xb3c532e0, flags=...) at kernel/qeventloop.cpp:149
#6  0xb7635691 in QEventLoop::exec (this=0xb3c532e0, flags=...) at kernel/qeventloop.cpp:201
#7  0xb753875b in QThread::exec (this=0x815f478) at thread/qthread.cpp:498
#8  0xb753884b in QThread::run (this=0x815f478) at thread/qthread.cpp:565
#9  0xb753b613 in QThreadPrivate::start (arg=0x815f478) at thread/qthread_unix.cpp:331
#10 0xb74bfa7d in start_thread () from /lib/libpthread.so.0
#11 0xb600c85e in clone () from /lib/libc.so.6

Thread 2 (Thread 0xb32ffb70 (LWP 1992)):
#0  0xb5e55a3e in g_main_context_check () from /usr/lib/libglib-2.0.so.0
#1  0xb5e564c0 in ?? () from /usr/lib/libglib-2.0.so.0
#2  0xb5e567fa in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#3  0xb7664897 in QEventDispatcherGlib::processEvents (this=0xb2900468, flags=...) at kernel/qeventdispatcher_glib.cpp:424
#4  0xb763544d in QEventLoop::processEvents (this=0xb32ff2b0, flags=...) at kernel/qeventloop.cpp:149
#5  0xb7635691 in QEventLoop::exec (this=0xb32ff2b0, flags=...) at kernel/qeventloop.cpp:201
#6  0xb753875b in QThread::exec (this=0x81c36a8) at thread/qthread.cpp:498
#7  0xb761608d in QInotifyFileSystemWatcherEngine::run (this=0x81c36a8) at io/qfilesystemwatcher_inotify.cpp:248
#8  0xb753b613 in QThreadPrivate::start (arg=0x81c36a8) at thread/qthread_unix.cpp:331
#9  0xb74bfa7d in start_thread () from /lib/libpthread.so.0
#10 0xb600c85e in clone () from /lib/libc.so.6

Thread 1 (Thread 0xb556e710 (LWP 1989)):
[KCrash Handler]
#6  0xb4f29bf3 in ~QExplicitlySharedDataPointer (this=0x815636c, __in_chrg=<optimized out>) at /usr/include/QtCore/qshareddata.h:161
#7  Solid::Device::~Device (this=0x815636c, __in_chrg=<optimized out>) at /usr/src/debug/kdelibs-4.7.2/solid/solid/device.cpp:87
#8  0xb3c8d00a in ~Entry (this=<optimized out>, __in_chrg=<optimized out>) at /usr/src/debug/kde-runtime-4.7.2/nepomuk/common/removablemediacache.h:53
#9  ~QHashNode (this=<optimized out>, __in_chrg=<optimized out>) at /usr/include/QtCore/qhash.h:216
#10 deleteNode2 (node=<optimized out>) at /usr/include/QtCore/qhash.h:519
#11 deleteNode (node=<optimized out>, this=0x81b0af0) at /usr/include/QtCore/qhash.h:507
#12 QHash<QString, Nepomuk::RemovableMediaCache::Entry>::remove (this=0x81b0af0, akey=...) at /usr/include/QtCore/qhash.h:795
#13 0xb3c8b220 in Nepomuk::RemovableMediaCache::slotSolidDeviceRemoved (this=0x81b0ae8, udi=...) at /usr/src/debug/kde-runtime-4.7.2/nepomuk/common/removablemediacache.cpp:206
#14 0xb3c8c443 in Nepomuk::RemovableMediaCache::qt_metacall (this=0x81b0ae8, _c=QMetaObject::InvokeMetaMethod, _id=<optimized out>, _a=0xbfffcbe8) at /usr/src/debug/kde-runtime-4.7.2/build/nepomuk/common/removablemediacache.moc:86
#15 0xb763c7dd in metacall (argv=0xbfffcbe8, idx=7, cl=QMetaObject::InvokeMetaMethod, object=0x81b0ae8) at kernel/qmetaobject.cpp:237
#16 QMetaObject::metacall (object=0x81b0ae8, cl=QMetaObject::InvokeMetaMethod, idx=7, argv=0xbfffcbe8) at kernel/qmetaobject.cpp:232
#17 0xb764b710 in QMetaObject::activate (sender=0x81b4460, m=0xb4fddf98, local_signal_index=1, argv=0xbfffcbe8) at kernel/qobject.cpp:3287
#18 0xb4f2b235 in Solid::DeviceNotifier::deviceRemoved (this=0x81b4460, _t1=...) at /usr/src/debug/kdelibs-4.7.2/build/solid/solid/devicenotifier.moc:94
#19 0xb4f2c4a4 in Solid::DeviceManagerPrivate::_k_deviceRemoved (this=0x81b4460, udi=...) at /usr/src/debug/kdelibs-4.7.2/solid/solid/devicemanager.cpp:207
#20 0xb4f2cca3 in Solid::DeviceManagerPrivate::qt_metacall (this=0x81b4460, _c=QMetaObject::InvokeMetaMethod, _id=<optimized out>, _a=0xbfffcd68) at /usr/src/debug/kdelibs-4.7.2/build/solid/solid/devicemanager_p.moc:80
#21 0xb763c7dd in metacall (argv=0xbfffcd68, idx=7, cl=QMetaObject::InvokeMetaMethod, object=0x81b4460) at kernel/qmetaobject.cpp:237
#22 QMetaObject::metacall (object=0x81b4460, cl=QMetaObject::InvokeMetaMethod, idx=7, argv=0xbfffcd68) at kernel/qmetaobject.cpp:232
#23 0xb764b710 in QMetaObject::activate (sender=0x81cbd00, m=0xb4fdf06c, local_signal_index=1, argv=0xbfffcd68) at kernel/qobject.cpp:3287
#24 0xb4f41f85 in Solid::Ifaces::DeviceManager::deviceRemoved (this=0x81cbd00, _t1=...) at /usr/src/debug/kdelibs-4.7.2/build/solid/solid/ifaces/devicemanager.moc:94
#25 0xb4f9228f in Solid::Backends::UDisks::UDisksManager::slotDeviceRemoved (this=0x81cbd00, opath=...) at /usr/src/debug/kdelibs-4.7.2/solid/solid/backends/udisks/udisksmanager.cpp:217
#26 0xb4f925c3 in Solid::Backends::UDisks::UDisksManager::qt_metacall (this=0x81cbd00, _c=QMetaObject::InvokeMetaMethod, _id=<optimized out>, _a=0xbfffd04c) at /usr/src/debug/kdelibs-4.7.2/build/solid/solid/backends/udisks/udisksmanager.moc:80
#27 0xb763c7dd in metacall (argv=0xbfffd04c, idx=7, cl=QMetaObject::InvokeMetaMethod, object=0x81cbd00) at kernel/qmetaobject.cpp:237
#28 QMetaObject::metacall (object=0x81cbd00, cl=QMetaObject::InvokeMetaMethod, idx=7, argv=0xbfffd04c) at kernel/qmetaobject.cpp:232
#29 0xb764b710 in QMetaObject::activate (sender=0x81cbd10, m=0x81e71f0, local_signal_index=6, argv=0xbfffd04c) at kernel/qobject.cpp:3287
#30 0xb7472900 in QDBusInterfacePrivate::metacall (this=0x81cc820, c=QMetaObject::InvokeMetaMethod, id=6, argv=0xbfffd04c) at qdbusinterface.cpp:278
#31 0xb745d400 in QDBusConnectionPrivate::deliverCall (this=0x81c5ce0, object=0x81cbd10, msg=..., metaTypes=..., slotIdx=136111680) at qdbusintegrator.cpp:942
#32 0xb7467406 in QDBusCallDeliveryEvent::placeMetaCall (this=0x81ce518, object=0x81cbd10) at qdbusintegrator_p.h:103
#33 0xb764e82f in QObject::event (this=0x81cbd10, e=0x81ce518) at kernel/qobject.cpp:1226
#34 0xb62d6f24 in notify_helper (e=0x81ce518, receiver=0x81cbd10, this=0x806bb28) at kernel/qapplication.cpp:4481
#35 QApplicationPrivate::notify_helper (this=0x806bb28, receiver=0x81cbd10, e=0x81ce518) at kernel/qapplication.cpp:4453
#36 0xb62dc2b2 in QApplication::notify (this=0x81ce518, receiver=0x81cbd10, e=0x81ce518) at kernel/qapplication.cpp:4228
#37 0xb6f14681 in KApplication::notify (this=0xbfffd984, receiver=0x81cbd10, event=0x81ce518) at /usr/src/debug/kdelibs-4.7.2/kdeui/kernel/kapplication.cpp:311
#38 0xb763642e in QCoreApplication::notifyInternal (this=0xbfffd984, receiver=0x81cbd10, event=0x81ce518) at kernel/qcoreapplication.cpp:787
#39 0xb7639bf4 in sendEvent (event=<optimized out>, receiver=<optimized out>) at kernel/qcoreapplication.h:215
#40 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x80541b8) at kernel/qcoreapplication.cpp:1428
#41 0xb7639d3c in QCoreApplication::sendPostedEvents (receiver=0x0, event_type=0) at kernel/qcoreapplication.cpp:1321
#42 0xb7664404 in sendPostedEvents () at kernel/qcoreapplication.h:220
#43 postEventSourceDispatch (s=0x806d580) at kernel/qeventdispatcher_glib.cpp:277
#44 0xb5e55e2f in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#45 0xb5e56560 in ?? () from /usr/lib/libglib-2.0.so.0
#46 0xb5e567fa in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#47 0xb7664837 in QEventDispatcherGlib::processEvents (this=0x8053f38, flags=...) at kernel/qeventdispatcher_glib.cpp:422
#48 0xb638ab1a in QGuiEventDispatcherGlib::processEvents (this=0x8053f38, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#49 0xb763544d in QEventLoop::processEvents (this=0xbfffd7f4, flags=...) at kernel/qeventloop.cpp:149
#50 0xb7635691 in QEventLoop::exec (this=0xbfffd7f4, flags=...) at kernel/qeventloop.cpp:201
#51 0xb7639dea in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1064
#52 0xb62d4da4 in QApplication::exec () at kernel/qapplication.cpp:3755
#53 0x0804b1eb in main (argc=0, argv=0x0) at /usr/src/debug/kde-runtime-4.7.2/nepomuk/servicestub/main.cpp:170

Reported using DrKonqi
Comment 1 Vishesh Handa 2012-12-31 07:23:28 UTC
Git commit fcad3d8371f7f9f8612a71be8868b760479752bf by Vishesh Handa.
Committed on 30/12/2012 at 21:16.
Pushed by vhanda into branch 'KDE/4.10'.

RemovableMediaCache: Thread safety++

Make sure to always lock the mutex when accesing m_metadataCache

M  +6    -1    common/removablemediacache.cpp

http://commits.kde.org/nepomuk-core/fcad3d8371f7f9f8612a71be8868b760479752bf