Possible bug report
The highlighted comment was created in this revision.
Heya Voidious,
I think I may have found a bug.
I finished a run of deBroglie rev0130 last night on the test bed you made for me. Score was in the lower 80s.
Just now, I manually made a .rrc testbed with some high performing bots. Started running it, and here's the output. Looks like RoboRunner is carrying over the score from the other challenge file?
~/roborunner $ ./rr.sh -bot tjk.deBroglie rev0130 -c debroglie_mega.rrc -seasons 20
Copying missing bots... 0 JAR copies done!
Initializing engine: ./robocodes/r1... done!
Initializing engine: ./robocodes/r3... done!
Initializing engine: ./robocodes/r2... done!
Challenger: tjk.deBroglie rev0130
Challenge: deBroglie Megabot test
Seasons: 20
Threads: 3
tjk.deBroglie rev0130 vs lxx.Tomcat 3.67c: 39.79, took 57.6s, avg: 39.79
Overall score: 81.16, 170.42 seasons
tjk.deBroglie rev0130 vs voidious.Diamond 1.8.1: 31.91, took 72.3s, avg: 31.91
Overall score: 80.83, 170.5 seasons
tjk.deBroglie rev0130 vs jk.mega.DrussGT 2.7.3: 37.2, took 82.0s, avg: 37.2
Overall score: 80.54, 170.58 seasons
Yep, it seems I'm printing the overall score for every bot you've faced, not just the ones in the current challenge file that's loaded. I'll see about fixing that later today. You can just delete (or rename for now) the file from the data directory if you want to start fresh. Thanks!
Or you could keep/copy just the lines for those bots in the data file, if you feel like mucking with it.
Ok, posted the fix in 1.0.1: [1] Only things to update are the RoboRunner JAR and rr.sh which points to it. It was just a problem with the output, so things should work fine with your old data file, if you still have it.
Hi mate. I got a little Exception :)
java.util.concurrent.ExecutionException: java.util.concurrent.ExecutionException: java.lang.ArithmeticException: / by zero at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:222) at java.util.concurrent.FutureTask.get(FutureTask.java:83) at robowiki.runner.BattleRunner.getAllFutures(BattleRunner.java:95) at robowiki.runner.BattleRunner.runBattles(BattleRunner.java:80) at robowiki.runner.RoboRunner.runBattles(RoboRunner.java:338) at robowiki.runner.RoboRunner.main(RoboRunner.java:89) ... Caused by: java.lang.ArithmeticException: / by zero at robowiki.runner.RoboRunner.printOverallScores(RoboRunner.java:485) at robowiki.runner.RoboRunner.access$4(RoboRunner.java:466) at robowiki.runner.RoboRunner$3.processResults(RoboRunner.java:734) at robowiki.runner.BattleRunner$BattleCallable$2.run(BattleRunner.java:197) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
One question. If i fork RoboRunner to my GitHub repositories and make changes, does it mean i have a new project or is it more like a separate branch and we could merge some changes i made?
Take care
edit: stupid me, i posted just the head
Seems like this would only happen when printing the overall score for 0 battles? Is it possible that was the situation? If so I'm not as worried about it being a bug, but we should check for it and print something nicer. If it shouldn't have had 0 total battles, then it's a deeper problem with the score tallying I guess.
This is my first experience with GitHub, so I don't know for sure, but I'm pretty sure the main idea behind forking is for you to make changes and then I can pull them back in. I think you issue a "pull request" once you've made your changes. I also think it can function fine as a new project if you don't ever intend to merge back.
Yep the problem is deeper. It looks like, if i had no battles before everything is fine (not 100% sure). Then, if i restart the test run this Exception comes up. I run it with 20 seasons (melee).
I made just a quick fix for me, so i can still use it. The only thing i lost was the 'Overall' score output - but i'm fine with the 'Average' output.
I have forked your repository and made a new brunch from the main branch, not sure if you can see it on your side to. The only thing i changed so far is the output of the melee score (just formatting). Yes, i guess i will use it mainly as new project and tweak it to my needs, but i thought for little bug fixes it would be easier to just merge the branches.