JetBrains / lincheck

Framework for testing concurrent data structures
Mozilla Public License 2.0
538 stars 31 forks source link

"Could not self-attach to current VM using external process" in CI #321

Open CLOVIS-AI opened 2 months ago

CLOVIS-AI commented 2 months ago

Hi!

Running a Lincheck test works normally locally. However, it fails in CI with:

java.lang.ExceptionInInitializerError
    at org.jetbrains.kotlinx.lincheck.LinChecker.checkImpl$lincheck(LinChecker.kt:206)
    at org.jetbrains.kotlinx.lincheck.LinChecker.check(LinChecker.kt:44)
    at org.jetbrains.kotlinx.lincheck.LinChecker$Companion.check(LinChecker.kt:174)
    at org.jetbrains.kotlinx.lincheck.LinCheckerKt.check(LinChecker.kt:189)
    at org.jetbrains.kotlinx.lincheck.LinCheckerKt.check(LinChecker.kt:198)
    at opensavvy.cache.blocking.MemoryCacheLinearizationTest.stressTest(MemoryCacheLinearizationTest.kt:76)
    at java.base/java.lang.reflect.Method.invoke(Method.java:568)
    at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)
    at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)
Caused by: java.lang.IllegalStateException: Could not self-attach to current VM using external process
    at net.bytebuddy.agent.ByteBuddyAgent.installExternal(ByteBuddyAgent.java:706)
    at net.bytebuddy.agent.ByteBuddyAgent.install(ByteBuddyAgent.java:636)
    at net.bytebuddy.agent.ByteBuddyAgent.install(ByteBuddyAgent.java:616)
    at net.bytebuddy.agent.ByteBuddyAgent.install(ByteBuddyAgent.java:568)
    at net.bytebuddy.agent.ByteBuddyAgent.install(ByteBuddyAgent.java:545)
    at org.jetbrains.kotlinx.lincheck.transformation.LincheckJavaAgent.<clinit>(LincheckJavaAgent.kt:69)
    ... 9 more

What could be the cause? Is there some required additional software or configuration that must be present in CI?

For reference: • The failed testsBuild scanThe Dockerfile it is running in