Bug 281088 - kfilemetadatareader crashes when hovering a PDF in dolphin
Summary: kfilemetadatareader crashes when hovering a PDF in dolphin
Status: RESOLVED FIXED
Alias: None
Product: kde
Classification: I don't know
Component: general (show other bugs)
Version: unspecified
Platform: unspecified Linux
: NOR crash
Target Milestone: ---
Assignee: Unassigned bugs mailing-list
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-08-31 07:38 UTC by Elias Probst
Modified: 2011-12-21 23:27 UTC (History)
13 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
PDF which causes crash (290.40 KB, application/pdf)
2011-08-31 07:39 UTC, Elias Probst
Details
New crash information added by DrKonqi (4.22 KB, text/plain)
2011-09-30 15:47 UTC, Balcaen John
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Elias Probst 2011-08-31 07:38:06 UTC
Application: kfilemetadatareader ()
KDE Platform Version: 4.7.00 (4.7.0) (Compiled from sources)
Qt Version: 4.7.2
Operating System: Linux 3.0.3-gentoo x86_64
Distribution: "Gentoo Base System release 2.0.3"

-- Information about the crash:
- What I was doing when the application crashed:
Everytime I hover a PDF in dolphin, kfilemetadatareader crashes.

The crash can be reproduced every time.

-- Backtrace:
Application:  (kfilemetadatareader), signal: Aborted
[KCrash Handler]
#6  0x00007f9e7f4c9865 in raise (sig=<value optimized out>) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
#7  0x00007f9e7f4caa44 in abort () at abort.c:92
#8  0x00007f9e7f8b3dd6 in __gnu_cxx::__verbose_terminate_handler () at /var/tmp/portage/sys-devel/gcc-4.4.5/work/gcc-4.4.5/libstdc++-v3/libsupc++/vterminate.cc:93
#9  0x00007f9e7f8b25d6 in __cxxabiv1::__terminate (handler=0x7099) at /var/tmp/portage/sys-devel/gcc-4.4.5/work/gcc-4.4.5/libstdc++-v3/libsupc++/eh_terminate.cc:38
#10 0x00007f9e7f8b25f8 in std::terminate () at /var/tmp/portage/sys-devel/gcc-4.4.5/work/gcc-4.4.5/libstdc++-v3/libsupc++/eh_terminate.cc:48
#11 0x00007f9e7f8b26bf in __cxxabiv1::__cxa_throw (obj=<value optimized out>, tinfo=<value optimized out>, dest=<value optimized out>) at /var/tmp/portage/sys-devel/gcc-4.4.5/work/gcc-4.4.5/libstdc++-v3/libsupc++/eh_throw.cc:83
#12 0x00007f9e7f856da9 in std::__throw_length_error (__s=<value optimized out>) at /var/tmp/portage/sys-devel/gcc-4.4.5/work/gcc-4.4.5/libstdc++-v3/src/functexcept.cc:72
#13 0x00007f9e7f894494 in _M_check_length (this=0x7fffb26825b0, __s=0x7099 <Address 0x7099 out of bounds>, __n=18446744073709544496) at /var/tmp/portage/sys-devel/gcc-4.4.5/work/build/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/basic_string.h:317
#14 std::basic_string<char, std::char_traits<char>, std::allocator<char> >::assign (this=0x7fffb26825b0, __s=0x7099 <Address 0x7099 out of bounds>, __n=18446744073709544496) at /var/tmp/portage/sys-devel/gcc-4.4.5/work/build/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/basic_string.tcc:263
#15 0x00007f9e7e0b8fe5 in PdfParser::parseOperator (this=0x7fffb2682570) at /var/tmp/portage/app-misc/strigi-9999/work/strigi-9999/libstreamanalyzer/lib/pdf/pdfparser.cpp:291
#16 0x00007f9e7e0ba4e3 in PdfParser::parseContentStreamObject (this=0x7fffb2682570) at /var/tmp/portage/app-misc/strigi-9999/work/strigi-9999/libstreamanalyzer/lib/pdf/pdfparser.cpp:473
#17 0x00007f9e7e0ba57a in PdfParser::parseContentStream (this=0x7fffb2682570, s=<value optimized out>) at /var/tmp/portage/app-misc/strigi-9999/work/strigi-9999/libstreamanalyzer/lib/pdf/pdfparser.cpp:509
#18 0x00007f9e7e0b9650 in PdfParser::handleSubStream (this=0x7d8650, s=0x7fffb2682620, type=<value optimized out>, offset=0, numberofobjects=0) at /var/tmp/portage/app-misc/strigi-9999/work/strigi-9999/libstreamanalyzer/lib/pdf/pdfparser.cpp:663
#19 0x00007f9e7e0b9912 in PdfParser::handleSubStream (this=0x7d8650, s=0x7fffb2682730, type=..., offset=0, numberofobjects=<value optimized out>, hasfilter=<value optimized out>, filter=...) at /var/tmp/portage/app-misc/strigi-9999/work/strigi-9999/libstreamanalyzer/lib/pdf/pdfparser.cpp:637
#20 0x00007f9e7e0b9fa8 in PdfParser::parseDictionaryOrStream (this=0x7d8650) at /var/tmp/portage/app-misc/strigi-9999/work/strigi-9999/libstreamanalyzer/lib/pdf/pdfparser.cpp:373
#21 0x00007f9e7e0ba19a in PdfParser::parseObjectStreamObject (this=0x7d8650, nestDepth=0) at /var/tmp/portage/app-misc/strigi-9999/work/strigi-9999/libstreamanalyzer/lib/pdf/pdfparser.cpp:434
#22 0x00007f9e7e0ba36c in PdfParser::parseObjectStreamObjectDef (this=0x7d8650) at /var/tmp/portage/app-misc/strigi-9999/work/strigi-9999/libstreamanalyzer/lib/pdf/pdfparser.cpp:557
#23 0x00007f9e7e0ba426 in PdfParser::parse (this=0x7d8650, stream=0x6f3700) at /var/tmp/portage/app-misc/strigi-9999/work/strigi-9999/libstreamanalyzer/lib/pdf/pdfparser.cpp:588
#24 0x00007f9e7e0d9890 in PdfEndAnalyzer::analyze (this=0x7d8630, as=<value optimized out>, in=0x6) at /var/tmp/portage/app-misc/strigi-9999/work/strigi-9999/libstreamanalyzer/lib/endanalyzers/pdfendanalyzer.cpp:62
#25 0x00007f9e7e0c0327 in Strigi::StreamAnalyzerPrivate::analyze (this=0x70e620, idx=..., input=0x6f3700) at /var/tmp/portage/app-misc/strigi-9999/work/strigi-9999/libstreamanalyzer/lib/streamanalyzer.cpp:418
#26 0x00007f9e80abda23 in KFileMetaInfoPrivate::init (this=<value optimized out>, stream=<value optimized out>, url=<value optimized out>, mtime=1314684122, w=<value optimized out>) at /var/tmp/portage/kde-base/kdelibs-4.7.0-r1/work/kdelibs-4.7.0/kio/kio/kfilemetainfo.cpp:259
#27 0x00007f9e80abf580 in KFileMetaInfo::KFileMetaInfo (this=0x7fffb2682c00, path=..., w=<value optimized out>) at /var/tmp/portage/kde-base/kdelibs-4.7.0-r1/work/kdelibs-4.7.0/kio/kio/kfilemetainfo.cpp:288
#28 0x000000000040301e in readFileMetaData (urls=<value optimized out>) at /var/tmp/portage/kde-base/kdelibs-4.7.0-r1/work/kdelibs-4.7.0/kio/kfile/kfilemetadatareaderprocess.cpp:85
#29 0x0000000000403d0c in readFileAndContextMetaData (urls=<value optimized out>) at /var/tmp/portage/kde-base/kdelibs-4.7.0-r1/work/kdelibs-4.7.0/kio/kfile/kfilemetadatareaderprocess.cpp:146
#30 0x0000000000404f0e in main (argc=<value optimized out>, argv=<value optimized out>) at /var/tmp/portage/kde-base/kdelibs-4.7.0-r1/work/kdelibs-4.7.0/kio/kfile/kfilemetadatareaderprocess.cpp:195

Possible duplicates by query: bug 277968, bug 261118, bug 255227, bug 255226, bug 255225.

Reported using DrKonqi
Comment 1 Elias Probst 2011-08-31 07:39:21 UTC
Created attachment 63252 [details]
PDF which causes crash
Comment 2 Christoph Feck 2011-08-31 09:27:16 UTC
Thanks for the detailed backtrace. Once we have a strigi maintainer again, it should be possible to reproduce and fix with the attached document.
Comment 3 Kevin Brubeck Unhammer 2011-09-06 06:14:24 UTC
Not sure if it's related, but this RAW image: http://ur1.ca/50sfw (11M) also causes a crash in kfilemetadatareader each time I hover over it ("program-id 8285", sorry I don't have debug packages installed, rather a drag on Arch Linux). 

Note: I don't have Nepomuk/Strigi running.

(Nice that Dolphin is now robust enough to survive these minor crashes =D)
Comment 4 Elias Probst 2011-09-06 06:34:43 UTC
(In reply to comment #3)
> Not sure if it's related, but this RAW image: http://ur1.ca/50sfw (11M) also
> causes a crash in kfilemetadatareader each time I hover over it ("program-id
> 8285", sorry I don't have debug packages installed, rather a drag on Arch
> Linux).

This RAW file makes kmetadatafilereader crash herer, too, producing the following backtrace:
Application:  (kfilemetadatareader), signal: Segmentation fault
[KCrash Handler]
#6  memcpy () at ../sysdeps/x86_64/memcpy.S:267
#7  0x00007f0cfff075ac in (anonymous namespace)::strigi_tiffReadProc (handle=<value optimized out>, buf=0x8083c8, size=<value optimized out>) at /usr/include/bits/string3.h:52
#8  0x00007f0cffccd2ff in OJPEGReadBufferFill (sp=0x807dd0) at tif_ojpeg.c:1880
#9  0x00007f0cffcce27e in OJPEGReadBytePeek (tif=0x807380) at tif_ojpeg.c:1960
#10 OJPEGReadHeaderInfoSec (tif=0x807380) at tif_ojpeg.c:1231
#11 0x00007f0cffccf2fa in OJPEGSubsamplingCorrect (tif=0x807380) at tif_ojpeg.c:959
#12 0x00007f0cffccf770 in OJPEGVGetField (tif=0x8083c8, tag=0, ap=<value optimized out>) at tif_ojpeg.c:466
#13 0x00007f0cffcb0678 in TIFFGetField (tif=0x8083c8, tag=0) at tif_dir.c:957
#14 0x00007f0cffcd992a in TIFFScanlineSize (tif=0x8083c8) at tif_strip.c:237
#15 0x00007f0cffcb50dc in TIFFReadDirectory (tif=0x807380) at tif_dirread.c:764
#16 0x00007f0cffcd1564 in TIFFClientOpen (name=<value optimized out>, mode=0x7f0cfff082ce "r", clientdata=<value optimized out>, readproc=<value optimized out>, writeproc=0x7f0cfff07500 <(anonymous namespace)::strigi_tiffWriteProc(thandle_t, tdata_t, tsize_t)>, seekproc=0x7f0cfff07503 <(anonymous namespace)::strigi_tiffSeekProc(thandle_t, toff_t, int)>, closeproc=0x7f0cfff07543 <(anonymous namespace)::strigi_tiffCloseProc(thandle_t)>, sizeproc=0x7f0cfff07546 <(anonymous namespace)::strigi_tiffSizeProc(thandle_t)>, mapproc=0x7f0cfff0754b <(anonymous namespace)::strigi_tiffMapProc(thandle_t, tdata_t*, toff_t*)>, unmapproc=0x7f0cfff0754e <(anonymous namespace)::strigi_tiffUnmapProc(thandle_t, tdata_t, toff_t)>) at tif_open.c:436
#17 0x00007f0cfff076fe in TiffEndAnalyzer::analyze (this=0x7d4c90, ar=..., in=0x6faad0) at /var/tmp/portage/kde-base/kdegraphics-strigi-analyzer-4.7.0/work/kdegraphics-strigi-analyzer-4.7.0/tiff/tiffendanalyzer.cpp:201
#18 0x00007f0d17378327 in Strigi::StreamAnalyzerPrivate::analyze (this=0x712ae0, idx=..., input=0x6faad0) at /var/tmp/portage/app-misc/strigi-9999/work/strigi-9999/libstreamanalyzer/lib/streamanalyzer.cpp:418
#19 0x00007f0d19d74a23 in KFileMetaInfoPrivate::init (this=<value optimized out>, stream=<value optimized out>, url=<value optimized out>, mtime=1315290794, w=<value optimized out>) at /var/tmp/portage/kde-base/kdelibs-4.7.0-r1/work/kdelibs-4.7.0/kio/kio/kfilemetainfo.cpp:259
#20 0x00007f0d19d76580 in KFileMetaInfo::KFileMetaInfo (this=0x7fffb31141b0, path=..., w=<value optimized out>) at /var/tmp/portage/kde-base/kdelibs-4.7.0-r1/work/kdelibs-4.7.0/kio/kio/kfilemetainfo.cpp:288
#21 0x000000000040301e in readFileMetaData (urls=<value optimized out>) at /var/tmp/portage/kde-base/kdelibs-4.7.0-r1/work/kdelibs-4.7.0/kio/kfile/kfilemetadatareaderprocess.cpp:85
#22 0x0000000000403d0c in readFileAndContextMetaData (urls=<value optimized out>) at /var/tmp/portage/kde-base/kdelibs-4.7.0-r1/work/kdelibs-4.7.0/kio/kfile/kfilemetadatareaderprocess.cpp:146
#23 0x0000000000404f0e in main (argc=<value optimized out>, argv=<value optimized out>) at /var/tmp/portage/kde-base/kdelibs-4.7.0-r1/work/kdelibs-4.7.0/kio/kfile/kfilemetadatareaderprocess.cpp:195
Comment 5 Richard Cox 2011-09-27 23:19:48 UTC
I can confirm this crash also in KDE 4.7.1
Comment 6 Balcaen John 2011-09-30 15:47:58 UTC
Created attachment 64101 [details]
New crash information added by DrKonqi

kfilemetadatareader () on KDE Platform 4.7.1 (4.7.1) using Qt 4.7.4

- What I was doing when the application crashed:

Hover a specific pdf (which i can attach since it's contains private data :/ )
This pdf seems to be generated by Adobe Illustrator CS3 /Acrobat Distiller 8.3.0 under windows from the proprietary data i get from okular
There's also some fonts integrated inside FPPBJM+ArialMT, FPPBKN+Arial-ItalicMT, LJMJOG+ArialMT, LJMJOH+Arial-BoldMT, LJMJPH+ArialNarrow

-- Backtrace (Reduced):
#8  0x00007f2214ddc42d in __gnu_cxx::__verbose_terminate_handler () at ../../../../libstdc++-v3/libsupc++/vterminate.cc:93
#9  0x00007f2214dda646 in __cxxabiv1::__terminate (handler=<value optimized out>) at ../../../../libstdc++-v3/libsupc++/eh_terminate.cc:39
#10 0x00007f2214dda673 in std::terminate () at ../../../../libstdc++-v3/libsupc++/eh_terminate.cc:49
#11 0x00007f2214dda77e in __cxxabiv1::__cxa_throw (obj=<value optimized out>, tinfo=<value optimized out>, dest=<value optimized out>) at ../../../../libstdc++-v3/libsupc++/eh_throw.cc:83
#12 0x00007f2214d84190 in std::__throw_length_error (__s=<value optimized out>) at ../../../../libstdc++-v3/src/functexcept.cc:74
Comment 7 James 2011-10-03 20:06:01 UTC
Hovering over any of my PDFs causes kfilemetadatareader to crash.
Comment 8 Micael Capitão 2011-10-06 22:36:58 UTC
I can confirm this bug too in KDE 4.7.2 with Qt 4.7.4. I never had this bug before KDE 4.7.2. Seems it only happens when hovering .pdf files. I don't have nepomuk/strigi enabled and I'm using Arch Linux x64 and its official packages.
Comment 9 Fabian Henze 2011-10-07 10:34:25 UTC
I can confirmed this for KDE 4.7.2 (didn't happen with 4.7.1 on my system).
I am using Gentoo and have Nepomuk and Strigi disabled. Maybe that's causing the crash?
Comment 10 Elias Probst 2011-10-07 11:22:53 UTC
(In reply to comment #9)
> I can confirmed this for KDE 4.7.2 (didn't happen with 4.7.1 on my system).
> I am using Gentoo and have Nepomuk and Strigi disabled. Maybe that's causing
> the crash?
This happens very likely, because Gentoo still uses the "dead" Strigi from sf.net instead of libstreamanalyzer and libstreams from projects.kde.org.

We should check whether using libstreamanalyzer and libstreams from projects.kde.org resolves this issue on Gentoo.

See also this comment by Sebastian Trüg: 
http://trueg.wordpress.com/2011/09/22/about-strigi-soprano-virtuoso-clucene-and-libstreamanalyzer/#comment-1550
Comment 11 Elias Probst 2011-10-07 11:38:25 UTC
(In reply to comment #10)
> We should check whether using libstreamanalyzer and libstreams from
> projects.kde.org resolves this issue on Gentoo.
To get the transition to libstreamanalyer/libstreams started on Gentoo, I filed this bug: https://bugs.gentoo.org/show_bug.cgi?id=386057
Comment 12 Balcaen John 2011-10-07 11:39:38 UTC
(In reply to comment #10)
> (In reply to comment #9)
> > I can confirmed this for KDE 4.7.2 (didn't happen with 4.7.1 on my system).
> > I am using Gentoo and have Nepomuk and Strigi disabled. Maybe that's causing
> > the crash?
> This happens very likely, because Gentoo still uses the "dead" Strigi from
> sf.net instead of libstreamanalyzer and libstreams from projects.kde.org.

> We should check whether using libstreamanalyzer and libstreams from
> projects.kde.org resolves this issue on Gentoo.
> 

Well it's happening here with thoses (0.76 release)  so it's probably not enough to revolve this issue.
Comment 13 Fabio Rossi 2011-10-08 18:11:44 UTC
Confirmed also here with Nepomuk/Strigi disabled. It happens everytime using konqueror when I try to move one pdf file to another dir where another file with the same name is already present.
Comment 14 Fabian Henze 2011-10-13 17:23:18 UTC
Commit 23d5ce63 of strigi seems to have fixed this bug. Can anyone confirm that?
See: https://projects.kde.org/projects/kdesupport/strigi/libstreamanalyzer/repository/revisions/23d5ce636b7897dc3f233a5293f3164dac50566d/diff
Comment 15 Kyle 2011-10-16 16:03:28 UTC
Can confirm that this happens on KDE 4.6.5 and Dolphin 1.6.1

Fedora 15 x86_64

Removing the Information panel is a work around for me.
Comment 16 Rex Dieter 2011-10-17 14:53:44 UTC
I can confirm applying the commit referenced in comment #14 on top of strigi-0.7.6 fixes it for me.
Comment 17 George L. Emigh 2011-10-17 20:32:23 UTC
I can also confirm applying the commit referenced in comment #14 applied to strigi-0.7.6 fixes it for me as well.
Comment 18 Andreas Krohn 2011-10-18 11:11:22 UTC
Fixed on fedora 16

https://admin.fedoraproject.org/updates/search/strigi-0.7.6-3
Comment 19 Richard Cox 2011-10-22 14:20:19 UTC
Newest strigi on Gentoo fixed for me as well (app-misc/strigi-0.7.6-r1).
Comment 20 Kyle 2011-12-11 19:07:19 UTC
Fixed in strigi-0.7.6-4.fc16.x86_64
Comment 21 Christoph Feck 2011-12-21 23:27:17 UTC
Thanks for the updates, marking as fixed.

http://commits.kde.org/libstreamanalyzer/23d5ce636b7897dc3f233a5293f3164dac50566d