Bug 275860

Summary: Dolphin crashes occasionally when mouse hovers on files or folders
Product: [Applications] dolphin Reporter: João Vidal da Silva <joao.vidal.silva>
Component: generalAssignee: Peter Penz <peter.penz19>
Status: RESOLVED FIXED    
Severity: crash    
Priority: NOR    
Version: 1.6.1   
Target Milestone: ---   
Platform: Ubuntu   
OS: Linux   
Latest Commit: Version Fixed In: 4.7.0
Sentry Crash Report:

Description João Vidal da Silva 2011-06-16 23:40:55 UTC
Application: dolphin (1.6.1)
KDE Platform Version: 4.6.4 (4.6.4)
Qt Version: 4.7.2
Operating System: Linux 2.6.38-8-generic i686
Distribution: Ubuntu 11.04

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

While browsing some folders, the mouse hovers for about 0.5 sec. on a file and Dolphin crashes.
It doesn't happen everytime the mouse lingers on a file or folder.
It doesn't happen on the same file/folder everytime.
More often than not, image and audio files are involved, but it happens with other types of files as well.


- Custom settings of the application:

View mode: details  (didn't try another)
Preview: unchecked
Sorting: Name, Folders first
Panels: Places, Information, Folders

Checked:
Startup -> Editable location bar
Startup -> Show full path...
Startup -> Show filter bar
Navigation -> Double-click...
Navigation -> Open folders during...
General -> Use common view properties for all folders
General -> "Ask for Confirmation When" group: all checked
General -> Show previews: Folders, Images, Do not create previews for local files above 5MB
General -> Context menu: all checked
General -> Status bar: all checked

The crash can be reproduced some of the time.

-- Backtrace:
Application: Dolphin (dolphin), signal: Aborted
[Current thread is 1 (Thread 0xb786da20 (LWP 2219))]

Thread 5 (Thread 0xb5847b70 (LWP 2220)):
#0  0x007e43e6 in pthread_getspecific () from /lib/i386-linux-gnu/libpthread.so.0
#1  0x00633d75 in ?? () from /usr/lib/i386-linux-gnu/libgthread-2.0.so.0
#2  0x0656e482 in g_thread_self () from /lib/i386-linux-gnu/libglib-2.0.so.0
#3  0x06544513 in g_main_context_iteration () from /lib/i386-linux-gnu/libglib-2.0.so.0
#4  0x03a6e577 in QEventDispatcherGlib::processEvents (this=0x93bdcd8, flags=...) at kernel/qeventdispatcher_glib.cpp:424
#5  0x03a40289 in QEventLoop::processEvents (this=0xb5847290, flags=...) at kernel/qeventloop.cpp:149
#6  0x03a40522 in QEventLoop::exec (this=0xb5847290, flags=...) at kernel/qeventloop.cpp:201
#7  0x0394a2a0 in QThread::exec (this=0x9309d38) at thread/qthread.cpp:492
#8  0x03a21fdb in QInotifyFileSystemWatcherEngine::run (this=0x9309d38) at io/qfilesystemwatcher_inotify.cpp:248
#9  0x0394cda2 in QThreadPrivate::start (arg=0x9309d38) at thread/qthread_unix.cpp:320
#10 0x007dee99 in start_thread () from /lib/i386-linux-gnu/libpthread.so.0
#11 0x008c873e in clone () from /lib/i386-linux-gnu/libc.so.6

Thread 4 (Thread 0xb3e63b70 (LWP 2224)):
#0  0x00a04416 in __kernel_vsyscall ()
#1  0x008d6753 in ?? () from /lib/i386-linux-gnu/libc.so.6
#2  0x00869b94 in ?? () from /lib/i386-linux-gnu/libc.so.6
Backtrace stopped: previous frame identical to this frame (corrupt stack?)

Thread 3 (Thread 0xb3662b70 (LWP 2229)):
[KCrash Handler]
#7  0x00a04416 in __kernel_vsyscall ()
#8  0x00822e71 in raise () from /lib/i386-linux-gnu/libc.so.6
#9  0x0082634e in abort () from /lib/i386-linux-gnu/libc.so.6
#10 0x00859577 in ?? () from /lib/i386-linux-gnu/libc.so.6
#11 0x00863961 in ?? () from /lib/i386-linux-gnu/libc.so.6
#12 0x0086528b in ?? () from /lib/i386-linux-gnu/libc.so.6
#13 0x00867001 in ?? () from /lib/i386-linux-gnu/libc.so.6
#14 0x00868579 in realloc () from /lib/i386-linux-gnu/libc.so.6
#15 0x03946bf4 in qRealloc (ptr=0xb4f15cd0, size=32) at global/qmalloc.cpp:65
#16 0x0394f14e in QByteArray::realloc (this=0xb3661fe8, alloc=12) at tools/qbytearray.cpp:1440
#17 0x0395020f in QByteArray::append (this=0xb3661fe8, ch=58 ':') at tools/qbytearray.cpp:1660
#18 0x039ffbdb in operator+= (this=0xb4f582a0, options=...) at ../../include/QtCore/../../src/corelib/tools/qbytearray.h:488
#19 QUrlPrivate::toEncoded (this=0xb4f582a0, options=...) at io/qurl.cpp:3910
#20 0x03a0045a in QUrlPrivate::validate (this=0xb4f582a0) at io/qurl.cpp:3725
#21 0x03a006c8 in QUrl::isValid (this=0xb4f58460) at io/qurl.cpp:4203
#22 0x0069a932 in Nepomuk::Types::EntityPrivate::EntityPrivate (this=0xb4f16a08, uri_=...) at ../../nepomuk/types/entity.cpp:40
#23 0x006a2b05 in Nepomuk::Types::PropertyPrivate::PropertyPrivate (this=0xb4f16a08, uri=...) at ../../nepomuk/types/property.cpp:38
#24 0x006a7a0c in Nepomuk::Types::EntityManager::getProperty (this=0xb4f09498, uri=...) at ../../nepomuk/types/entitymanager.cpp:61
#25 0x006a2bb5 in Nepomuk::Types::Property::Property (this=0xb3662274, uri=...) at ../../nepomuk/types/property.cpp:156
#26 0x00d8ed11 in KLoadFileMetaDataThread::run (this=0x96ad188) at ../../kio/kfile/kloadfilemetadatathread.cpp:127
#27 0x0394cda2 in QThreadPrivate::start (arg=0x96ad188) at thread/qthread_unix.cpp:320
#28 0x007dee99 in start_thread () from /lib/i386-linux-gnu/libpthread.so.0
#29 0x008c873e in clone () from /lib/i386-linux-gnu/libc.so.6

Thread 2 (Thread 0xb2e61b70 (LWP 2231)):
#0  0x00a04416 in __kernel_vsyscall ()
#1  0x007e348c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/i386-linux-gnu/libpthread.so.0
#2  0x008d63fd in pthread_cond_wait () from /lib/i386-linux-gnu/libc.so.6
#3  0x0394bdaa in QMutexPrivate::wait (this=0xb4f2b470, timeout=-1) at thread/qmutex_unix.cpp:84
#4  0x039484b2 in QMutex::lock (this=0xb4f094a4) at thread/qmutex.cpp:204
#5  0x006a797b in QMutexLocker (this=0xb4f09498, uri=...) at /usr/include/qt4/QtCore/qmutex.h:102
#6  Nepomuk::Types::EntityManager::getProperty (this=0xb4f09498, uri=...) at ../../nepomuk/types/entitymanager.cpp:54
#7  0x006a2bb5 in Nepomuk::Types::Property::Property (this=0xb2e61274, uri=...) at ../../nepomuk/types/property.cpp:156
#8  0x00d8ed11 in KLoadFileMetaDataThread::run (this=0x96ca0c0) at ../../kio/kfile/kloadfilemetadatathread.cpp:127
#9  0x0394cda2 in QThreadPrivate::start (arg=0x96ca0c0) at thread/qthread_unix.cpp:320
#10 0x007dee99 in start_thread () from /lib/i386-linux-gnu/libpthread.so.0
#11 0x008c873e in clone () from /lib/i386-linux-gnu/libc.so.6

Thread 1 (Thread 0xb786da20 (LWP 2219)):
#0  0x00a04416 in __kernel_vsyscall ()
#1  0x008b9f76 in poll () from /lib/i386-linux-gnu/libc.so.6
#2  0x01324e7b in ?? () from /lib/i386-linux-gnu/libdbus-1.so.3
#3  0x0131d7af in ?? () from /lib/i386-linux-gnu/libdbus-1.so.3
#4  0x0131c44c in ?? () from /lib/i386-linux-gnu/libdbus-1.so.3
#5  0x01304572 in ?? () from /lib/i386-linux-gnu/libdbus-1.so.3
#6  0x01305b55 in ?? () from /lib/i386-linux-gnu/libdbus-1.so.3
#7  0x01315db1 in dbus_pending_call_block () from /lib/i386-linux-gnu/libdbus-1.so.3
#8  0x01304e90 in dbus_connection_send_with_reply_and_block () from /lib/i386-linux-gnu/libdbus-1.so.3
#9  0x004a9d71 in q_dbus_connection_send_with_reply_and_block (this=0x9215d30, message=..., sendMode=1, timeout=-1) at qdbus_symbols_p.h:135
#10 QDBusConnectionPrivate::sendWithReply (this=0x9215d30, message=..., sendMode=1, timeout=-1) at qdbusintegrator.cpp:1866
#11 0x00497bbb in QDBusConnection::call (this=0x95e2700, message=..., mode=QDBus::Block, timeout=-1) at qdbusconnection.cpp:529
#12 0x004b7575 in QDBusAbstractInterface::callWithArgumentList (this=0x95b9c20, mode=QDBus::Block, method=..., args=...) at qdbusabstractinterface.cpp:444
#13 0x00cf8aee in requestSlave (protocol=..., url=..., error=@0xbfa78bac, error_text=...) at ../../kdecore/util/klauncher_iface.h:120
#14 KIO::Slave::createSlave (protocol=..., url=..., error=@0xbfa78bac, error_text=...) at ../../kio/kio/slave.cpp:468
#15 0x00ceaad3 in KIO::ProtoQueue::createSlave (this=0x96398c0, protocol=..., job=0x9637e70, url=...) at ../../kio/kio/scheduler.cpp:539
#16 0x00cf293b in KIO::ProtoQueue::startAJob (this=0x96398c0) at ../../kio/kio/scheduler.cpp:625
#17 0x00cf2a51 in KIO::ProtoQueue::qt_metacall (this=0x96398c0, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=0xbfa78d4c) at ./scheduler_p.moc:190
#18 0x03a476ba in QMetaObject::metacall (object=0x96398c0, cl=QMetaObject::InvokeMetaMethod, idx=4, argv=0xbfa78d4c) at kernel/qmetaobject.cpp:237
#19 0x03a574ff in QMetaObject::activate (sender=0x96398f4, m=0x3b7c5a4, local_signal_index=0, argv=0x0) at kernel/qobject.cpp:3287
#20 0x03aa42f7 in QTimer::timeout (this=0x96398f4) at .moc/release-shared/moc_qtimer.cpp:134
#21 0x03a5d3ee in QTimer::timerEvent (this=0x96398f4, e=0xbfa7926c) at kernel/qtimer.cpp:271
#22 0x03a56214 in QObject::event (this=0x96398f4, e=0xbfa7926c) at kernel/qobject.cpp:1190
#23 0x081dcd24 in QApplicationPrivate::notify_helper (this=0x9225418, receiver=0x96398f4, e=0xbfa7926c) at kernel/qapplication.cpp:4462
#24 0x081e18ce in QApplication::notify (this=0xbfa795b0, receiver=0x96398f4, e=0xbfa7926c) at kernel/qapplication.cpp:3862
#25 0x0108b36a in KApplication::notify (this=0xbfa795b0, receiver=0x96398f4, event=0xbfa7926c) at ../../kdeui/kernel/kapplication.cpp:311
#26 0x03a410bb in QCoreApplication::notifyInternal (this=0xbfa795b0, receiver=0x96398f4, event=0xbfa7926c) at kernel/qcoreapplication.cpp:731
#27 0x03a711e4 in sendEvent (this=0x9221834) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:215
#28 QTimerInfoList::activateTimers (this=0x9221834) at kernel/qeventdispatcher_unix.cpp:604
#29 0x03a6ddf4 in timerSourceDispatch (source=0x9221800) at kernel/qeventdispatcher_glib.cpp:184
#30 0x06543aa8 in g_main_context_dispatch () from /lib/i386-linux-gnu/libglib-2.0.so.0
#31 0x06544270 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#32 0x06544524 in g_main_context_iteration () from /lib/i386-linux-gnu/libglib-2.0.so.0
#33 0x03a6e53c in QEventDispatcherGlib::processEvents (this=0x91e5410, flags=...) at kernel/qeventdispatcher_glib.cpp:422
#34 0x08290775 in QGuiEventDispatcherGlib::processEvents (this=0x91e5410, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#35 0x03a40289 in QEventLoop::processEvents (this=0xbfa79504, flags=...) at kernel/qeventloop.cpp:149
#36 0x03a40522 in QEventLoop::exec (this=0xbfa79504, flags=...) at kernel/qeventloop.cpp:201
#37 0x03a44ecc in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1008
#38 0x081da8e7 in QApplication::exec () at kernel/qapplication.cpp:3736
#39 0x00b64edd in kdemain (argc=5, argv=0xbfa797a4) at ../../../dolphin/src/main.cpp:98
#40 0x080485bb in main (argc=5, argv=0xbfa797a4) at dolphin_dummy.cpp:3

Reported using DrKonqi
Comment 1 Peter Penz 2011-06-17 07:03:50 UTC
Thanks for the report. This is an issue in the meta data analyzers
that Dolphin uses to get the metadata of a file. Dolphin for KDE 4.7 won't
crash anymore in this case (see
http://ppenz.blogspot.com/2011/03/dont-crash-when-reading-metadata.html for
details).