ScalarR not stopping

Fragment of a discussion from Talk:ScalarR
Jump to navigation Jump to search

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)
Beaming (talk)20:26, 31 December 2022

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...

Xor (talk)08:30, 1 January 2023