Summary: | Window freezes entering directory on nfs share | ||
---|---|---|---|
Product: | [Applications] dolphin | Reporter: | Sascha Klein <ksbde> |
Component: | view-engine: details mode | Assignee: | Dolphin Bug Assignee <dolphin-bugs-null> |
Status: | RESOLVED FIXED | ||
Severity: | crash | ||
Priority: | NOR | ||
Version: | 2.2 | ||
Target Milestone: | --- | ||
Platform: | Fedora RPMs | ||
OS: | Linux | ||
Latest Commit: | http://commits.kde.org/kde-baseapps/81a6f33a87dfbdd082b2d87be59ac19a65a43771 | Version Fixed In: | 4.12.0 |
Sentry Crash Report: |
Description
Sascha Klein
2013-04-17 18:56:00 UTC
Thanks for the report. If it happens only in Details View, it might be because we count the number of items in all folders (to show it in the "Size" column and to decide whether to show an "expansion toggle" or not). See the related forum discussion http://forum.kde.org/viewtopic.php?f=224&t=110767 The strange thing is that the code actually tries to determine if the folders are local (using KFileItem::isLocalFile()) and counts the items inside only if that is the case. So it seems that this check goes wrong. To verify that: is a "Size" shown for the folders on the remote server? The size column should actually show "Unknown" for remote folders. Size column shows number of elements in folders. I played around a little bit and got to a limit of about 600 folders, but until now didn't test whether its the amount of folders or if the number of elements in the folders is the limit OK, probably NFS is considered 'local' from KFileItem's point of view then (according to the API docs, 'local' means 'accessible via file:'). To be honest, I'm not sure if we can do anything about your problem. We could of course disable folder content counting for 'slow' file systems like NFS, but I can already see lots of complaints coming if we do that (like when loading of custom icons was disabled for slow file systems). One could in principle move the counting function to another thread to prevent at least the blocking, but I'm not sure if that's worth the trouble - this approach might cause problems and subtle bugs in other situations. Git commit 81a6f33a87dfbdd082b2d87be59ac19a65a43771 by Frank Reininghaus. Committed on 04/09/2013 at 19:49. Pushed by freininghaus into branch 'master'. Count the items inside directories in another thread This prevents that the GUI freezes if there are many files inside the directory, or if the access to the directory is slow for some other reason. REVIEW: 111920 FIXED-IN: 4.12.0 M +2 -0 dolphin/src/CMakeLists.txt M +15 -113 dolphin/src/kitemviews/kfileitemmodelrolesupdater.cpp M +5 -11 dolphin/src/kitemviews/kfileitemmodelrolesupdater.h A +164 -0 dolphin/src/kitemviews/private/kdirectorycontentscounter.cpp [License: GPL (v2+)] A +90 -0 dolphin/src/kitemviews/private/kdirectorycontentscounter.h [License: GPL (v2+)] A +95 -0 dolphin/src/kitemviews/private/kdirectorycontentscounterworker.cpp [License: GPL (v2+)] A +71 -0 dolphin/src/kitemviews/private/kdirectorycontentscounterworker.h [License: GPL (v2+)] http://commits.kde.org/kde-baseapps/81a6f33a87dfbdd082b2d87be59ac19a65a43771 |