From c83b4b384261647e664c64bf1ab78345032090c1 Mon Sep 17 00:00:00 2001 From: Dmitry Jemerov Date: Tue, 26 Jan 2016 19:39:04 +0100 Subject: [PATCH] clean ZipHandler cache after disposing CoreApplicationEnvironment to avoid storing stale ZipHandlers referring to disposed CoreJarFileSystem instance in ZipHandler.ourFileAccessorCache --- .../jetbrains/kotlin/cli/jvm/compiler/KotlinCoreEnvironment.kt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/compiler/KotlinCoreEnvironment.kt b/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/compiler/KotlinCoreEnvironment.kt index c759846efbe..d21f37abdff 100644 --- a/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/compiler/KotlinCoreEnvironment.kt +++ b/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/compiler/KotlinCoreEnvironment.kt @@ -39,6 +39,7 @@ import com.intellij.openapi.util.io.FileUtilRt import com.intellij.openapi.util.text.StringUtil import com.intellij.openapi.vfs.PersistentFSConstants import com.intellij.openapi.vfs.VirtualFile +import com.intellij.openapi.vfs.impl.ZipHandler import com.intellij.psi.FileContextProvider import com.intellij.psi.PsiElementFinder import com.intellij.psi.augment.PsiAugmentProvider @@ -320,6 +321,7 @@ class KotlinCoreEnvironment private constructor( val environment = ourApplicationEnvironment ?: return ourApplicationEnvironment = null Disposer.dispose(environment.parentDisposable) + ZipHandler.clearFileAccessorCache() } }