Closed
Description
If you add a 3rd party package, select one of its boards, and then quit Arduino and delete the package, the IDE will be unable to start again.
I believe the problem is likely in BaseNoGui.onBoardOrPortChange, at line 692:
https://github.com/arduino/Arduino/blob/master/arduino-core/src/processing/app/BaseNoGui.java#L692
String core = getBoardPreferences().get("build.core");
if (core.contains(":")) {
If the currently selected board, according to stored preferences, no longer exists, then the string will be null. Calling contains(":") without first checking for null throws a NPE.
The IDE can't recover or start up. Reinstalling the IDE can't recover either! The user must manually edit or delete their prefs file, or restore the missing package, but there's no way they'd know to do so.