Summary: | File Properties dialog reads the whole file causing the application to hang (and heavy disk usage) [KFileMetaInfo using Strigi] | ||
---|---|---|---|
Product: | [Unmaintained] kfile | Reporter: | simon |
Component: | general | Assignee: | Peter Penz <peter.penz19> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | andresbajotierra, jos, kokoko3k, kurada88, mitykov, shafff |
Priority: | NOR | Keywords: | investigated |
Version: | unspecified | ||
Target Milestone: | --- | ||
Platform: | unspecified | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | 4.4.3 | |
Sentry Crash Report: |
Description
simon
2009-12-01 14:00:57 UTC
(internal note: root cause if KFileMetaInfo using Strigi) I could reproduce the issue here using: Qt: 4.6.1 (kde-qt master commit 5ccbae0c2d9254efe67599137afec763d4fec0f6 Date: Tue Jan 19 20:42:24 2010 +0100) KDE Development Platform: 4.4.60 (KDE 4.4.60 (KDE 4.5 >= 20100120)) kdelibs svn rev. 1078669 / kdebase svn rev. 1078669 strigi svn rev. 1078666 on ArchLinux i686 - Kernel 2.6.32.3 with a 700Mb AVI file *** Bug 224419 has been marked as a duplicate of this bug. *** This commit modified the default setting: http://websvn.kde.org/?view=revision&revision=1053062 May be KFileItem::metaInfo() should be modified to only create KFileMetaInfo to only use (ContentInfo|TechnicalInfo). Another alternative could be reverting the defaults and let Lokalize to set its own flags ? Thanks Dario for the analyses. In my opinion each UI code that invokes KFileMetaInfo synchronously with the KFileMetaInfo::Everything option is broken, as this means having a blocking UI for huge files. So in this case the first step would be to fix KFilePropertiesDialog to use KFileMetaInfo only with ContentInfo|TechnicalInfo as you said... Still there is the remaining risk that broken Strigi analysers, that don't respect the maximum size, still lead to a blocking UI (the PDF analysers and MPEG analysers are still broken AFAIK - see [1] and [2]). For KDE 4.5 I've planned to port the KFileMetaInfoWidget to kdelibs, which uses Nepomuk to get the meta data asynchronously in a separate thread. I think it might be a good idea to use this widget in KFilePropertiesDialog... [1] http://sourceforge.net/tracker/?func=detail&aid=2830904&group_id=171000&atid=856302 [2] http://sourceforge.net/tracker/?func=detail&aid=2830902&group_id=171000&atid=856302 (internal update: the blocking code is in kdelibs/kio/kfile/kmetaprops.cpp in line 66: d->m_info = KFileMetaInfo(properties->kurl().path(KUrl::RemoveTrailingSlash)); - I currently don't have the time to verify whether specifying ContentInfo|TechnicalInfo works, but I'll take care for this "ASAP"). setting the default value of 'w' argument of KFileMetaInfo c'tor to smth else (not WhatFlags::Everything) will return previous behaviour for most applications (if they are compiled against kdelibs 4.4) I have this problem to on kde 4.3.98 (RC3) *** Bug 230668 has been marked as a duplicate of this bug. *** Bug still present in 4.4.2. Apart from the file property dialog specific case, i noticed that dolphin is really slow and tend to hang when dealing with network filesystems like sshfs over slow links (10MBps is still slow). Even listing a remote home folder is a bad experience (showing hidden files is almost impossible), and i wonder if it could be related to this bug too. konqueror from 3.5 is far snappier in the same case. SVN commit 1110210 by darioandres: - Update KFileItem and KFileMetaPropsPlugin to only request limited metaData (avoid reading all the file and blocking the UI) This implements http://reviewboard.kde.org/r/3325/ as a temporary fix until KFileMetaInfo+Strigi limits get improved CCBUG: 216932 M +2 -1 kfile/kmetaprops.cpp M +2 -2 kio/kfileitem.cpp M +5 -2 kio/kfileitem.h WebSVN link: http://websvn.kde.org/?view=rev&revision=1110210 SVN commit 1110211 by darioandres: Backport to 4.4 of: SVN commit 1110210 by darioandres: - Update KFileItem and KFileMetaPropsPlugin to only request limited metaData (avoid reading all the file and blocking the UI) This implements http://reviewboard.kde.org/r/3325/ as a temporary fix until KFileMetaInfo+Strigi limits get improved This is a workaround for bug 216932 BUG: 216932 M +2 -1 kfile/kmetaprops.cpp M +2 -2 kio/kfileitem.cpp M +5 -2 kio/kfileitem.h WebSVN link: http://websvn.kde.org/?view=rev&revision=1110211 @Antonio: the slowness related to network filesystems is unrelated to this issue, and I think it was reported already. Regards This bug is "fixed" for KDE SC 4.4.3 and later Regards |