Skip to content

NPE & unable to start if selected board doesn't exist #2635

Closed
@PaulStoffregen

Description

@PaulStoffregen

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.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions