The code is stored here. The problem appears when modelCheckingTest() is run in Debug using Lincheck plugin.
WARNING: A Java agent has been loaded dynamically (/Users/Daria.Shutina/.gradle/caches/modules-2/files-2.1/net.bytebuddy/byte-buddy-agent/1.14.12/be4984cb6fd1ef1d11f218a648889dfda44b8a15/byte-buddy-agent-1.14.12.jar)
WARNING: If a serviceability tool is in use, please run with -XX:+EnableDynamicAgentLoading to hide this warning
WARNING: If a serviceability tool is not in use, please run with -Djdk.instrument.traceUsage for more information
WARNING: Dynamic loading of agents will be disallowed by default in a future release
= The execution has hung, see the thread dump =
| ---------------------------------------------------------------------------- |
| Thread 1 | Thread 2 | Thread 3 |
| ---------------------------------------------------------------------------- |
| send(3) + cancel: <hung> | receive() + cancel: CANCELLED | receive(): <hung> |
| | receive(): <hung> | |
| ---------------------------------------------------------------------------- |
Thread-Lincheck-RendezvousChannelTest-0:
java.util.concurrent.ConcurrentHashMap.transfer(ConcurrentHashMap.java:2484)
java.util.concurrent.ConcurrentHashMap.addCount(ConcurrentHashMap.java:2354)
java.util.concurrent.ConcurrentHashMap.computeIfAbsent(ConcurrentHashMap.java:1776)
java.lang.instrument.ClassFileTransformer.transform(ClassFileTransformer.java:244)
sun.instrument.TransformerManager.transform(TransformerManager.java:188)
sun.instrument.InstrumentationImpl.transform(InstrumentationImpl.java:610)
sun.instrument.InstrumentationImpl.retransformClasses0(Native Method)
sun.instrument.InstrumentationImpl.retransformClasses(InstrumentationImpl.java:225)
sun.nio.ch.lincheck.Injections.beforeMethodCall(Injections.java:249)
com.deshyt.RendezvousChannel.tryResumeRequest(RendezvousChannel.kt:160)
com.deshyt.RendezvousChannel.tryMakeRendezvous(RendezvousChannel.kt:123)
com.deshyt.RendezvousChannel.updateCellOnSend(RendezvousChannel.kt:53)
com.deshyt.RendezvousChannel.send(RendezvousChannel.kt:43)
com.deshyt.ChannelTestBase.send(ChannelTestBase.kt:21)
java.lang.Thread.runWith(Thread.java:1596)
java.lang.Thread.run(Thread.java:1583)
Thread-Lincheck-RendezvousChannelTest-1:
org.jetbrains.kotlinx.lincheck.strategy.managed.ManagedStrategy.awaitTurn(ManagedStrategy.kt:1787)
org.jetbrains.kotlinx.lincheck.strategy.managed.ManagedStrategy.switchCurrentThread(ManagedStrategy.kt:502)
org.jetbrains.kotlinx.lincheck.strategy.managed.ManagedStrategy.switchCurrentThread$default(ManagedStrategy.kt:493)
org.jetbrains.kotlinx.lincheck.strategy.managed.ManagedStrategy.afterCoroutineSuspended$lincheck(ManagedStrategy.kt:1016)
org.jetbrains.kotlinx.lincheck.strategy.managed.ManagedStrategyRunner.afterCoroutineSuspended(ManagedStrategy.kt:1552)
org.jetbrains.kotlinx.lincheck.runner.ParallelThreadsRunner.waitAndInvokeFollowUp(ParallelThreadsRunner.kt:239)
org.jetbrains.kotlinx.lincheck.runner.ParallelThreadsRunner.processInvocationResult(ParallelThreadsRunner.kt:224)
org.jetbrains.kotlinx.lincheck.runner.TestThreadExecution4.run(Unknown Source)
org.jetbrains.kotlinx.lincheck.runner.FixedActiveThreadsExecutor.testThreadRunnable$lambda$10(FixedActiveThreadsExecutor.kt:174)
org.jetbrains.kotlinx.lincheck.runner.FixedActiveThreadsExecutor$$Lambda/0x000000b00120c000.run(Unknown Source)
java.lang.Thread.runWith(Thread.java:1596)
java.lang.Thread.run(Thread.java:1583)
Thread-Lincheck-RendezvousChannelTest-2:
org.jetbrains.kotlinx.lincheck.strategy.managed.ManagedStrategy.awaitTurn(ManagedStrategy.kt:1787)
org.jetbrains.kotlinx.lincheck.strategy.managed.ManagedStrategy.switchCurrentThread(ManagedStrategy.kt:502)
org.jetbrains.kotlinx.lincheck.strategy.managed.ManagedStrategy.switchCurrentThread$default(ManagedStrategy.kt:493)
org.jetbrains.kotlinx.lincheck.strategy.managed.ManagedStrategy.afterCoroutineSuspended$lincheck(ManagedStrategy.kt:1016)
org.jetbrains.kotlinx.lincheck.strategy.managed.ManagedStrategyRunner.afterCoroutineSuspended(ManagedStrategy.kt:1552)
org.jetbrains.kotlinx.lincheck.runner.ParallelThreadsRunner.waitAndInvokeFollowUp(ParallelThreadsRunner.kt:239)
org.jetbrains.kotlinx.lincheck.runner.ParallelThreadsRunner.processInvocationResult(ParallelThreadsRunner.kt:224)
org.jetbrains.kotlinx.lincheck.runner.TestThreadExecution5.run(Unknown Source)
org.jetbrains.kotlinx.lincheck.runner.FixedActiveThreadsExecutor.testThreadRunnable$lambda$10(FixedActiveThreadsExecutor.kt:174)
org.jetbrains.kotlinx.lincheck.runner.FixedActiveThreadsExecutor$$Lambda/0x000000b00120c000.run(Unknown Source)
java.lang.Thread.runWith(Thread.java:1596)
java.lang.Thread.run(Thread.java:1583)
Check failed.
java.lang.IllegalStateException: Check failed.
at org.jetbrains.kotlinx.lincheck.LinChecker.runReplayForPlugin(LinChecker.kt:133)
at org.jetbrains.kotlinx.lincheck.LinChecker.checkImpl(LinChecker.kt:114)
at org.jetbrains.kotlinx.lincheck.LinChecker.checkImpl$lincheck(LinChecker.kt:65)
at org.jetbrains.kotlinx.lincheck.LinChecker.check(LinChecker.kt:47)
at org.jetbrains.kotlinx.lincheck.LinChecker$Companion.check(LinChecker.kt:195)
at org.jetbrains.kotlinx.lincheck.LinCheckerKt.check(LinChecker.kt:295)
at org.jetbrains.kotlinx.lincheck.LinCheckerKt.check(LinChecker.kt:304)
at com.deshyt.TestBase.modelCheckingTest(Unknown Source)
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
at java.base/java.lang.reflect.Method.invoke(Method.java:580)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:56)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306)
at org.junit.runners.BlockJUnit4ClassRunner$1.evaluate(BlockJUnit4ClassRunner.java:100)
at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:366)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:103)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:63)
at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329)
at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293)
at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306)
at org.junit.runners.ParentRunner.run(ParentRunner.java:413)
at org.gradle.api.internal.tasks.testing.junit.JUnitTestClassExecutor.runTestClass(JUnitTestClassExecutor.java:112)
at org.gradle.api.internal.tasks.testing.junit.JUnitTestClassExecutor.execute(JUnitTestClassExecutor.java:58)
at org.gradle.api.internal.tasks.testing.junit.JUnitTestClassExecutor.execute(JUnitTestClassExecutor.java:40)
at org.gradle.api.internal.tasks.testing.junit.AbstractJUnitTestClassProcessor.processTestClass(AbstractJUnitTestClassProcessor.java:60)
at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.processTestClass(SuiteTestClassProcessor.java:52)
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
at java.base/java.lang.reflect.Method.invoke(Method.java:580)
at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:36)
at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)
at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:33)
at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:94)
at jdk.proxy1/jdk.proxy1.$Proxy2.processTestClass(Unknown Source)
at org.gradle.api.internal.tasks.testing.worker.TestWorker$2.run(TestWorker.java:176)
at org.gradle.api.internal.tasks.testing.worker.TestWorker.executeAndMaintainThreadName(TestWorker.java:129)
at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:100)
at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:60)
at org.gradle.process.internal.worker.child.ActionExecutionWorker.execute(ActionExecutionWorker.java:56)
at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:119)
at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:66)
at worker.org.gradle.process.internal.worker.GradleWorkerMain.run(GradleWorkerMain.java:69)
at worker.org.gradle.process.internal.worker.GradleWorkerMain.main(GradleWorkerMain.java:74)
Idea version: 2024.1.6
Lincheck version: 2.33
Plugin version: 0.5
The code is stored here. The problem appears when
modelCheckingTest()
is run in Debug using Lincheck plugin.Idea version: 2024.1.6 Lincheck version: 2.33 Plugin version: 0.5