Bug 245451

Summary: dolphin crashes when manipulating files...
Product: [Applications] dolphin Reporter: Mathieu Jobin <opensource>
Component: generalAssignee: Peter Penz <peter.penz19>
Status: RESOLVED FIXED    
Severity: crash CC: jtamate, phreedom.stdin
Priority: NOR    
Version: 16.12.2   
Target Milestone: ---   
Platform: Fedora RPMs   
OS: Linux   
Latest Commit: Version Fixed In: 4.7.0
Sentry Crash Report:
Attachments: New crash information added by DrKonqi

Description Mathieu Jobin 2010-07-22 16:50:33 UTC
Application: dolphin (1.5)
KDE Platform Version: 4.4.92 (KDE 4.4.92 (KDE 4.5 RC2))
Qt Version: 4.7.0
Operating System: Linux 2.6.33.6-147.fc13.x86_64 x86_64
Distribution: "Fedora release 13 (Goddard)"

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

I am trying to do some clean up on my files using dolphin

creating directories and moving files around.

using split views..... after only a few manipulations, dolphin crashes

The crash can be reproduced every time.

-- Backtrace:
Application: Dolphin (dolphin), signal: Segmentation fault
87	  int result = INLINE_SYSCALL (poll, 3, CHECK_N (fds, nfds), nfds, timeout);
[Current thread is 1 (Thread 0x7fa3e0dec820 (LWP 3843))]

Thread 3 (Thread 0x7fa3cd5c2710 (LWP 3876)):
#0  pthread_cond_timedwait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:212
#1  0x00007fa3cc7129b1 in ?? () from /usr/lib64/libxine.so.1
#2  0x0000003566c07761 in start_thread (arg=0x7fa3cd5c2710) at pthread_create.c:301
#3  0x00000035664e14ed in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115

Thread 2 (Thread 0x7fa3cdfc3710 (LWP 3905)):
[KCrash Handler]
#6  0x0000003575e1b2e1 in Strigi::DataEventInputStream::read (this=0x29ef400, start=@0x7fa3cdfc25e8, min=4, max=4) at /usr/src/debug/strigi-0.7.2/src/streams/dataeventinputstream.cpp:39
#7  0x0000003575e2b95d in Strigi::ZipInputStream::nextEntry (this=0x7fa3cdfc2610) at /usr/src/debug/strigi-0.7.2/src/streams/zipinputstream.cpp:88
#8  0x000000357744b940 in ZipEndAnalyzer::analyze (this=0x29b45f0, idx=..., in=0x29ef400) at /usr/src/debug/strigi-0.7.2/src/streamanalyzer/endanalyzers/zipendanalyzer.cpp:63
#9  0x000000357743487a in Strigi::StreamAnalyzerPrivate::analyze (this=0x1a, idx=..., input=0x29ef400) at /usr/src/debug/strigi-0.7.2/src/streamanalyzer/streamanalyzer.cpp:421
#10 0x00000035767405b5 in KFileMetaInfoPrivate::init (this=0x2cc87d0, stream=<value optimized out>, url=<value optimized out>, mtime=1278427490, w=<value optimized out>)
    at /usr/src/debug/kdelibs-4.4.92/kio/kio/kfilemetainfo.cpp:210
#11 0x00000035767415c3 in KFileMetaInfo::KFileMetaInfo (this=0x7fa3cdfc2c30, path=<value optimized out>, w=<value optimized out>) at /usr/src/debug/kdelibs-4.4.92/kio/kio/kfilemetainfo.cpp:237
#12 0x0000003576809452 in KLoadFileMetaDataThread::run (this=0x2c71db0) at /usr/src/debug/kdelibs-4.4.92/kio/kfile/kloadfilemetadatathread.cpp:124
#13 0x0000003570471e7e in QThreadPrivate::start (arg=0x2c71db0) at thread/qthread_unix.cpp:266
#14 0x0000003566c07761 in start_thread (arg=0x7fa3cdfc3710) at pthread_create.c:301
#15 0x00000035664e14ed in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115

Thread 1 (Thread 0x7fa3e0dec820 (LWP 3843)):
#0  0x00000035664d7de3 in __poll (fds=<value optimized out>, nfds=<value optimized out>, timeout=<value optimized out>) at ../sysdeps/unix/sysv/linux/poll.c:87
#1  0x000000356a00885a in ?? () from /usr/lib64/libxcb.so.1
#2  0x000000356a008d87 in ?? () from /usr/lib64/libxcb.so.1
#3  0x000000356a009035 in xcb_writev () from /usr/lib64/libxcb.so.1
#4  0x0000003569c4d41a in _XSend (dpy=0x2301890, data=<value optimized out>, size=<value optimized out>) at xcb_io.c:339
#5  0x0000003569c4d985 in _XFlush (dpy=0x2301890) at xcb_io.c:356
#6  0x000000356f001fbc in XRenderComposite (dpy=0x2301890, op=<value optimized out>, src=<value optimized out>, mask=0, dst=111217514, src_x=<value optimized out>, src_y=<value optimized out>, 
    mask_x=<value optimized out>, mask_y=<value optimized out>, dst_x=<value optimized out>, dst_y=<value optimized out>, width=<value optimized out>, height=<value optimized out>) at Composite.c:50
#7  0x0000003572fa4b09 in QX11PaintEngine::drawTiledPixmap (this=<value optimized out>, r=<value optimized out>, pixmap=..., p=<value optimized out>) at painting/qpaintengine_x11.cpp:2164
#8  0x0000003572efac74 in QPainter::drawTiledPixmap (this=0x7fff221df7a0, r=..., pixmap=..., sp=...) at painting/qpainter.cpp:6704
#9  0x00007fa3da445674 in drawTiledPixmap (this=0x28c14c0, r=<value optimized out>, p=0x7fff221df7a0, t=<value optimized out>) at /usr/include/QtGui/qpainter.h:801
#10 Oxygen::TileSet::render (this=0x28c14c0, r=<value optimized out>, p=0x7fff221df7a0, t=<value optimized out>) at /usr/src/debug/kdebase-workspace-4.4.92/libs/oxygen/oxygentileset.cpp:152
#11 0x00007fa3da6d0912 in Oxygen::Style::eventFilterDockWidget (this=0x2323220, dw=0x26c7e20, ev=<value optimized out>) at /usr/src/debug/kdebase-workspace-4.4.92/kstyles/oxygen/oxygenstyle.cpp:7622
#12 0x0000003570556c07 in QCoreApplicationPrivate::sendThroughObjectEventFilters (this=<value optimized out>, receiver=0x26c7e20, event=0x7fff221dfde0) at kernel/qcoreapplication.cpp:847
#13 0x0000003572db1c9c in QApplicationPrivate::notify_helper (this=0x22dc3f0, receiver=0x26c7e20, e=0x7fff221dfde0) at kernel/qapplication.cpp:4385
#14 0x0000003572db731d in QApplication::notify (this=<value optimized out>, receiver=0x26c7e20, e=0x7fff221dfde0) at kernel/qapplication.cpp:4270
#15 0x0000003574c1b916 in KApplication::notify (this=0x7fff221e1180, receiver=0x26c7e20, event=0x7fff221dfde0) at /usr/src/debug/kdelibs-4.4.92/kdeui/kernel/kapplication.cpp:309
#16 0x00000035705573dc in QCoreApplication::notifyInternal (this=0x7fff221e1180, receiver=0x26c7e20, event=0x7fff221dfde0) at kernel/qcoreapplication.cpp:732
#17 0x0000003572e0259c in sendSpontaneousEvent (this=0x26c8160, pdev=0x7fff221e0510, rgn=..., offset=..., flags=14, sharedPainter=0x0, backingStore=0x0)
    at ../../src/corelib/kernel/qcoreapplication.h:218
#18 QWidgetPrivate::drawWidget (this=0x26c8160, pdev=0x7fff221e0510, rgn=..., offset=..., flags=14, sharedPainter=0x0, backingStore=0x0) at kernel/qwidget.cpp:5390
#19 0x0000003572e03228 in QWidgetPrivate::paintSiblingsRecursive (this=0x23e7ef0, pdev=0x7fff221e0510, siblings=<value optimized out>, index=<value optimized out>, rgn=..., offset=..., flags=14, 
    sharedPainter=0x0, backingStore=0x0) at kernel/qwidget.cpp:5597
#20 0x0000003572e022fa in QWidgetPrivate::drawWidget (this=0x23e7ef0, pdev=0x7fff221e0510, rgn=..., offset=..., flags=<value optimized out>, sharedPainter=0x0, backingStore=0x0)
    at kernel/qwidget.cpp:5443
#21 0x0000003572e034a1 in QWidgetPrivate::render (this=0x23e7ef0, target=0x7fff221e0510, targetOffset=..., sourceRegion=<value optimized out>, renderFlags=..., readyToRender=<value optimized out>)
    at kernel/qwidget.cpp:5526
#22 0x0000003572e8370d in QPixmap::grabWidget (widget=0x23e9250, rect=...) at image/qpixmap.cpp:1099
#23 0x00007fa3da6bc5f8 in Oxygen::TransitionWidget::grab (this=0x27eb610, widget=<value optimized out>, rect=...)
    at /usr/src/debug/kdebase-workspace-4.4.92/kstyles/oxygen/transitions/oxygentransitionwidget.cpp:88
#24 0x00007fa3da6b5f28 in Oxygen::LabelData::timerEvent (this=0x27eb500, event=<value optimized out>) at /usr/src/debug/kdebase-workspace-4.4.92/kstyles/oxygen/transitions/oxygenlabeldata.cpp:157
#25 0x0000003570568349 in QObject::event (this=0x27eb500, e=<value optimized out>) at kernel/qobject.cpp:1175
#26 0x0000003572db1ccc in QApplicationPrivate::notify_helper (this=0x22dc3f0, receiver=0x27eb500, e=0x7fff221e0e20) at kernel/qapplication.cpp:4389
#27 0x0000003572db731d in QApplication::notify (this=<value optimized out>, receiver=0x27eb500, e=0x7fff221e0e20) at kernel/qapplication.cpp:4270
#28 0x0000003574c1b916 in KApplication::notify (this=0x7fff221e1180, receiver=0x27eb500, event=0x7fff221e0e20) at /usr/src/debug/kdelibs-4.4.92/kdeui/kernel/kapplication.cpp:309
#29 0x00000035705573dc in QCoreApplication::notifyInternal (this=0x7fff221e1180, receiver=0x27eb500, event=0x7fff221e0e20) at kernel/qcoreapplication.cpp:732
#30 0x000000357058204a in sendEvent (this=0x22dab50) at kernel/qcoreapplication.h:215
#31 QTimerInfoList::activateTimers (this=0x22dab50) at kernel/qeventdispatcher_unix.cpp:602
#32 0x000000357057f764 in timerSourceDispatch (source=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:184
#33 0x000000356803bd02 in g_main_dispatch (context=0x22d9920) at gmain.c:1960
#34 IA__g_main_context_dispatch (context=0x22d9920) at gmain.c:2513
#35 0x000000356803fae8 in g_main_context_iterate (context=0x22d9920, block=1, dispatch=1, self=<value optimized out>) at gmain.c:2591
#36 0x000000356803fc9c in IA__g_main_context_iteration (context=0x22d9920, may_block=1) at gmain.c:2654
#37 0x000000357057f453 in QEventDispatcherGlib::processEvents (this=0x22b10f0, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:412
#38 0x0000003572e525ce in QGuiEventDispatcherGlib::processEvents (this=<value optimized out>, flags=<value optimized out>) at kernel/qguieventdispatcher_glib.cpp:204
#39 0x0000003570556222 in QEventLoop::processEvents (this=<value optimized out>, flags=...) at kernel/qeventloop.cpp:149
#40 0x00000035705564fc in QEventLoop::exec (this=0x7fff221e10c0, flags=...) at kernel/qeventloop.cpp:201
#41 0x000000357055ac79 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1009
#42 0x000000357b64824f in kdemain (argc=5, argv=0x7fff221e16a8) at /usr/src/debug/kdebase-4.4.92/apps/dolphin/src/main.cpp:98
#43 0x000000356641ec5d in __libc_start_main (main=0x400870 <main(int, char**)>, argc=5, ubp_av=0x7fff221e16a8, init=<value optimized out>, fini=<value optimized out>, 
    rtld_fini=<value optimized out>, stack_end=0x7fff221e1698) at libc-start.c:226
#44 0x00000000004007a9 in _start ()

Possible duplicates by query: bug 166025.

Reported using DrKonqi
Comment 1 Jaime Torres 2010-08-01 12:12:23 UTC
Created attachment 49727 [details]
New crash information added by DrKonqi

dolphin (1.5) on KDE Platform 4.5.62 (KDE 4.5.62 (KDE 4.6 >= 20100729)) using Qt 4.7.0

- What I was doing when the application crashed:

Triaging dolphin and hovering a zip file.
This is a strigi bug.

-- Backtrace (Reduced):
#7  0x00007f0c64c44d2c in Strigi::DataEventInputStream::read (this=0x1c12a20, start=@0x7f0c57254508, min=16, max=16) at /g/kde4svn/kdesupport/strigi/libstreams/lib/dataeventinputstream.cpp:39
#8  0x00007f0c64c5f644 in Strigi::ZipInputStream::nextEntry (this=0x7f0c57254580) at /g/kde4svn/kdesupport/strigi/libstreams/lib/zipinputstream.cpp:66
#9  0x00007f0c64f6dad1 in ZipEndAnalyzer::analyze (this=0x7f0c50139bd0, idx=..., in=0x1c12a20) at /g/kde4svn/kdesupport/strigi/libstreamanalyzer/lib/endanalyzers/zipendanalyzer.cpp:63
#10 0x00007f0c64f3fa50 in Strigi::StreamAnalyzerPrivate::analyze (this=0x7f0c500fe810, idx=..., input=0x1c12a20) at /g/kde4svn/kdesupport/strigi/libstreamanalyzer/lib/streamanalyzer.cpp:424
#11 0x00007f0c64f3f538 in Strigi::StreamAnalyzer::analyze (this=0x7f0c50023ed0, idx=..., input=0x7f0c57254810) at /g/kde4svn/kdesupport/strigi/libstreamanalyzer/lib/streamanalyzer.cpp:365
Comment 2 Jaime Torres 2010-08-01 12:28:50 UTC
This is a Strigi bug.
The strigi bug is https://sourceforge.net/tracker/?func=detail&aid=3037796&group_id=171000&atid=856302
Comment 3 phreedom.stdin 2010-08-24 01:33:43 UTC
I need the file in question to debug this please
Comment 4 phreedom.stdin 2010-08-24 01:46:51 UTC
Also, it helps to run rdfindexer on the file that causes the crash to confirm that it's indeed a strigi issue
Comment 5 Jaime Torres 2010-08-24 23:06:29 UTC
The last output of rdfindexer, after a lot of lines 
Detection score:1
Detection score:0
Detection score:0
Detection score:0
Detection score:0
Detection score:0
rdfindexer: /g/kde4svn/kdesupport/strigi/libstreamanalyzer/lib/analysisresult.cpp:134: Strigi::AnalysisResult::Private::Private(const std::string&, const char*, time_t, Strigi::AnalysisResult&, Strigi::AnalysisResult&): La declaraciĆ³n `m_path.size() > m_parent->p->m_path.size()+1' no se cumple.


I can not attach the offending file for me, it is >400Mb.
The file is called: designer_win32_20090930.zip
Probably you still could find it in http://www.novell.com/coolsolutions/dirxml/designer/
Comment 6 phreedom.stdin 2010-08-25 14:23:21 UTC
Jaime, I've fixed the issue you found in trunk. However, I suspect that this is a different issue than the one reported by Mathieu Jobin
Comment 7 Jaime Torres 2010-08-25 16:30:47 UTC
Mathieu, If you can try KDE SC trunk (development environment fro 4.6) check if it is fixed also for you.
If you can not, but still have the file that generates the crash, let phreedom.stdin@gmail.com check it (attaching the file to the bug report, or mailing it privately if it contains private data).
Comment 8 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