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.
"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.
You do not have permission to edit this page, for the following reasons:
You can view and copy the source of this page.