Error Downloading Latest Libraries & Boards

I am having an issue in downloading the latest libraries (via library manager) and the latest board packages (via board manager) when using any version NEWER than 1.8.9 on Windows 10. The errors are as follows:

Libraries:

Error downloading https://downloads.arduino.cc/libraries/library_index.json
java.lang.RuntimeException: java.lang.Exception: Error downloading https://downloads.arduino.cc/libraries/library_index.json
	at cc.arduino.contributions.libraries.ui.LibraryManagerUI.lambda$onUpdatePressed$2(LibraryManagerUI.java:210)
	at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.Exception: Error downloading https://downloads.arduino.cc/libraries/library_index.json
	at cc.arduino.contributions.DownloadableContributionsDownloader.download(DownloadableContributionsDownloader.java:149)
	at cc.arduino.contributions.DownloadableContributionsDownloader.download(DownloadableContributionsDownloader.java:130)
	at cc.arduino.contributions.JsonDownloader.download(JsonDownloader.java:49)
	at cc.arduino.contributions.GZippedJsonDownloader.download(GZippedJsonDownloader.java:66)
	at cc.arduino.contributions.libraries.LibraryInstaller.updateIndex(LibraryInstaller.java:84)
	at cc.arduino.contributions.libraries.ui.LibraryManagerUI.lambda$onUpdatePressed$2(LibraryManagerUI.java:203)
	... 1 more
Caused by: java.net.SocketException: Connection reset
	at java.net.SocketInputStream.read(SocketInputStream.java:210)
	at java.net.SocketInputStream.read(SocketInputStream.java:141)
	at sun.security.ssl.InputRecord.readFully(InputRecord.java:465)
	at sun.security.ssl.InputRecord.read(InputRecord.java:503)
	at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:975)
	at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1367)
	at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1395)
	at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1379)
	at sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:559)
	at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:185)
	at sun.net.www.protocol.https.HttpsURLConnectionImpl.connect(HttpsURLConnectionImpl.java:162)
	at cc.arduino.utils.network.HttpConnectionManager.makeConnection(HttpConnectionManager.java:155)
	at cc.arduino.utils.network.HttpConnectionManager.makeConnection(HttpConnectionManager.java:106)
	at cc.arduino.utils.network.FileDownloaderCache.updateCacheInfo(FileDownloaderCache.java:184)
	at cc.arduino.utils.network.FileDownloaderCache.getFileCached(FileDownloaderCache.java:153)
	at cc.arduino.utils.network.FileDownloader.downloadFile(FileDownloader.java:167)
	at cc.arduino.utils.network.FileDownloader.download(FileDownloader.java:129)
	at cc.arduino.contributions.DownloadableContributionsDownloader.download(DownloadableContributionsDownloader.java:147)
	... 6 more

Boards/Packages:

Error downloading https://downloads.arduino.cc/packages/package_index.json

I can successfully view these files in my browser and even save/download them, which is an OK workaround but the error still occurs when opening either manager and is rather annoying.

I have tried the following without success, based on various online posts/forums:

  • Deleting all files in "C:\Users<username>\AppData\Local\Arduino15" except preferences.txt
  • Whitelisting the Arduino IDE through the firewall
  • Running "setx _JAVA_OPTIONS -Djava.net.preferIPv4Stack=true"
  • Verifying proxy settings are on auto-detect (honestly, my understanding of how proxy works is minimal so I haven't tried anything else here)
  • Uninstalling and reinstalling multiple versions, from 1.8.10 to 1.8.16
  • Uninstalling and reinstalling JAVA 1.8 to get the latest version
  • Adding the following lines to "C:\Program Files (x86)\Arduino\arduino.l4j.ini":
    -Djavax.net.ssl.trustStore=NUL
    -Djavax.net.ssl.trustStoreType=Windows-ROOT

It's worth noting that I have not tried anything to do with the antivirus for a few reasons: 1) I have no issues with 1.8.9, and 2) I am operating on a work computer and antivirus is maintained/controlled by my IT department (I'd rather not go that route unless it's a last resort).

I don't have any issues continuing to use 1.8.9 but would love to get the latest and greatest updates/SW.

The other thing to note is my Windows 10 personal computer is running 1.8.16 without issue so I'm assuming it has something to do with my Windows setup or the policies that are maintained by the company.

Any thoughts? Any help would be greatly appreciated, thanks.

Try complete uninstall of the IDE, see https://support.arduino.cc/hc/en-us/articles/360021325733-How-to-do-a-complete-uninstall-of-the-Arduino-IDE and install version 1.8.16 afterwards.

I had previously done that, with the exception of deleting the sketchbook folder.

I just attempted that as well (after backing up, of course) and the errors persist.

You can try the portable version, see https://www.arduino.cc/en/Guide/PortableIDE

I suspect that that is the reason; they might have blocked access at the application level. I have no idea how it is done and I certainly have no idea why 1.8.9 does not have problems.

I would agree with @sterretje in that there can often be problems where a computer is not your own private computer.

Another choice is to try PORTABLE mode which you can find using the forum search.
But to get you started

@sterretje That's the thing that throws me for a loop: 1.8.9 works just fine, but anything newer does not. I checked the release notes and nothing stood out to me but I'm also a HW guy dabbling/learning in the programming/SW realm so some of it is Greek to me...

@Ballscrewbob I gave portable mode a try and received the same errors, unfortunately. I lament often not having control of various setups on my PC, but so goes the corporate structure...

I am going to reach out to my IT department to see about whitelisting the IDE in antivirus, but past that, I have no other ideas. Open to other thoughts and appreciate the support up to this point.

Calling your IT department is certainly the best option.
Getting the IDE and its associated storage locations, ports etc. whitelisted is the best option.

As for why one works and another does not can be down to a simple change in the program between versions. Won't be the first or last time we see that happen and not just for Arduino.