IDEA IllegalStateException:使用Kotlin运行JUnit测试时服务正在消亡 [英] IDEA IllegalStateException: Service is dying when running JUnit test with Kotlin

查看:1315
本文介绍了IDEA IllegalStateException:使用Kotlin运行JUnit测试时服务正在消亡的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

昨天我正在处理我的代码库,当我突然在IDEA日志中看到这个时,我正在对我的代码运行单元测试:

Yesterday I was working on my codebase and I was running my unit tests against my code when suddenly I saw this in the IDEA log:


错误:Kotlin:[内部错误] java.lang.IllegalStateException:
服务在org.jetbrains.kotlin.daemon.common.CompileService $ CallResult $ Dying.get(CompileService.kt)中死亡
60)
at org.jetbrains.kotlin.daemon.common.CompileService $ CallResult $ Dying.get(CompileService.kt:59)
at org.jetbrains.kotlin.compilerRunner.JpsKotlinCompilerRunner.compileWithDaemon(JpsKotlinCompilerRunner。 kt:127)
org.jetbrains.kotlin.compilerRunner.JpsKotlinCompilerRunner.compileWithDaemonOrFallback(JpsKotlinCompilerRunner.kt:100)
at org.jetbrains.kotlin.compilerRunner.JpsKotlinCompilerRunner.compileWithDaemonOrFallback(JpsKotlinCompilerRunner.kt:35)
at org.jetbrains.kotlin.compilerRunner.KotlinCompilerRunner.runCompiler(KotlinCompilerRunner.kt:115)
at org.jetbrai ns.kotlin.compilerRunner.JpsKotlinCompilerRunner.runK2JvmCompiler(JpsKotlinCompilerRunner.kt:65)
at org.jetbrains.kotlin.jps.build.KotlinBuilder.compileToJvm(KotlinBuilder.kt:740)
at org.jetbrains。 kotlin.jps.build.KotlinBuilder.doCompileModuleChunk(KotlinBuilder.kt:458)
at org.jetbrains.kotlin.jps.build.KotlinBuilder.doBuild(KotlinBuilder.kt:264)
at org.jetbrains。 kotlin.jps.build.KotlinBuilder.build(KotlinBuilder.kt:181)
at org.jetbrains.jps.incremental.IncProjectBuilder.runModuleLevelBuilders(IncProjectBuilder.java:1282)
at org.jetbrains.jps。 incremental.IncProjectBuilder.runBuildersForChunk(IncProjectBuilder.java:956)
at org.jetbrains.jps.incremental.IncProjectBuilder.buildTargetsChunk(IncProjectBuilder.java:1028)
at org.jetbrains.jps.incremental.IncProjectBuilder。 buildChunkIfAffected(IncProjectBuilder.java:915)
at org.jetbrains.jps.incremental.IncProjectBuilder.buildChunks(IncProjectBui) lder.java:741)
at org.jetbrains.jps.incremental.IncProjectBuilder.runBuild(IncProjectBuilder.java:387)
at org.jetbrains.jps.incremental.IncProjectBuilder.build(IncProjectBuilder.java: 195)
at org.jetbrains.jps.cmdline.BuildRunner.runBuild(BuildRunner.java:138)
at org.jetbrains.jps.cmdline.BuildSession.runBuild(BuildSession.java:295)
at org.jetbrains.jps.cmdline.BuildSession.run(BuildSession.java:125)
at org.jetbrains.jps.cmdline.BuildMain $ MyMessageHandler $ 1.run(BuildMain.java:238)
at org.jetbrains.jps.service.impl.SharedThreadPoolImpl $ 1.run(SharedThreadPoolImpl.java:44)
at java.util.concurrent.Executors $ RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)

Error:Kotlin: [Internal Error] java.lang.IllegalStateException: Service is dying at org.jetbrains.kotlin.daemon.common.CompileService$CallResult$Dying.get(CompileService.kt:60) at org.jetbrains.kotlin.daemon.common.CompileService$CallResult$Dying.get(CompileService.kt:59) at org.jetbrains.kotlin.compilerRunner.JpsKotlinCompilerRunner.compileWithDaemon(JpsKotlinCompilerRunner.kt:127) at org.jetbrains.kotlin.compilerRunner.JpsKotlinCompilerRunner.compileWithDaemonOrFallback(JpsKotlinCompilerRunner.kt:100) at org.jetbrains.kotlin.compilerRunner.JpsKotlinCompilerRunner.compileWithDaemonOrFallback(JpsKotlinCompilerRunner.kt:35) at org.jetbrains.kotlin.compilerRunner.KotlinCompilerRunner.runCompiler(KotlinCompilerRunner.kt:115) at org.jetbrains.kotlin.compilerRunner.JpsKotlinCompilerRunner.runK2JvmCompiler(JpsKotlinCompilerRunner.kt:65) at org.jetbrains.kotlin.jps.build.KotlinBuilder.compileToJvm(KotlinBuilder.kt:740) at org.jetbrains.kotlin.jps.build.KotlinBuilder.doCompileModuleChunk(KotlinBuilder.kt:458) at org.jetbrains.kotlin.jps.build.KotlinBuilder.doBuild(KotlinBuilder.kt:264) at org.jetbrains.kotlin.jps.build.KotlinBuilder.build(KotlinBuilder.kt:181) at org.jetbrains.jps.incremental.IncProjectBuilder.runModuleLevelBuilders(IncProjectBuilder.java:1282) at org.jetbrains.jps.incremental.IncProjectBuilder.runBuildersForChunk(IncProjectBuilder.java:956) at org.jetbrains.jps.incremental.IncProjectBuilder.buildTargetsChunk(IncProjectBuilder.java:1028) at org.jetbrains.jps.incremental.IncProjectBuilder.buildChunkIfAffected(IncProjectBuilder.java:915) at org.jetbrains.jps.incremental.IncProjectBuilder.buildChunks(IncProjectBuilder.java:741) at org.jetbrains.jps.incremental.IncProjectBuilder.runBuild(IncProjectBuilder.java:387) at org.jetbrains.jps.incremental.IncProjectBuilder.build(IncProjectBuilder.java:195) at org.jetbrains.jps.cmdline.BuildRunner.runBuild(BuildRunner.java:138) at org.jetbrains.jps.cmdline.BuildSession.runBuild(BuildSession.java:295) at org.jetbrains.jps.cmdline.BuildSession.run(BuildSession.java:125) at org.jetbrains.jps.cmdline.BuildMain$MyMessageHandler$1.run(BuildMain.java:238) at org.jetbrains.jps.service.impl.SharedThreadPoolImpl$1.run(SharedThreadPoolImpl.java:44) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745)

这是四月傻瓜的笑话JetBrains?

我以前从未见过这个。 killall java 并且IDEA重启解决了这个问题,我无法重现这个问题。这是记录的东西(我没有在谷歌上找到任何点击)或只是编译Kotlin代码时IDEA中的一次性故障? 这个错误意味着什么?

I've never seen this before. killall java and an IDEA restart solved the problem and I was not able to reproduce this. Is this something which is documented (I did not found any hits on google) or just a one-off glitch in IDEA when compiling Kotlin code? What does this error mean?

请注意我运行的单元测试是一个简单的探索性测试,我认为这与此无关:

Note that the unit test I ran was a simple exploratory test and I think it is irrelevant here:

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)
}


推荐答案

这是已知问题 - 并行编译开始时的竞争条件。通常重复构建解决它。以下是YouTrack中相关的问题KT-15562 。该问题最终应该在Kotlin 1.1.2版本中得到修复。

It is the known problem - race condition on the parallel compilation start. Usually repeating the build solves it. Here is the relevant issue KT-15562 in the YouTrack. The problem is supposed to be finally fixed in Kotlin 1.1.2 release.

这篇关于IDEA IllegalStateException:使用Kotlin运行JUnit测试时服务正在消亡的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆