Bug 263468 - Dolphin crashes
Summary: Dolphin crashes
Status: RESOLVED FIXED
Alias: None
Product: dolphin
Classification: Applications
Component: general (show other bugs)
Version: 16.12.2
Platform: Ubuntu Linux
: NOR crash
Target Milestone: ---
Assignee: Peter Penz
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-01-17 21:03 UTC by Eddy Kivits
Modified: 2011-02-27 20:11 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In: 4.7.0


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Eddy Kivits 2011-01-17 21:03:46 UTC
Application: dolphin (1.6)
KDE Platform Version: 4.5.95 (4.6 RC2)
Qt Version: 4.7.0
Operating System: Linux 2.6.32-25-generic i686
Distribution: Ubuntu 10.10

-- Information about the crash:
- What I was doing when the application crashed:
I was selecting some files by using the select options (+ sign).

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

Thread 5 (Thread 0xb5678b70 (LWP 7168)):
#0  0x00ee0521 in ?? () from /lib/libglib-2.0.so.0
#1  0x00ee0848 in g_main_context_iteration () from /lib/libglib-2.0.so.0
#2  0x0140e59f in QEventDispatcherGlib::processEvents (this=0x8225fc0, flags=...) at kernel/qeventdispatcher_glib.cpp:417
#3  0x013de609 in QEventLoop::processEvents (this=0xb5678290, flags=) at kernel/qeventloop.cpp:149
#4  0x013dea8a in QEventLoop::exec (this=0xb5678290, flags=...) at kernel/qeventloop.cpp:201
#5  0x012dab7e in QThread::exec (this=0x82570f8) at thread/qthread.cpp:490
#6  0x013bd35b in QInotifyFileSystemWatcherEngine::run (this=0x82570f8) at io/qfilesystemwatcher_inotify.cpp:248
#7  0x012dddf9 in QThreadPrivate::start (arg=0x82570f8) at thread/qthread_unix.cpp:266
#8  0x00532cc9 in start_thread (arg=0xb5678b70) at pthread_create.c:304
#9  0x0062069e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130

Thread 4 (Thread 0xb4e3db70 (LWP 7169)):
#0  0x0049de36 in clock_gettime (clock_id=4857844, tp=0xb4e3cfb0) at ../sysdeps/unix/clock_gettime.c:100
#1  0x0133950b in do_gettime () at tools/qelapsedtimer_unix.cpp:105
#2  qt_gettime () at tools/qelapsedtimer_unix.cpp:119
#3  0x014106e5 in QTimerInfoList::updateCurrentTime (this=0x832d7bc) at kernel/qeventdispatcher_unix.cpp:339
#4  0x0141072a in QTimerInfoList::timerWait (this=0x832d7bc, tm=...) at kernel/qeventdispatcher_unix.cpp:442
#5  0x0140e7a8 in timerSourcePrepareHelper (src=<value optimized out>, timeout=0xb4e3d0dc) at kernel/qeventdispatcher_glib.cpp:136
#6  0x0140e83d in timerSourcePrepare (source=0x0, timeout=0x4a1ff4) at kernel/qeventdispatcher_glib.cpp:169
#7  0x00edfe6a in g_main_context_prepare () from /lib/libglib-2.0.so.0
#8  0x00ee0279 in ?? () from /lib/libglib-2.0.so.0
#9  0x00ee0848 in g_main_context_iteration () from /lib/libglib-2.0.so.0
#10 0x0140e59f in QEventDispatcherGlib::processEvents (this=0x8325ad0, flags=...) at kernel/qeventdispatcher_glib.cpp:417
#11 0x013de609 in QEventLoop::processEvents (this=0xb4e3d2b0, flags=) at kernel/qeventloop.cpp:149
#12 0x013dea8a in QEventLoop::exec (this=0xb4e3d2b0, flags=...) at kernel/qeventloop.cpp:201
#13 0x012dab7e in QThread::exec (this=0x82fd708) at thread/qthread.cpp:490
#14 0x0175e171 in Herqq::Upnp::HControlPointThread::run() () from /usr/lib/libHUpnp.so.0
#15 0x012dddf9 in QThreadPrivate::start (arg=0x82fd708) at thread/qthread_unix.cpp:266
#16 0x00532cc9 in start_thread (arg=0xb4e3db70) at pthread_create.c:304
#17 0x0062069e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130

Thread 3 (Thread 0xb337fb70 (LWP 7191)):
#0  0x0062df4a in pthread_mutex_lock (mutex=0x8551c1c) at forward.c:182
#1  0x00edfea3 in g_main_context_prepare () from /lib/libglib-2.0.so.0
#2  0x00ee0279 in ?? () from /lib/libglib-2.0.so.0
#3  0x00ee0848 in g_main_context_iteration () from /lib/libglib-2.0.so.0
#4  0x0140e59f in QEventDispatcherGlib::processEvents (this=0x8327408, flags=...) at kernel/qeventdispatcher_glib.cpp:417
#5  0x013de609 in QEventLoop::processEvents (this=0xb337f290, flags=) at kernel/qeventloop.cpp:149
#6  0x013dea8a in QEventLoop::exec (this=0xb337f290, flags=...) at kernel/qeventloop.cpp:201
#7  0x012dab7e in QThread::exec (this=0x855a240) at thread/qthread.cpp:490
#8  0x013bd35b in QInotifyFileSystemWatcherEngine::run (this=0x855a240) at io/qfilesystemwatcher_inotify.cpp:248
#9  0x012dddf9 in QThreadPrivate::start (arg=0x855a240) at thread/qthread_unix.cpp:266
#10 0x00532cc9 in start_thread (arg=0xb337fb70) at pthread_create.c:304
#11 0x0062069e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130

Thread 2 (Thread 0xb1b7cb70 (LWP 7443)):
[KCrash Handler]
#7  0x00506422 in __kernel_vsyscall ()
#8  0x0057a941 in raise (sig=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
#9  0x0057de42 in abort () at abort.c:92
#10 0x005738e8 in __assert_fail (assertion=0xb0e64c "m_path.size() > m_parent->p->m_path.size()+1", file=0xb0e608 "/build/buildd/strigi-0.7.2/src/streamanalyzer/analysisresult.cpp", line=134, function=0xb0e940 "Strigi::AnalysisResult::Private::Private(const std::string&, const char*, time_t, Strigi::AnalysisResult&, Strigi::AnalysisResult&)") at assert.c:81
#11 0x00abf0a1 in Strigi::AnalysisResult::Private::Private (this=0x8a492d0, p=..., name=0x8a49225 "", mt=1260918586, t=..., parent=...) at /build/buildd/strigi-0.7.2/src/streamanalyzer/analysisresult.cpp:134
#12 0x00abf193 in Strigi::AnalysisResult::AnalysisResult (this=0x8941cc8, path=..., name=0x8a49225 "", mt=1260918586, parent=...) at /build/buildd/strigi-0.7.2/src/streamanalyzer/analysisresult.cpp:140
#13 0x00abfde7 in Strigi::AnalysisResult::indexChild (this=0xb1b7c074, name=..., mt=1260918586, file=0x8a088f8) at /build/buildd/strigi-0.7.2/src/streamanalyzer/analysisresult.cpp:249
#14 0x00afeccb in ZipEndAnalyzer::analyze (this=0x8a36910, idx=..., in=0x8a464e0) at /build/buildd/strigi-0.7.2/src/streamanalyzer/endanalyzers/zipendanalyzer.cpp:62
#15 0x00ae36c2 in Strigi::StreamAnalyzerPrivate::analyze (this=0x8a3a6f8, idx=..., input=0x8a464e0) at /build/buildd/strigi-0.7.2/src/streamanalyzer/streamanalyzer.cpp:421
#16 0x01119cd2 in KFileMetaInfoPrivate::init (this=0x89b6c18, stream=..., url=..., mtime=1264763118, w=...) at ../../kio/kio/kfilemetainfo.cpp:257
#17 0x0111be48 in KFileMetaInfo::KFileMetaInfo (this=0xb1b7c2bc, path=..., w=...) at ../../kio/kio/kfilemetainfo.cpp:286
#18 0x01221317 in KLoadFileMetaDataThread::run (this=0x8994040) at ../../kio/kfile/kloadfilemetadatathread.cpp:143
#19 0x012dddf9 in QThreadPrivate::start (arg=0x8994040) at thread/qthread_unix.cpp:266
#20 0x00532cc9 in start_thread (arg=0xb1b7cb70) at pthread_create.c:304
#21 0x0062069e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130

Thread 1 (Thread 0xb77e3930 (LWP 7167)):
#0  0x00506422 in __kernel_vsyscall ()
#1  0x005374dc in pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/pthread_cond_wait.S:169
#2  0x0062dd9d in __pthread_cond_wait (cond=0x8257b60, mutex=0x8257b48) at forward.c:139
#3  0x012de9c7 in wait (this=0x8256c08, mutex=0x8256bf0, time=4294967295) at thread/qwaitcondition_unix.cpp:88
#4  QWaitCondition::wait (this=0x8256c08, mutex=0x8256bf0, time=4294967295) at thread/qwaitcondition_unix.cpp:160
#5  0x012dda1f in QThread::wait (this=0x82570f8, time=4294967295) at thread/qthread_unix.cpp:652
#6  0x013aecb7 in QFileSystemWatcher::~QFileSystemWatcher (this=0x8234bd0, __in_chrg=<value optimized out>) at io/qfilesystemwatcher.cpp:440
#7  0x013f2816 in QObjectPrivate::deleteChildren (this=0x82570a0) at kernel/qobject.cpp:1957
#8  0x013f9f30 in QObject::~QObject (this=0x821beb8, __in_chrg=<value optimized out>) at kernel/qobject.cpp:945
#9  0x00d44bbb in Solid::Backends::Fstab::FstabWatcher::~FstabWatcher (this=0x821beb8, __in_chrg=<value optimized out>) at ../../../solid/solid/backends/fstab/fstabwatcher.cpp:51
#10 0x00d44ad5 in destroy () at ../../../solid/solid/backends/fstab/fstabwatcher.cpp:30
#11 0x00caeffb in Solid::CleanUpGlobalStatic::~CleanUpGlobalStatic (this=0xd64950, __in_chrg=<value optimized out>) at ../../../solid/solid/soliddefs_p.h:67
#12 0x0057f69e in __run_exit_handlers (status=1, listp=0x6a9324, run_list_atexit=true) at exit.c:78
#13 0x0057f70f in exit (status=1) at exit.c:100
#14 0x047ade7b in qt_xio_errhandler () at kernel/qapplication_x11.cpp:745
#15 0x0592d7ea in KApplication::xioErrhandler (this=0xbfff2a80, dpy=0x8186b20) at ../../kdeui/kernel/kapplication.cpp:417
#16 0x0592d826 in kde_xio_errhandler (dpy=0x8186b20) at ../../kdeui/kernel/kapplication.cpp:126
#17 0x0154dc36 in _XIOError () from /usr/lib/libX11.so.6
#18 0x01555a8a in ?? () from /usr/lib/libX11.so.6
#19 0x01556406 in _XEventsQueued () from /usr/lib/libX11.so.6
#20 0x0153eb0b in XEventsQueued () from /usr/lib/libX11.so.6
#21 0x047eddb5 in x11EventSourceCheck (s=0x8172bf0) at kernel/qguieventdispatcher_glib.cpp:87
#22 0x00edfb39 in g_main_context_check () from /lib/libglib-2.0.so.0
#23 0x00ee045e in ?? () from /lib/libglib-2.0.so.0
#24 0x00ee0848 in g_main_context_iteration () from /lib/libglib-2.0.so.0
#25 0x0140e565 in QEventDispatcherGlib::processEvents (this=0x816caf0, flags=...) at kernel/qeventdispatcher_glib.cpp:415
#26 0x047edbe5 in QGuiEventDispatcherGlib::processEvents (this=0x816caf0, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#27 0x013de609 in QEventLoop::processEvents (this=0xbfff29d4, flags=) at kernel/qeventloop.cpp:149
#28 0x013dea8a in QEventLoop::exec (this=0xbfff29d4, flags=...) at kernel/qeventloop.cpp:201
#29 0x013e300f in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1009
#30 0x0472ae07 in QApplication::exec () at kernel/qapplication.cpp:3672
#31 0x009882ab in kdemain (argc=5, argv=0xbfff2c74) at ../../../../apps/dolphin/src/main.cpp:98
#32 0x080485ab in main (argc=5, argv=0xbfff2c74) at dolphin_dummy.cpp:3

Possible duplicates by query: bug 261952, bug 258715, bug 253991, bug 252152, bug 251462.

Reported using DrKonqi
Comment 1 Peter Penz 2011-02-27 20:11:34 UTC
Git commit d1254968eac95f4d9d8c47552e27f0cc40e6aed9 by Peter Penz.
Committed on 27/02/2011 at 20:01.
Pushed by ppenz into branch 'master'.

KFileMetaDataProvider: Don't crash if a Strigi analyzer crashes

Some Strigi analyzers are still unstable and crash under certain circumstances. This patch moves the reading of the meta-data into a custom process instead of doing it in a thread, which assures that a crashing Strigi analyzer does not result in crashing Dolphin or Konqueror when hovering some items.

FIXED-IN: 4.7.0
BUG: 257964
BUG: 258715
BUG: 262299
BUG: 263468
BUG: 263502
BUG: 264254
BUG: 234799
BUG: 251462
BUG: 251701
BUG: 258918
BUG: 192377
BUG: 195564
BUG: 199368
BUG: 210841
BUG: 245376
BUG: 246461
BUG: 246901
BUG: 249150
BUG: 261952
BUG: 249876
BUG: 179376
BUG: 179417
BUG: 179420
BUG: 181591
BUG: 183269
BUG: 183722
BUG: 185667
BUG: 188596
BUG: 191864
BUG: 193112
BUG: 205813
BUG: 244621
BUG: 245451
BUG: 248214
BUG: 249655
BUG: 249876
BUG: 265549
BUG: 267079

M  +11   -1    kio/CMakeLists.txt     
M  +68   -38   kio/kfile/kfilemetadataprovider.cpp     
M  +2    -1    kio/kfile/kfilemetadataprovider_p.h     
A  +174  -0    kio/kfile/kfilemetadatareader.cpp         [License: LGPL (v2+)]
M  +0    -2    kio/kfile/kfilemetadatawidget.cpp     
D  +0    -178  kio/kfile/kloadfilemetadatathread.cpp     
D  +0    -96   kio/kfile/kloadfilemetadatathread_p.h     

http://commits.kde.org/kdelibs/d1254968eac95f4d9d8c47552e27f0cc40e6aed9