Open per1234 opened 1 year ago
The ticket is year old and there is still massive temporary folder pollution in recent Arduino IDE.
I'm using the IDE very sporadically these days and nevertheless I just had to manually clean hundred files and directories like these:
arduino-ide2-XXX
arduino-language-serverXXX
gdb-server-console-XXX.log
system-includes-XXX.clangd
I run with 2 scripts for Arduino 2.x IDE, one named arduino2 which does not cleanup afterwards and is used when I'm building a few things or running debugging sessions so I might restart the IDE. Then I have arduino22 which is one which calls a tmp-cleanup script after the ide finishes and that does all the /tmp file and directory deletions. Or, after I'm finished with the debugging/etc using arduino2 script I just run the tmp-cleanup script directly.
Kinda a PIA but eased by just needing to run the script isn't too painful.
The Temp\arduino folder should be cleaned regularly. It is now 600 Mb large and full with 0 bytes folders.
Describe the problem
The Arduino IDE application creates some temporary folders:
arduino-ide2-0694b57a37dbff387afae61891204d75/
.arduinoIDE-unsaved202301-12372-u0dvfq.rtr7i/
gdb-server-console-6800.log
github-remote/
http-remote/
theia_upload/
These persist even after the user exits the IDE.
In the case of the first two on the list above, the folders accumulate over time, which may eventually cause a performance impact.
To reproduce
🐛 An additional folder is present for each of the IDE windows you opened. 🐛 An additional folder is present for each of the unsaved sketches you opened. 🐛 An additional
gdb-server-console-nnnn.log
file is present for each of the IDE windows you opened. 🐛 Thegithub-remote/
,http-remote/
, andtheia_upload/
temporary folders Arduino IDE creates are still presentExpected behavior
Temporary files are cleaned up on exit.
Arduino IDE version
76f9f63
Operating system
Operating system version
Additional context
This is similar to https://github.com/arduino/arduino-ide/issues/1779. However, the two are distinct in that https://github.com/arduino/arduino-ide/issues/1779 allows for easier management of the temporary files during runtime (e.g., configuring antivirus software exclusions) and manual cleanup of files leftover when the application is not able to perform an automatic cleanup (e.g., power outage, crash).
Some operating systems may eventually do a clean-up on the temporary folder, but this is not guaranteed. It is better for the application to take care of clean up of any temporary files once they are no longer needed.
Additional temporary files are generated by tools used by Arduino IDE (e.g., Arduino CLI, arduino-fwuploader, Arduino Language Server, clangd). Cleanup of those file should be the responsibility of the individual tool, not Arduino IDE, so cleanup of those files is out of scope for this issue.
They are tracked in the repositories of those projects:
Additional reports
Related
Issue checklist