[arduino-1.9.0-beta-windows\arduino-PR-beta1.9-BUILD-36]Delete tab in IDE causes problems
- Dominant language
- Java
- Stars
- 14.6k
- Forks
- 7k
- PR merge metrics
- No merged PRs in 30d
Description
OS is Windows 7 Enterprise, SP1. Fully patched to my knowledge.
Not sure if this is the correct section to post.
Create a sketch with ino, one .h and one .cpp
Verify OK
Add additional tab
Verify OK
Delete the new tab results in error
```
Could not createInput() for C:\Users\sterretje\Documents\Arduino\multiple_tabs\abc.h
java.io.FileNotFoundException: C:\Users\sterretje\Documents\Arduino\multiple_tabs\abc.h (The system cannot find the file specified)
at java.io.FileInputStream.open0(Native Method)
at java.io.FileInputStream.open(FileInputStream.java:195)
at java.io.FileInputStream.(FileInputStream.java:138)
at processing.app.legacy.PApplet.createInput(PApplet.java:595)
at processing.app.legacy.PApplet.loadStrings(PApplet.java:254)
at processing.app.BaseNoGui.loadFile(BaseNoGui.java:655)
at processing.app.SketchFile.load(SketchFile.java:256)
at processing.app.EditorTab.reload(EditorTab.java:519)
at processing.app.tools.WatchDir.lambda$processEvents$0(WatchDir.java:170)
at java.util.ArrayList.forEach(ArrayList.java:1255)
at java.util.Collections$UnmodifiableCollection.forEach(Collections.java:1080)
at processing.app.tools.WatchDir.processEvents(WatchDir.java:168)
at processing.app.Editor$55.run(Editor.java:2022)
at java.lang.Thread.run(Thread.java:748)
Warning: Failed to reload file: "abc.h"
Exception in thread "Thread-23" java.util.ConcurrentModificationException
at java.util.ArrayList.forEach(ArrayList.java:1258)
at java.util.Collections$UnmodifiableCollection.forEach(Collections.java:1080)
at processing.app.tools.WatchDir.processEvents(WatchDir.java:168)
at processing.app.Editor$55.run(Editor.java:2022)
at java.lang.Thread.run(Thread.java:748)
```
Trying to verify after that results in
```
C:\Users\sterretje\Downloads\Arduino\arduino-1.9.0-beta-windows\arduino-PR-beta1.9-BUILD-36\arduino-builder -dump-prefs -logger=machine -hardware C:\Users\sterretje\Downloads\Arduino\arduino-1.9.0-beta-windows\arduino-PR-beta1.9-BUILD-36\hardware -tools C:\Users\sterrtje\Downloads\Arduino\arduino-1.9.0-beta-windows\arduino-PR-beta1.9-BUILD-36\tools-builder -tools C:\Users\sterretje\Downloads\Arduino\arduino-1.9.0-beta-windows\arduino-PR-beta1.9-BUILD-36\hardware\tools\avr -built-in-libraries C:\Users\sterretje\Downloads\Arduino\arduino-1.9.0-beta-windows\arduino-PR-beta1.9-BUILD-36\libraries -libraries C:\Users\sterretje\Documents\Arduino\libraries -fqbn=arduino:avr:uno -ide-version=10900 -build-path C:\Users\sterretje\AppData\Local\Temp\arduino_build_144164 -warnings=all -prefs=build.warn_data_percentage=75 -verbose C:\Users\sterretje\Documents\Arduino\multiple_tabs\multiple_tabs.ino
C:\Users\sterretje\Downloads\Arduino\arduino-1.9.0-beta-windows\arduino-PR-beta1.9-BUILD-36\arduino-builder -compile -logger=machine -hardware C:\Users\sterretje\Downloads\Arduino\arduino-1.9.0-beta-windows\arduino-PR-beta1.9-BUILD-36\hardware -tools C:\Users\sterrtje\Downloads\Arduino\arduino-1.9.0-beta-windows\arduino-PR-beta1.9-BUILD-36\tools-builder -tools C:\Users\sterretje\Downloads\Arduino\arduino-1.9.0-beta-windows\arduino-PR-beta1.9-BUILD-36\hardware\tools\avr -built-in-libraries C:\Users\sterretje\Downloads\Arduino\arduino-1.9.0-beta-windows\arduino-PR-beta1.9-BUILD-36\libraries -libraries C:\Users\sterretje\Documents\Arduino\libraries -fqbn=arduino:avr:uno -ide-version=10900 -build-path C:\Users\sterretje\AppData\Local\Temp\arduino_build_144164 -warnings=all -prefs=build.warn_data_percentage=75 -verbose C:\Users\sterretje\Documents\Arduino\multiple_tabs\multiple_tabs.ino
Using board 'uno' from platform in folder: C:\Users\sterretje\Downloads\Arduino\arduino-1.9.0-beta-windows\arduino-PR-beta1.9-BUILD-36\hardware\arduino\avr
Using core 'arduino' from platform in folder: C:\Users\sterretje\Downloads\Arduino\arduino-1.9.0-beta-windows\arduino-PR-beta1.9-BUILD-36\hardware\arduino\avr
Build options changed, rebuilding all
mkdir C:\Users\sterretje\AppData\Local\Temp\arduino_build_144164\sketch: Access is denied.
Error compiling for board Arduino/Genuino Uno.
```
Trying to access the sketch directory in the AppData directory in windows explorer after that results in access denied.
Contributor guide
Research direction
Reproduce the failure by creating a sketch with .ino, .h, and .cpp files, adding a tab, and deleting it. Start with EditorTab.java and WatchDir.java, then inspect the related stack-trace paths in SketchFile.java and BaseNoGui.java; done means deleting the tab no longer causes reload or concurrent-modification errors and verification succeeds.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- desktop
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100