Bug 277095

Summary: Dolphin crashed opening a directory in Document directory
Product: [Applications] dolphin Reporter: Jerome <jejeflacucho>
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 Jerome 2011-07-04 22:04:56 UTC
Application: dolphin (1.6.1)
KDE Platform Version: 4.6.2 (4.6.2)
Qt Version: 4.7.2
Operating System: Linux 2.6.38-8-generic x86_64
Distribution: Ubuntu 11.04

-- Information about the crash:
- What I was doing when the application crashed:
I opened a directory in my Documents directory and Dolphin crashed in 1 sec. This directory have doc, odt, ppt and jpeg files. Thumbnail is activated in that directory. I had to open 8 times this directory before Dolphin stays open !

The crash can be reproduced some of the time.

-- Backtrace:
Application: Dolphin (dolphin), signal: Segmentation fault
pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
	in ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S
[Current thread is 1 (Thread 0x7fba4c805780 (LWP 2308))]

Thread 4 (Thread 0x7fba38b58700 (LWP 2309)):
#0  0x00007fba4c0f6f03 in __poll (fds=<value optimized out>, nfds=<value optimized out>, timeout=<value optimized out>) at ../sysdeps/unix/sysv/linux/poll.c:87
#1  0x00007fba44895104 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fba44895639 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007fba4857c446 in QEventDispatcherGlib::processEvents (this=0x7fba340008b0, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:424
#4  0x00007fba48550882 in QEventLoop::processEvents (this=<value optimized out>, flags=...) at kernel/qeventloop.cpp:149
#5  0x00007fba48550abc in QEventLoop::exec (this=0x7fba38b57dd0, flags=...) at kernel/qeventloop.cpp:201
#6  0x00007fba48467924 in QThread::exec (this=<value optimized out>) at thread/qthread.cpp:492
#7  0x00007fba48532c2f in QInotifyFileSystemWatcherEngine::run (this=0x12fd840) at io/qfilesystemwatcher_inotify.cpp:248
#8  0x00007fba4846a175 in QThreadPrivate::start (arg=0x12fd840) at thread/qthread_unix.cpp:320
#9  0x00007fba44d60d8c in start_thread (arg=0x7fba38b58700) at pthread_create.c:304
#10 0x00007fba4c10404d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#11 0x0000000000000000 in ?? ()

Thread 3 (Thread 0x7fba323e3700 (LWP 2313)):
#0  0x00007fba4c0f6f03 in __poll (fds=<value optimized out>, nfds=<value optimized out>, timeout=<value optimized out>) at ../sysdeps/unix/sysv/linux/poll.c:87
#1  0x00007fba44895104 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fba44895639 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007fba4857c446 in QEventDispatcherGlib::processEvents (this=0x15d3450, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:424
#4  0x00007fba48550882 in QEventLoop::processEvents (this=<value optimized out>, flags=...) at kernel/qeventloop.cpp:149
#5  0x00007fba48550abc in QEventLoop::exec (this=0x7fba323e2dd0, flags=...) at kernel/qeventloop.cpp:201
#6  0x00007fba48467924 in QThread::exec (this=<value optimized out>) at thread/qthread.cpp:492
#7  0x00007fba48532c2f in QInotifyFileSystemWatcherEngine::run (this=0x16b40f0) at io/qfilesystemwatcher_inotify.cpp:248
#8  0x00007fba4846a175 in QThreadPrivate::start (arg=0x16b40f0) at thread/qthread_unix.cpp:320
#9  0x00007fba44d60d8c in start_thread (arg=0x7fba323e3700) at pthread_create.c:304
#10 0x00007fba4c10404d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#11 0x0000000000000000 in ?? ()

Thread 2 (Thread 0x7fba31be2700 (LWP 2332)):
[KCrash Handler]
#6  readLittleEndianInt32 (this=0x7fba2c10eeb0, s=<value optimized out>, input=<value optimized out>) at /build/buildd/strigi-0.7.2/src/streams/textutils.h:78
#7  Strigi::OleInputStream::Private::Private (this=0x7fba2c10eeb0, s=<value optimized out>, input=<value optimized out>) at /build/buildd/strigi-0.7.2/src/streams/oleinputstream.cpp:208
#8  0x00007fba42204162 in Strigi::OleInputStream::OleInputStream (this=<value optimized out>, input=<value optimized out>) at /build/buildd/strigi-0.7.2/src/streams/oleinputstream.cpp:151
#9  0x00007fba46525dfd in OleEndAnalyzer::analyze (this=0x7fba2c056450, ar=..., in=<value optimized out>) at /build/buildd/strigi-0.7.2/src/streamanalyzer/endanalyzers/oleendanalyzer.cpp:377
#10 0x00007fba4650feca in Strigi::StreamAnalyzerPrivate::analyze (this=0x7fba2c01c460, idx=..., input=0x7fba2c0342f0) at /build/buildd/strigi-0.7.2/src/streamanalyzer/streamanalyzer.cpp:421
#11 0x00007fba4a1947d1 in KFileMetaInfoPrivate::init (this=0x7fba2c00d550, stream=..., url=..., mtime=<value optimized out>, w=<value optimized out>) at ../../kio/kio/kfilemetainfo.cpp:257
#12 0x00007fba4a19502f in KFileMetaInfo::KFileMetaInfo (this=0x7fba31be1ce0, path=<value optimized out>, w=...) at ../../kio/kio/kfilemetainfo.cpp:286
#13 0x00007fba4a2624b6 in KLoadFileMetaDataThread::run (this=0x1837cc0) at ../../kio/kfile/kloadfilemetadatathread.cpp:143
#14 0x00007fba4846a175 in QThreadPrivate::start (arg=0x1837cc0) at thread/qthread_unix.cpp:320
#15 0x00007fba44d60d8c in start_thread (arg=0x7fba31be2700) at pthread_create.c:304
#16 0x00007fba4c10404d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#17 0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7fba4c805780 (LWP 2308)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007fba4846a82b in wait (this=<value optimized out>, mutex=0x12ff6f0, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:88
#2  QWaitCondition::wait (this=<value optimized out>, mutex=0x12ff6f0, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:160
#3  0x00007fba48469910 in QThread::wait (this=<value optimized out>, time=18446744073709551615) at thread/qthread_unix.cpp:722
#4  0x00007fba485265d0 in QFileSystemWatcher::~QFileSystemWatcher (this=0x12ff3e0, __in_chrg=<value optimized out>) at io/qfilesystemwatcher.cpp:446
#5  0x00007fba485266a9 in QFileSystemWatcher::~QFileSystemWatcher (this=0x12ff3e0, __in_chrg=<value optimized out>) at io/qfilesystemwatcher.cpp:462
#6  0x00007fba48563c14 in QObjectPrivate::deleteChildren (this=0x12ff340) at kernel/qobject.cpp:1964
#7  0x00007fba485685f4 in QObject::~QObject (this=0x12fda50, __in_chrg=<value optimized out>) at kernel/qobject.cpp:946
#8  0x00007fba47c397d9 in Solid::Backends::Fstab::FstabWatcher::~FstabWatcher (this=0x12fda50, __in_chrg=<value optimized out>) at ../../../solid/solid/backends/fstab/fstabwatcher.cpp:51
#9  0x00007fba4c057961 in __run_exit_handlers (status=1) at exit.c:78
#10 exit (status=1) at exit.c:100
#11 0x00007fba48f7cd48 in qt_xio_errhandler () at kernel/qapplication_x11.cpp:781
#12 0x00007fba49c2e638 in KApplication::xioErrhandler (this=0x7fffe8167b10, dpy=0x10cee00) at ../../kdeui/kernel/kapplication.cpp:419
#13 0x00007fba45c52dee in _XIOError () from /usr/lib/x86_64-linux-gnu/libX11.so.6
#14 0x00007fba45c5062d in _XEventsQueued () from /usr/lib/x86_64-linux-gnu/libX11.so.6
#15 0x00007fba45c40f1f in XEventsQueued () from /usr/lib/x86_64-linux-gnu/libX11.so.6
#16 0x00007fba48fb7ca7 in x11EventSourcePrepare (s=0x10b63d0, timeout=<value optimized out>) at kernel/qguieventdispatcher_glib.cpp:77
#17 0x00007fba448940a2 in g_main_context_prepare () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#18 0x00007fba44894f9d in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#19 0x00007fba44895639 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#20 0x00007fba4857c446 in QEventDispatcherGlib::processEvents (this=0x1065db0, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:424
#21 0x00007fba48fb7dfe in QGuiEventDispatcherGlib::processEvents (this=<value optimized out>, flags=<value optimized out>) at kernel/qguieventdispatcher_glib.cpp:204
#22 0x00007fba48550882 in QEventLoop::processEvents (this=<value optimized out>, flags=...) at kernel/qeventloop.cpp:149
#23 0x00007fba48550abc in QEventLoop::exec (this=0x7fffe8167aa0, flags=...) at kernel/qeventloop.cpp:201
#24 0x00007fba48554ecb in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1008
#25 0x00007fba4c3f4995 in kdemain (argc=5, argv=0x7fffe8168038) at ../../../dolphin/src/main.cpp:98
#26 0x00007fba4c03ceff in __libc_start_main (main=0x400730 <main(int, char**)>, argc=5, ubp_av=0x7fffe8168038, init=<value optimized out>, fini=<value optimized out>, rtld_fini=<value optimized out>, stack_end=0x7fffe8168028) at libc-start.c:226
#27 0x0000000000400659 in _start ()

Possible duplicates by query: bug 277058, bug 276896, bug 276532, bug 276246, bug 276217.

Reported using DrKonqi
Comment 1 Peter Penz 2011-07-05 06:09:10 UTC
Thanks for the report. This is an issue in the corresponding Strigi analyzer
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).