https://bugs.kde.org/show_bug.cgi?id=469445
pallaswept <pallasw...@proton.me> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |pallasw...@proton.me --- Comment #12 from pallaswept <pallasw...@proton.me> --- TL;DR the specific nature of this issue is two-fold: that not only desktop items, but also the CONTENTS of desktop items, are stored in this file; and that files which no longer exist are never removed. This results in an a) oversized due to inclusion of irrelevant items, and b) ever-growing when items are removed from the desktop but not the config file; single line of text in the config file, which inevitably eventually leads to a failure to load the file and subsequent crash of plasma. To fix this will require two parts, firstly to only track items directly ON the desktop, and NOT their contents, and secondly, to REMOVE items that are no longer present on the desktop. >EXPECTED RESULT > Is this config entry even needed? At least it should remove the files when > deleted from the desktop The config entry is needed to track the position of desktop items when using multiple displays. The nature of the problem here is that it doesn't track positions of items on the desktop, it tracks positions of items on the desktop RECURSIVELY. As in, if I create a folder on my desktop, that folder needs an entry here, but the 8000 source files of the app I'm building which are within that folder do NOT need to be tracked in this file, at all, ever. They never appear on the desktop. They just happen to be stored beneath the desktop folder. > STEPS TO REPRODUCE > 1. Put a folder with many files on the desktop (I used the wine source code) > 2. Look at the plasma-org.kde.plasma.desktop-appletsrc config These steps given to cause the fault are not complete. I have a folder on my desktop right now with thousands of source files within it, but only the items I've positioned on the desktop are stored in this config file, and in this case, only the top folder is there. I discovered this bug after building the app, so something that happened during the course of building it made plasma aware of all the subdirectories and all their file contents, and created an !!8 megabyte long single line of text!! in my config file, specifying the desktop position of items that are never positioned on the desktop. Further to this, many of those files were created during the build, and then deleted, but the entries in the config file for them remained. Importantly, this shows that one could cause this failure by simply creating and removing a sufficient number of files on (or within) the desktop folder. As in, eventually, it will happen to everyone. It was only after rebooting that I discovered the problem, and thanks to Murphy's Law, the reason for rebooting was a system upgrade that included new qt libs, new plasma components, a new kernel, and a new graphics driver, so naturally I assumed one or more of those things to be the cause of the fault, and some 8 hours of troubleshooting later, I managed to pin it down to this config file. I restored from a copy from some time ago, and intended to compare it to the offending file so I didn't need to spend an hour reconfiguring my entire desktop, and Kate complained about the long line of text and then crashed, and Kdiff crashed on it too. Once I found the offending line (thank you micro text editor for being able to load it without dying), I removed it and only had to drag a few desktop icons to their rightful place. The experience was sufficiently unpleasant for me to create an account here and add some detail about the nature of the fault. I hope it is helpful and that this case is treated with appropriately high priority, as fixing it is no simple task. Shout out to BTRFS and snapper for saving me from a total nightmare reconfiguring everything. -- You are receiving this mail because: You are watching all bug changes.