Created attachment 121929 [details] Screenshot of the issue. SUMMARY If a file contains weird character encodings like: $ls -l * ''$'\360\302\342''A'$'\374\177' 'output'$'\221\314\034''_'$'\026\177''.png Dolphin cannot delete those, but says they do not exist. They can be deleted by opening a terminal though. OBSERVED RESULT See screenshot. EXPECTED RESULT Dolphin does not complain. SOFTWARE/OS VERSIONS Operating System: Manjaro Linux KDE Plasma Version: 5.16.3 KDE Frameworks Version: 5.61.0 Qt Version: 5.13.0 Kernel Version: 5.2.4-1-MANJARO
Can confirm with Dolphin 19.11.70 on KDE Neon Git Unstable.
Could you please create a tar.gz archive with a file named this way and add it here?
Created attachment 121937 [details] Example file with invalid encoding The file can be deleted via its inode: > find . -inum ${inode} -delete
Created attachment 121938 [details] Minimal example project It seems that the faulty encoding vanishes when I download the attachment with the FireFox. That's why I created a minimal C++ example project. However it requires the ROOT framework to be installed. The "Form" function used is the following: https://root.cern.ch/doc/master/classTString.html#aeb44d6183d8b1f1b7090dbd3c93f5e39 I am sorry that I cannot deliver any other samples right now.
I found a workaround: In Dolphin do: * Create a new folder * Move the weird files to this new folder with Dolphin * Delete the folder, ie the folder moves to trash * Delete the folder in the trash Just deleting the files directly does not work.
> It seems that the faulty encoding vanishes when I download the attachment with the FireFox. That's the reason I requested a tar.gz file which contains a file using a not working name.
I should have mentioned that I tried to this but failed: > tar -czf test.tar "\'\'$\'\020\365\226\377\177\'\'_Encoding.root\'" as tar will rename the file making the sample useless. However you can do this: > touch testfile > mv testfile ''$'\020\365\226\377\177''.test' :-)
> mv testfile ''$'\020\365\226\377\177''.test' I could delete the file using Dolphin. Need more information how to reproduce.
The minimal sample I found, which I cannot delete, is > touch $'\300' or any number greater than 300. Below it will create an ASCII, for example > touch $'\100' will create a file named "@" I am not sure why you are able to delete it. Maby you use a filesystem other than ext4? Which additional information could I give you?
I am also using ext4. Are you using a UTF-8 locale?
set | grep ^L[AC]
> set | grep ^L[AC] > LANG=de_DE.UTF-8 > LANGUAGE= > LC_ALL=de_DE.UTF-8 > LC_NAME=de_DE.UTF-8
If you say that you are able to delete a directory that contains such a file, the bug isn't in kio. Needs someone to further investigate.
Created attachment 123697 [details] Video which demonstrates the issue. I tried it again and I can no longer delete the folder with the weird file within Dolphin but with the "rm" command in a terminal. So it is likely related to KIO. I made a video for you: * Create a weird file * Rename it * Undo renaming * Try to delete it * Move it to a folder * Delete the folder, ie move it to the trash * Try to empty the trash * Try to remove the folder in the trash * Remove the folder with rm -rf * Press F5 to update the cache so Dolphin notices that the Folder and file are actually gone System update: Operating System: Manjaro Linux KDE Plasma Version: 5.17.2 KDE Frameworks Version: 5.64.0 Qt Version: 5.13.1
For the video I used a freshly created user account. However, a friend of mine, who is on Manjaro KDE as well, could not reproduce it unfortunately. Maybe I should try to reinstall my system or test it with a live version?
I haven't investigated properly, but if you are trying to delete files inside trash:// KIO slave instead of using the file:// slave, then it probably cannot work because the encoding hack to support broken file names was only added for the file:// slave.
(In reply to Christoph Feck from comment #16) > if you are trying to delete files > inside trash:// KIO slave instead of using the file:// slave, then it > probably cannot work because the encoding hack to support broken file names > was only added for the file:// slave. That's why the file in the folder is not displayed in Dolphin for trash:// but only for file:// Displays the file: > /home/user/.local/share/Trash/files/foo/ Does not display the file: > trash:/0-foo/
Moving to confirmed as it seems Christoph and Postix have confirmed where the issue lies.