-- Information about the crash: - Environment: * Gentoo kernel 4.4.0/Qt 5.6 branch latest self build * Fedora 23 Kernel 4.3.3/Qt5.5 branch latest self build * KF5 branch: master - My investigation Because of empty UDS_NAME in dir list entry causes crash. Please review these pactches[1][2] to fix this issue. [1] https://git.reviewboard.kde.org/r/126892/ [2] https://git.reviewboard.kde.org/r/126893/ Reproducible: Always Steps to Reproduce: The procedure to reproduce 1. Open Gwenview 2. Click the folder 'home' or 'Network' folder on the treeview in the left directory tree view. Actual Results: App crash Expected Results: App remains working gdb log attached.
Created attachment 96897 [details] gdb output
This seems to be kio rather than Plasma?
(In reply to Eike Hein from comment #2) > This seems to be kio rather than Plasma? I'm sorry if I don't point correct module category for this bug report. Please let me explain the reason why I think my fixes suits for this bug. First, certainly, the root cause of crash is the ASSERT, empty check of UDS_NAME in kio/core/kcoredirlister.cpp. UDS_NAME should not be empty, described in kio/core/udsentry.h:177 [1] --- 175 /// Filename - as displayed in directory listings etc. 176 /// "." has the usual special meaning of "current directory" 177 /// UDS_NAME must always be set and never be empty, neither contain '/'. 178 /// 179 /// Note that KIO will append the UDS_NAME to the url of their 180 /// parent directory, so all kioslaves must use that naming scheme 181 /// ("url_of_parent/filename" will be the full url of that file). 182 /// To customize the appearance of files without changing the url 183 /// of the items, use UDS_DISPLAY_NAME. 184 UDS_NAME = 6 | UDS_STRING, ---- Second, the lack of UDS_NAME in the dirlist is caused by 'remote' kioslave implementation. In this case, the wrong .desktop name is specified in kioslave/remote/remoteimpl.cpp in plasma-workspace. One of my patches[2] is to fix it. The last, 'Network' folder is created by createWizardEntry() in kioslave/remote/kio_remote.cpp. It's my guess, for some situation, for example, of knetattach isn't installed, createWizardEntry() returns bool value. I'd like to add the check of this value if correct dir entry is created or not with my patch.[3] Of course much better solution makes me happy. Please let me have your comment:) [1] https://quickgit.kde.org/?p=kio.git&a=blob&h=9b2153061cc3f9552eb18a6dc950a904fb4d4285&hb=7f3dbd33391ca62d9944e00490933f801f555ba2&f=src%2Fcore%2Fudsentry.h [2] https://git.reviewboard.kde.org/r/126893/diff/1#0 [3] https://git.reviewboard.kde.org/r/126892/diff/1#index_header
Git commit 6267c5a24b710bfd431d676c85277cd316b981dd by Takahiro Hashimoto. Committed on 01/02/2016 at 16:50. Pushed by hashimoto into branch 'master'. [kioslave/remote] fix knetattach .desktop filename REVIEW: 126893 M +1 -1 kioslave/remote/remoteimpl.cpp http://commits.kde.org/plasma-workspace/6267c5a24b710bfd431d676c85277cd316b981dd