From ada6e2a906c7b303dc5b6dae17e32cc2ef98e025 Mon Sep 17 00:00:00 2001 From: Dmitry Jemerov Date: Thu, 13 Oct 2016 19:36:05 +0200 Subject: [PATCH] catch I/O exceptions from prepareToInstall() (EA-86183 - SE: AppInputStream.read) --- .../org/jetbrains/kotlin/idea/KotlinPluginUpdater.kt | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/idea/src/org/jetbrains/kotlin/idea/KotlinPluginUpdater.kt b/idea/src/org/jetbrains/kotlin/idea/KotlinPluginUpdater.kt index dcb7280b056..ff138546de2 100644 --- a/idea/src/org/jetbrains/kotlin/idea/KotlinPluginUpdater.kt +++ b/idea/src/org/jetbrains/kotlin/idea/KotlinPluginUpdater.kt @@ -42,6 +42,7 @@ import com.intellij.util.Alarm import com.intellij.util.io.HttpRequests import com.intellij.util.text.VersionComparatorUtil import java.io.File +import java.io.IOException import java.io.PrintWriter import java.io.StringWriter import java.net.URLEncoder @@ -234,7 +235,15 @@ class KotlinPluginUpdater(val propertiesComponent: PropertiesComponent) : Dispos ProgressManager.getInstance().run(object : Task.Backgroundable(null, "Downloading plugins", true) { override fun run(indicator: ProgressIndicator) { var installed = false - if (pluginDownloader.prepareToInstall(indicator)) { + val prepareResult = try { + pluginDownloader.prepareToInstall(indicator) + } + catch (e: IOException) { + LOG.info(e) + false + } + + if (prepareResult) { val pluginDescriptor = pluginDownloader.descriptor if (pluginDescriptor != null) { installed = true