Summary: | Dolphin crashes on filtering | ||
---|---|---|---|
Product: | [Applications] dolphin | Reporter: | Alex Fiestas <afiestas> |
Component: | bars: filter | Assignee: | Dolphin Bug Assignee <dolphin-bugs-null> |
Status: | RESOLVED FIXED | ||
Severity: | crash | CC: | aleixpol |
Priority: | NOR | ||
Version: | 16.12.2 | ||
Target Milestone: | --- | ||
Platform: | Other | ||
OS: | Linux | ||
Latest Commit: | http://commits.kde.org/kde-baseapps/36e28db3f3d90acbe2c2eb92f0569f5fe2f3b06e | Version Fixed In: | 4.11.0 |
Sentry Crash Report: | |||
Attachments: | Content of the folder that produces the crash |
Description
Alex Fiestas
2013-04-04 14:42:57 UTC
Thanks for the report, but I cannot reproduce. Are these really the only files in the directory? If I look at the code, it seems to me that the assert can only be hit if the items that are removed by the filter are not in one contiguous range, and I think that this isn't the case when using 'aaa' as the filter for these files because only one file (bbbbx.txt) is removed. Created attachment 78659 [details]
Content of the folder that produces the crash
With the content in that folder, filtering by "run" will produce the crash. I get that problem too, with the files uploaded by Alex. I can't reproduce on 4.10.1 (Dolphin 2.2) with Qt 4.8.4 (Kubuntu 13.04). Thanks, I can reproduce the crash with the files from comment 2 both in master and 4.10, but a) only in Icons and Compact view, and b) only if typing the first two letters of 'run' rather fast. I haven't written the code in KItemListView, and I'm not exactly sure what the point of the assert is. I hope we can figure out how to fix this. At least it should hopefully not affect distro packages because the assert is removed if QT_NO_DEBUG is defined. I haven't found the time yet to figure out if the assert is wrong or if there is a latent bug somewhere. For the time being, I think it's better to replace the assert with a TODO comment to prevent that users suffer from this issue. Git commit 34d0ad722e48819f7d338094fd5a0c56debf01bb by Frank Reininghaus. Committed on 22/04/2013 at 21:36. Pushed by freininghaus into branch 'KDE/4.10'. Comment out assertion to fix a crash when filtering in Icons/Compat View I'm not sure yet if there is a problem somewhere else in the code. For the time being, I think it's better to replace the assert by a TODO comment to prevent that users find out the hard way that there is something that we're not quite sure about. FIXED-IN: 4.10.3 M +4 -1 dolphin/src/kitemviews/kitemlistview.cpp http://commits.kde.org/kde-baseapps/34d0ad722e48819f7d338094fd5a0c56debf01bb Git commit 36e28db3f3d90acbe2c2eb92f0569f5fe2f3b06e by Frank Reininghaus. Committed on 04/07/2013 at 21:35. Pushed by freininghaus into branch 'master'. Make sure that KItemListSizeHintResolver is always consistent This was the root cause of bug 317827. The assert tried to make sure that we never access KItemListSizeHintResolver from KItemListViewLayouter inside the loop over the item ranges. This would be dangerous because it might be in an inconsistent state - the removed item ranges were removed step by step, so accessing the item size hints before the operation was finished could lead to wrong results. The solution is to insert/remove all item ranges immediately. A nice side effect is that there are no sources of O(N^2) complexity in KItemListSizeHintResolver any more if many item ranges are inserted/removed. FIXED-IN: 4.11.0 REVIEW: 111382 M +6 -22 dolphin/src/kitemviews/kitemlistview.cpp M +65 -11 dolphin/src/kitemviews/private/kitemlistsizehintresolver.cpp M +3 -3 dolphin/src/kitemviews/private/kitemlistsizehintresolver.h http://commits.kde.org/kde-baseapps/36e28db3f3d90acbe2c2eb92f0569f5fe2f3b06e |