diff --git a/platform/platform-impl/src/com/intellij/ide/plugins/DynamicPlugins.kt b/platform/platform-impl/src/com/intellij/ide/plugins/DynamicPlugins.kt index cb728a8e9c29..8eb541648a99 100644 --- a/platform/platform-impl/src/com/intellij/ide/plugins/DynamicPlugins.kt +++ b/platform/platform-impl/src/com/intellij/ide/plugins/DynamicPlugins.kt @@ -560,7 +560,12 @@ object DynamicPlugins { @OptIn(DelicateCoroutinesApi::class) val waitForCompletion = GlobalScope.launch { for (classLoader in classLoaders) { - classLoader.pluginCoroutineScope.coroutineContext.job.join() + val pluginJob = classLoader.pluginCoroutineScope.coroutineContext.job + if (!pluginJob.isCancelled) { + LOG.error("Plugin scope is expected to be cancelled during unloading") + pluginJob.cancel() + } + pluginJob.join() } } while (waitForCompletion.isActive) {