Bug 262299 - Crash while browsing an FTP site
Summary: Crash while browsing an FTP site
Status: RESOLVED FIXED
Alias: None
Product: dolphin
Classification: Applications
Component: general (show other bugs)
Version: 16.12.2
Platform: openSUSE Linux
: NOR crash
Target Milestone: ---
Assignee: Peter Penz
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-01-06 13:52 UTC by Silviu Marin-Caea
Modified: 2011-02-27 20:11 UTC (History)
1 user (show)

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 Silviu Marin-Caea 2011-01-06 13:52:02 UTC
Application: dolphin (1.5.9)
KDE Platform Version: 4.5.85 (4.6 Beta2)
Qt Version: 4.7.1
Operating System: Linux 2.6.37-rc7-desktop x86_64
Distribution: "openSUSE 11.4 Milestone 5 of 6 (x86_64)"

-- Information about the crash:
Trying to copy a file into an FTP site where I logged in with username and password.

Maybe it's not nice of me to say it like this, but it is a hard fact: dolphin crashes like it's Windows 98.  It's the "illegal operation" experience revived on Linux!  About 3-4 crashes a day.  I suspect it has something to do with the indexing infrastructure, strigi and friends.  I'm not talking only about this computer that runs openSUSE Factory.  It happens the same way on my home computer with openSUSE 11.3 with the original KDE from the distribution.

I have decided to submit bugreports for all these crashes.

The crash can be reproduced every time.

-- Backtrace:
Application: Dolphin (kdeinit4), signal: Segmentation fault
[Current thread is 1 (Thread 0x7fa1d2d74760 (LWP 3795))]

Thread 3 (Thread 0x7fa1bb59f700 (LWP 3796)):
#0  0x00007fa1d0468263 in poll () from /lib64/libc.so.6
#1  0x00007fa1cd2ddf84 in ?? () from /lib64/libglib-2.0.so.0
#2  0x00007fa1cd2de4c0 in g_main_context_iteration () from /lib64/libglib-2.0.so.0
#3  0x00007fa1d1a599c6 in QEventDispatcherGlib::processEvents (this=0x8d0200, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:424
#4  0x00007fa1d1a2e092 in QEventLoop::processEvents (this=<value optimized out>, flags=...) at kernel/qeventloop.cpp:149
#5  0x00007fa1d1a2e2a5 in QEventLoop::exec (this=0x7fa1bb59ede0, flags=...) at kernel/qeventloop.cpp:201
#6  0x00007fa1d1943214 in QThread::exec (this=<value optimized out>) at thread/qthread.cpp:490
#7  0x00007fa1d1a0f9a8 in QInotifyFileSystemWatcherEngine::run (this=0x7cab10) at io/qfilesystemwatcher_inotify.cpp:248
#8  0x00007fa1d1945a8e in QThreadPrivate::start (arg=0x7cab10) at thread/qthread_unix.cpp:285
#9  0x00007fa1d16b6a3f in start_thread () from /lib64/libpthread.so.0
#10 0x00007fa1d04713dd in clone () from /lib64/libc.so.6
#11 0x0000000000000000 in ?? ()

Thread 2 (Thread 0x7fa1b5b0e700 (LWP 3841)):
[KCrash Handler]
#6  readLittleEndianInt32 (this=0xeff980, s=<value optimized out>, input=<value optimized out>) at /usr/src/debug/strigi-0.7.3/libstreams/include/strigi/textutils.h:78
#7  Strigi::OleInputStream::Private::Private (this=0xeff980, s=<value optimized out>, input=<value optimized out>) at /usr/src/debug/strigi-0.7.3/libstreams/lib/oleinputstream.cpp:208
#8  0x00007fa1c936d232 in Strigi::OleInputStream::OleInputStream (this=0x7fa1b5b0d640, input=<value optimized out>) at /usr/src/debug/strigi-0.7.3/libstreams/lib/oleinputstream.cpp:151
#9  0x00007fa1ca6b7496 in OleEndAnalyzer::analyze (this=0xd716c0, ar=..., in=<value optimized out>) at /usr/src/debug/strigi-0.7.3/libstreamanalyzer/lib/endanalyzers/oleendanalyzer.cpp:377
#10 0x00007fa1ca6991b2 in Strigi::StreamAnalyzerPrivate::analyze (this=0x1c, idx=..., input=0xe50c80) at /usr/src/debug/strigi-0.7.3/libstreamanalyzer/lib/streamanalyzer.cpp:424
#11 0x00007fa1caeb1b54 in KFileMetaInfoPrivate::init (this=0x7b0dc0, stream=..., url=<value optimized out>, mtime=1294317083, w=<value optimized out>) at /usr/src/debug/kdelibs-4.5.85/kio/kio/kfilemetainfo.cpp:257
#12 0x00007fa1caf3a228 in KFileMetaInfo::KFileMetaInfo (this=0x7fa1b5b0dd00, path=<value optimized out>, w=<value optimized out>) at /usr/src/debug/kdelibs-4.5.85/kio/kio/kfilemetainfo.cpp:286
#13 0x00007fa1caf561a1 in KLoadFileMetaDataThread::run (this=0xca1570) at /usr/src/debug/kdelibs-4.5.85/kio/kfile/kloadfilemetadatathread.cpp:143
#14 0x00007fa1d1945a8e in QThreadPrivate::start (arg=0xca1570) at thread/qthread_unix.cpp:285
#15 0x00007fa1d16b6a3f in start_thread () from /lib64/libpthread.so.0
#16 0x00007fa1d04713dd in clone () from /lib64/libc.so.6
#17 0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7fa1d2d74760 (LWP 3795)):
#0  0x00007fa1d0468263 in poll () from /lib64/libc.so.6
#1  0x00007fa1ce3f7c2a in ?? () from /usr/lib64/libxcb.so.1
#2  0x00007fa1ce3f92df in xcb_wait_for_reply () from /usr/lib64/libxcb.so.1
#3  0x00007fa1d22492cd in _XReply () from /usr/lib64/libX11.so.6
#4  0x00007fa1d222eb78 in XGrabPointer () from /usr/lib64/libX11.so.6
#5  0x00007fa1d0c711e6 in QWidget::grabMouse() () from /usr/lib64/libQtGui.so.4
#6  0x00007fa1d0c6a4c5 in ?? () from /usr/lib64/libQtGui.so.4
#7  0x00007fa1d0c6a9c6 in ?? () from /usr/lib64/libQtGui.so.4
#8  0x00007fa1d0bf00f8 in QDrag::exec(QFlags<Qt::DropAction>, Qt::DropAction) () from /usr/lib64/libQtGui.so.4
#9  0x00007fa1c1770755 in DragAndDropHelper::startDrag (this=0x8dcde0, itemView=0x7d61d0, supportedActions=..., dolphinViewController=<value optimized out>) at /usr/src/debug/kdebase-4.5.85/apps/dolphin/src/views/draganddrophelper.cpp:78
#10 0x00007fa1c175aa4e in DolphinDetailsView::startDrag (this=0x7d61d0, supportedActions=...) at /usr/src/debug/kdebase-4.5.85/apps/dolphin/src/views/dolphindetailsview.cpp:222
#11 0x00007fa1d10ec421 in QAbstractItemView::mouseMoveEvent(QMouseEvent*) () from /usr/lib64/libQtGui.so.4
#12 0x00007fa1c176a885 in DolphinTreeView::mouseMoveEvent (this=0x7d61d0, event=0x7fff4878c3e0) at /usr/src/debug/kdebase-4.5.85/apps/dolphin/src/views/dolphintreeview.cpp:156
#13 0x00007fa1d0c2f58c in QWidget::event(QEvent*) () from /usr/lib64/libQtGui.so.4
#14 0x00007fa1d0fd38f6 in QFrame::event(QEvent*) () from /usr/lib64/libQtGui.so.4
#15 0x00007fa1d10e3c33 in QAbstractItemView::viewportEvent(QEvent*) () from /usr/lib64/libQtGui.so.4
#16 0x00007fa1d1128aa5 in QTreeView::viewportEvent(QEvent*) () from /usr/lib64/libQtGui.so.4
#17 0x00007fa1d1a2edc7 in QCoreApplicationPrivate::sendThroughObjectEventFilters (this=<value optimized out>, receiver=0x83c9d0, event=0x7fff4878c3e0) at kernel/qcoreapplication.cpp:847
#18 0x00007fa1d0bddd11 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib64/libQtGui.so.4
#19 0x00007fa1d0be6acc in QApplication::notify(QObject*, QEvent*) () from /usr/lib64/libQtGui.so.4
#20 0x00007fa1d26d0796 in KApplication::notify (this=0x7fff4878d120, receiver=0x83c9d0, event=0x7fff4878c3e0) at /usr/src/debug/kdelibs-4.5.85/kdeui/kernel/kapplication.cpp:311
#21 0x00007fa1d1a2ec3c in QCoreApplication::notifyInternal (this=0x7fff4878d120, receiver=0x83c9d0, event=0x7fff4878c3e0) at kernel/qcoreapplication.cpp:732
#22 0x00007fa1d0bded45 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) () from /usr/lib64/libQtGui.so.4
#23 0x00007fa1d0c5ce28 in ?? () from /usr/lib64/libQtGui.so.4
#24 0x00007fa1d0c5b4e9 in QApplication::x11ProcessEvent(_XEvent*) () from /usr/lib64/libQtGui.so.4
#25 0x00007fa1d0c83102 in ?? () from /usr/lib64/libQtGui.so.4
#26 0x00007fa1cd2dda43 in g_main_context_dispatch () from /lib64/libglib-2.0.so.0
#27 0x00007fa1cd2de220 in ?? () from /lib64/libglib-2.0.so.0
#28 0x00007fa1cd2de4c0 in g_main_context_iteration () from /lib64/libglib-2.0.so.0
#29 0x00007fa1d1a5996f in QEventDispatcherGlib::processEvents (this=0x68c3a0, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:422
#30 0x00007fa1d0c82d9e in ?? () from /usr/lib64/libQtGui.so.4
#31 0x00007fa1d1a2e092 in QEventLoop::processEvents (this=<value optimized out>, flags=...) at kernel/qeventloop.cpp:149
#32 0x00007fa1d1a2e2a5 in QEventLoop::exec (this=0x7fff4878d060, flags=...) at kernel/qeventloop.cpp:201
#33 0x00007fa1d1a326eb in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1009
#34 0x00007fa1c20fb885 in kdemain (argc=5, argv=0x670000) at /usr/src/debug/kdebase-4.5.85/apps/dolphin/src/main.cpp:98
#35 0x00000000004075f9 in _start ()

Possible duplicates by query: bug 259829, bug 259393, bug 259073, bug 257789, bug 257384.

Reported using DrKonqi
Comment 1 Dario Andres 2011-01-23 17:25:38 UTC
[Comment from a bug triager]
This crash is indeed caused by the file analyzer (Strigi) with some kinds of files: bug 249876 and bug 251701
- Do you remember which kind of files were Dolphin showing ?
Thanks
Comment 2 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