RoboRunner freeze

Jump to navigation Jump to search

RoboRunner freeze

Hi, could you help with your version of RoboRunner from github.

I use to use User:Voidious' version and was fine until several years ago. This year (2023) I tried to run it but it just freezes. Then I switched to your fork, it also freezes but at least produce some output to post.

./rr.sh -bot zyx.nano.RedBull 1.0 -c competitions/sample_1v1.rrc -seasons 1 -t 1


Copying missing bots... 0 JAR copies done!
Initializing engine: ./robocodes/r1... java.io.IOException: processOutput == null
        at robowiki.runner.BattleRunner.initEngine(BattleRunner.java:68)
        at robowiki.runner.BattleRunner.<init>(BattleRunner.java:42)
        at robowiki.runner.RoboRunner.<init>(RoboRunner.java:166)
        at robowiki.runner.RoboRunner.main(RoboRunner.java:81)

Challenger:     zyx.nano.RedBull 1.0
Challenge:      Sample 1v1 Test Bed
Seasons:        1
Threads:        1
Scoring:        Average Percent Score
Smart battles:  Off

java.util.concurrent.ExecutionException: java.lang.NullPointerException: Cannot invoke "java.lang.Process.getOutputStream()" because "battleProcess" is null
        at java.base/java.util.concurrent.FutureTask.report(FutureTask.java:122)
        at java.base/java.util.concurrent.FutureTask.get(FutureTask.java:191)
        at robowiki.runner.BattleRunner.getAllFutures(BattleRunner.java:97)
        at robowiki.runner.BattleRunner.runBattles(BattleRunner.java:82)
        at robowiki.runner.RoboRunner.runBattles(RoboRunner.java:322)
        at robowiki.runner.RoboRunner.main(RoboRunner.java:87)
Caused by: java.lang.NullPointerException: Cannot invoke "java.lang.Process.getOutputStream()" because "battleProcess" is null
        at robowiki.runner.BattleRunner$BattleCallable.call(BattleRunner.java:177)
        at robowiki.runner.BattleRunner$BattleCallable.call(BattleRunner.java:156)
        at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
        at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
        at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
        at java.base/java.lang.Thread.run(Thread.java:833)
java.util.concurrent.ExecutionException: java.lang.NullPointerException: Cannot invoke "java.lang.Process.getOutputStream()" because "battleProcess" is null
        at java.base/java.util.concurrent.FutureTask.report(FutureTask.java:122)
        at java.base/java.util.concurrent.FutureTask.get(FutureTask.java:191)
        at robowiki.runner.BattleRunner.getAllFutures(BattleRunner.java:97)
        at robowiki.runner.BattleRunner.runBattles(BattleRunner.java:82)
        at robowiki.runner.RoboRunner.runBattles(RoboRunner.java:322)
        at robowiki.runner.RoboRunner.main(RoboRunner.java:87)
Caused by: java.lang.NullPointerException: Cannot invoke "java.lang.Process.getOutputStream()" because "battleProcess" is null
        at robowiki.runner.BattleRunner$BattleCallable.call(BattleRunner.java:177)
        at robowiki.runner.BattleRunner$BattleCallable.call(BattleRunner.java:156)
        at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
        at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
        at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
        at java.base/java.lang.Thread.run(Thread.java:833)
java.util.concurrent.ExecutionException: java.lang.NullPointerException: Cannot invoke "java.lang.Process.getOutputStream()" because "battleProcess" is null
        at java.base/java.util.concurrent.FutureTask.report(FutureTask.java:122)
        at java.base/java.util.concurrent.FutureTask.get(FutureTask.java:191)
        at robowiki.runner.BattleRunner.getAllFutures(BattleRunner.java:97)
        at robowiki.runner.BattleRunner.runBattles(BattleRunner.java:82)
        at robowiki.runner.RoboRunner.runBattles(RoboRunner.java:322)
        at robowiki.runner.RoboRunner.main(RoboRunner.java:87)
Caused by: java.lang.NullPointerException: Cannot invoke "java.lang.Process.getOutputStream()" because "battleProcess" is null
        at robowiki.runner.BattleRunner$BattleCallable.call(BattleRunner.java:177)
        at robowiki.runner.BattleRunner$BattleCallable.call(BattleRunner.java:156)
        at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
        at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
        at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
        at java.base/java.lang.Thread.run(Thread.java:833)

Done! Took 0.1s

All scores:

Exception in thread "main" java.lang.ArithmeticException: / by zero
        at robowiki.runner.RoboRunner.printOverallScores(RoboRunner.java:471)
        at robowiki.runner.RoboRunner.runBattles(RoboRunner.java:333)
        at robowiki.runner.RoboRunner.main(RoboRunner.java:87)

I tried to run wit openjdk 11 and 17, the results are similar.

Side note I could gradle your version only with openjdk-11.

I suspect that it is all due to jdk change, since it also broke Voidious' version which use to work just fine. But I cannot spot what is wrong.

Beaming (talk)21:26, 21 January 2023

"My version" is also a little bit old, I will publish a recently updated one, hope that it can solve your problem.

Xor (talk)07:48, 22 January 2023

thanks, looking forward to a new version

Beaming (talk)07:58, 22 January 2023
 

I updated the RoboRunner page to add the link to the fork. You can try and see whether it solved your problem.

Xor (talk)09:57, 22 January 2023

Thanks. I already using and it it works.

Could you enable issues in your github repo, in case there are problems to report?

Beaming (talk)01:55, 23 January 2023

Done. It seems that issues aren’t enabled by default for forks ;).

Xor (talk)03:57, 23 January 2023