昨天,我正在处理我的代码库,并且正在针对我的代码运行单元测试,突然我在 IDEA 日志中看到了以下内容:
错误:Kotlin:[内部错误] java.lang.IllegalStateException:
服务正在消亡
在 org.jetbrains.kotlin.daemon.common.CompileService$CallResult$Dying.get(CompileService.kt:60)
在 org.jetbrains.kotlin.daemon.common.CompileService$CallResult$Dying.get(CompileService.kt:59)
在 org.jetbrains.kotlin.compilerRunner.JpsKotlinCompilerRunner.compileWithDaemon(JpsKotlinCompilerRunner.kt:127)
在 org.jetbrains.kotlin.compilerRunner.JpsKotlinCompilerRunner.compileWithDaemonOrFallback (JpsKotlinCompilerRunner.kt:100)
在 org.jetbrains.kotlin.compilerRunner.JpsKotlinCompilerRunner.compileWithDaemonOrFallback(JpsKotlinCompilerRunner.kt:35)
在 org.jetbrains.kotlin.compilerRunner.KotlinCompilerRunner.runCompiler(KotlinCompilerRunner.kt:115)
在 org.jetbrains.kotlin.compilerRunner.JpsKotlinCompilerRunner.runK2JvmCompiler(JpsKotlinCompilerRunner.kt:65)
在 org.jetbrains.kotlin.jps.build.KotlinBuilder.compileToJvm(KotlinBuilder.kt:740)
在 org.jetbrains.kotlin.jps.build.KotlinBuilder.doCompileModuleChunk(KotlinBuilder.kt:458)
在 org.jetbrains.kotlin.jps.build.KotlinBuilder.doBuild(KotlinBuilder.kt:264)
在 org.jetbrains.kotlin.jps.build.KotlinBuilder.build(KotlinBuilder.kt:181)
在 org.jetbrains.jps.incremental.IncProjectBuilder.runModuleLevelBuilders(IncProjectBuilder.java:1282)
在 org.jetbrains.jps.incremental.IncProjectBuilder.runBuildersForChunk(IncProjectBuilder.java:956)
在 org.jetbrains.jps.incremental.IncProjectBuilder.buildTargetsChunk(IncProjectBuilder.java:1028)
在 org.jetbrains.jps.incremental.IncProjectBuilder.buildChunkIfAffected(IncProjectBuilder.java:915)
在 org.jetbrains.jps.incremental.IncProjectBuilder.buildChunks(IncProjectBuilder.java:741)
在 org.jetbrains.jps.incremental.IncProjectBuilder.runBuild(IncProjectBuilder.java:387)
在 org.jetbrains.jps.incremental.IncProjectBuilder.build(IncProjectBuilder.java:195)
在 org.jetbrains.jps.cmdline.BuildRunner.runBuild(BuildRunner.java:138)
在 org.jetbrains.jps.cmdline.BuildSession.runBuild(BuildSession.java:295)
在 org.jetbrains.jps.cmdline.BuildSession.run(BuildSession.java:125)
在 org.jetbrains.jps.cmdline.BuildMain$MyMessageHandler$1.run(BuildMain.java:238)
在 org.jetbrains.jps.service.impl.SharedThreadPoolImpl$1.run(SharedThreadPoolImpl.java:44)
在 java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
在 java.util.concurrent.FutureTask.run(FutureTask.java:266)
在java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
在 java.lang.Thread.run(Thread.java:745)
这是 JetBrains 的愚人节玩笑吗?
我以前从未见过这个。killall java
IDEA 重新启动解决了问题,但我无法重现此问题。这是有记录的东西(我在谷歌上没有找到任何点击)还是只是编译 Kotlin 代码时 IDEA 中的一次性故障?这个错误是什么意思?
注意我运行的单元测试是一个简单的探索性测试,我认为它在这里无关紧要:
internal fun fetchAsListWithSiblings(): List<Message<T>> {
val first = this
var currentMsg = first
val result = mutableListOf(currentMsg)
while(currentMsg.next.isPresent) {
val next = currentMsg.next.get()
currentMsg = next
result.add(next)
}
return result
}
@Test
fun shouldFetchSiblingsWhenFetchSiblingsIsCalledWithMultipleSiblings() {
val expected = listOf("foo", "bar", "baz")
val messages = Message.createMultiple(expected)
assertThat(messages.fetchAsListWithSiblings().map { it.payload }).isEqualTo(expected)
}
这是已知的问题 - 并行编译启动时的竞争条件。通常重复构建可以解决它。这是相关的问题 KT-15562 https://youtrack.jetbrains.com/issue/KT-15562在 YouTrack 中。该问题应该最终在 Kotlin 1.1.2 版本中得到解决。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)