RoboRunner freeze
The highlighted comment was created in this revision.
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.
"My version" is also a little bit old, I will publish a recently updated one, hope that it can solve your problem.
I updated the RoboRunner page to add the link to the fork. You can try and see whether it solved your problem.