Bug 261952

Summary: Dolphin crashes
Product: [Applications] dolphin Reporter: ferikusu <ferikusu>
Component: generalAssignee: Peter Penz <peter.penz19>
Status: RESOLVED FIXED    
Severity: crash    
Priority: NOR    
Version: 16.12.2   
Target Milestone: ---   
Platform: Compiled Sources   
OS: Linux   
Latest Commit: Version Fixed In: 4.7.0
Sentry Crash Report:

Description ferikusu 2011-01-03 13:48:32 UTC
Application: dolphin (1.5)
KDE Platform Version: 4.5.4 (KDE 4.5.4) (Compiled from sources)
Qt Version: 4.7.1
Operating System: Linux 2.6.35.10-72.fc14.x86_64 x86_64
Distribution (Platform): Fedora RPMs

-- Information about the crash:
- What I was doing when the application crashed:
Dolphin crashes when i move the mouse over a .doc file (always same)

The crash can be reproduced some of the time.

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

Thread 2 (Thread 0x7f1ac3f15700 (LWP 3335)):
[KCrash Handler]
#6  0x0000003e10234085 in raise () from /lib64/libc.so.6
#7  0x0000003e10235a36 in abort () from /lib64/libc.so.6
#8  0x0000003e1022c8c5 in __assert_fail () from /lib64/libc.so.6
#9  0x0000003e2201ab2f in Strigi::AnalysisResult::Private::Private (this=0x7f1abc1c8f60, p="/home/felixrd/Desktop/DM1/practicas/practica 2 - UD/cortes - PPT 2.pptx/", name=<value optimized out>, mt=<value optimized out>, t=@0x7f1abc1262e0, parent=@0x7f1ac3f148b0) at /usr/src/debug/strigi-0.7.2/src/streamanalyzer/analysisresult.cpp:134
#10 0x0000003e2201abf5 in Strigi::AnalysisResult::AnalysisResult (this=0x7f1abc1262e0, path="/home/felixrd/Desktop/DM1/practicas/practica 2 - UD/cortes - PPT 2.pptx/", name=0x7f1abc126970 "", mt=315529200, parent=@0x7f1ac3f148b0) at /usr/src/debug/strigi-0.7.2/src/streamanalyzer/analysisresult.cpp:140
#11 0x0000003e2201af22 in Strigi::AnalysisResult::indexChild (this=0x7f1ac3f148b0, name=<value optimized out>, mt=315529200, file=0x7f1abc126870) at /usr/src/debug/strigi-0.7.2/src/streamanalyzer/analysisresult.cpp:249
#12 0x0000003e22057fd8 in ZipEndAnalyzer::analyze (this=0x7f1abc001670, idx=..., in=0x7f1abc0137b0) at /usr/src/debug/strigi-0.7.2/src/streamanalyzer/endanalyzers/zipendanalyzer.cpp:62
#13 0x0000003e2203e24a in Strigi::StreamAnalyzerPrivate::analyze (this=0x1a, idx=..., input=0x7f1abc0137b0) at /usr/src/debug/strigi-0.7.2/src/streamanalyzer/streamanalyzer.cpp:421
#14 0x0000003e21b44405 in KFileMetaInfoPrivate::init (this=<value optimized out>, stream=..., url=<value optimized out>, mtime=1292324475, w=<value optimized out>) at /usr/src/debug/kdelibs-4.5.4/kio/kio/kfilemetainfo.cpp:271
#15 0x0000003e21b44c98 in KFileMetaInfo::KFileMetaInfo (this=0x7f1ac3f14c40, path=<value optimized out>, w=<value optimized out>) at /usr/src/debug/kdelibs-4.5.4/kio/kio/kfilemetainfo.cpp:300
#16 0x0000003e21c1006f in KLoadFileMetaDataThread::run (this=0x2a149e0) at /usr/src/debug/kdelibs-4.5.4/kio/kfile/kloadfilemetadatathread.cpp:130
#17 0x0000003e1c2726ee in ?? () from /usr/lib64/libQtCore.so.4
#18 0x0000003e10e06d5b in start_thread () from /lib64/libpthread.so.0
#19 0x0000003e102e4a7d in clone () from /lib64/libc.so.6

Thread 1 (Thread 0x7f1ad0784840 (LWP 3322)):
#0  0x0000003e102db083 in poll () from /lib64/libc.so.6
#1  0x0000003e13a08b6a in ?? () from /usr/lib64/libxcb.so.1
#2  0x0000003e13a0a1cf in xcb_wait_for_reply () from /usr/lib64/libxcb.so.1
#3  0x0000003e1324db3d in _XReply (dpy=0x2661c50, rep=0x7fffc43ef430, extra=0, discard=1) at xcb_io.c:532
#4  0x0000003e13242d3d in XTranslateCoordinates (dpy=0x2661c50, src_win=337, dest_win=142606389, src_x=477, src_y=249, dst_x=0x7fffc43ef4ac, dst_y=0x7fffc43ef4a8, child=0x7fffc43ef4a0) at TrCoords.c:52
#5  0x0000003e1ec4a2ee in QWidget::mapFromGlobal(QPoint const&) const () from /usr/lib64/libQtGui.so.4
#6  0x0000003e1ec4a34a in QWidget::mapFromGlobal(QPoint const&) const () from /usr/lib64/libQtGui.so.4
#7  0x0000003e1ec4a34a in QWidget::mapFromGlobal(QPoint const&) const () from /usr/lib64/libQtGui.so.4
#8  0x0000003e1ec4a34a in QWidget::mapFromGlobal(QPoint const&) const () from /usr/lib64/libQtGui.so.4
#9  0x0000003e1ec4a34a in QWidget::mapFromGlobal(QPoint const&) const () from /usr/lib64/libQtGui.so.4
#10 0x0000003e1ec4a34a in QWidget::mapFromGlobal(QPoint const&) const () from /usr/lib64/libQtGui.so.4
#11 0x0000003e1ec4a34a in QWidget::mapFromGlobal(QPoint const&) const () from /usr/lib64/libQtGui.so.4
#12 0x0000003e1ebb7c20 in QApplicationPrivate::pickMouseReceiver(QWidget*, QPoint const&, QPoint&, QEvent::Type, QFlags<Qt::MouseButton>, QWidget*, QWidget*) () from /usr/lib64/libQtGui.so.4
#13 0x0000003e1ec367e2 in ?? () from /usr/lib64/libQtGui.so.4
#14 0x0000003e1ec34f49 in QApplication::x11ProcessEvent(_XEvent*) () from /usr/lib64/libQtGui.so.4
#15 0x0000003e1ec5c896 in ?? () from /usr/lib64/libQtGui.so.4
#16 0x0000003e12641e33 in g_main_dispatch (context=0x2634920) at gmain.c:2149
#17 g_main_context_dispatch (context=0x2634920) at gmain.c:2702
#18 0x0000003e12642610 in g_main_context_iterate (context=0x2634920, block=1, dispatch=1, self=<value optimized out>) at gmain.c:2780
#19 0x0000003e126428ad in g_main_context_iteration (context=0x2634920, may_block=1) at gmain.c:2843
#20 0x0000003e1c3868bf in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#21 0x0000003e1ec5c59e in ?? () from /usr/lib64/libQtGui.so.4
#22 0x0000003e1c35ab42 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#23 0x0000003e1c35ad8c in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#24 0x0000003e1c35f24b in QCoreApplication::exec() () from /usr/lib64/libQtCore.so.4
#25 0x0000003e22445525 in kdemain (argc=6, argv=0x7fffc43f09e8) at /usr/src/debug/kdebase-4.5.4/apps/dolphin/src/main.cpp:98
#26 0x0000003e1021ee7d in __libc_start_main (main=0x400880 <main(int, char**)>, argc=6, ubp_av=0x7fffc43f09e8, init=<value optimized out>, fini=<value optimized out>, rtld_fini=<value optimized out>, stack_end=0x7fffc43f09d8) at libc-start.c:226
#27 0x00000000004007a9 in _start ()

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

Reported using DrKonqi
Comment 1 Peter Penz 2011-01-03 14:03:36 UTC
Thanks for the report. Would it be possible that you attach the document to this bug-report? The issue is located in Strigi and having the document allows the Strigi developers to fix the issue reliable.
Comment 2 Peter Penz 2011-02-27 20:11:36 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