IDE 1.8.9 stops after splashscreen, debug gives java.lang.NullPointerException

My Arduino IDE was working fine but today it abruptly stopped. Trying to run it produces the splashscreen but it says initialising packages, preparing boards, then disappears. Debug produces this output:-

C:\Program Files (x86)\Arduino>arduino_debug
Loading configuration...
Initialising packages...
Preparing boards...
java.lang.NullPointerException
at processing.app.BaseNoGui.onBoardOrPortChange(BaseNoGui.java:679)
at processing.app.Base.onBoardOrPortChange(Base.java:1317)
at processing.app.Base$12.actionPerformed(Base.java:1544)
at processing.app.Base.rebuildBoardsMenu(Base.java:1494)
at processing.app.Base.(Base.java:275)
at processing.app.Base.main(Base.java:151)

Uninstalling the IDE and downloading and reinstalling the latest 1.8.9 version made no difference. I really would appreciate any advice.

This error indicates you need to take some drastic action. Be aware this is somewhat advanced and will remove any boards you have installed via Boards Manager:

  • Open the folder C:\Users{username}\AppData\Local\Arduino15. C:\Users{username}\AppData is a system folder, which Windows hides from you by default. You can configure Windows Explorer to show system folders.
  • Delete all files and folders under the Arduino15 folder except for preferences.txt. Please be very careful when deleting things from your computer. When in doubt, back up!
  • Restart the Arduino IDE

Verify that you can now start the Arduino IDE before reinstalling any packages via Boards Manager.

The Arduino15 folder is left behind when you uninstall the Arduino IDE. So that's why if there is something in that folder which is preventing the Arduino IDE from starting, uninstalling and reinstalling the IDE doesn't solve the problem.