Thread history
Time | User | Activity | Comment |
---|---|---|---|
No results |
Thanks for reporting. I'm not able to reproduce this problem on both Java 11 and Java 17 (both on macOS, HotSpot). Can you try with HotSpot as well? I'll also have a check on the logic.
What is HotSpot?
Could it be Kotlin related? My roborumble (official one) clients report this error at the startup time
java.lang.IllegalAccessError: class kotlin.collections.CollectionsKt cannot access its superclass kotlin.collections.CollectionsKt___CollectionsKt (kotlin.collections.CollectionsKt is in unnamed module of loader net.sf.robocode.host.security.RobotClassLoader @586bc8ed; kotlin.collections.CollectionsKt___CollectionsKt is in unnamed module of loader java.net.URLClassLoader @3d494fbf)
I don't think it has something to do with Kotlin, but I generally delete Kotlin jars to suppress this error.
I had a check at the round finalization logic of robocode, it seems that after user specified run() exits, control flow will be handled to `HostingRobotProxy.run`, which calls `BasicRobotProxy.waitForBattleEndImpl`. The logic here had some potential bugs, e.g. when receiving `InterruptedException`, it merely wakes up the thread instead of letting the thread exit gracefully. Not sure what triggered a bug here on some platform though...