REALLY!? Wow... Does anybody else have these problems with my bot? --UnderDark
-- Update: I don't really have any clue either why UnderDark3 is failing. I ran it outside the rumble and it just never appears in the arena. The console has a cryptic message about not loading, but no error traceback. I did delete and re-download the bot a couple times and that did not help. JimS
What Java & Robocode version are you using? UnderDark3 was written on J2SE 1.5.0 with Robocode 1.0.7, but it should run on 1.4.* & 1.0.6 --UnderDark
I will double check tomorrow on the exact Java version, Robocode 1.0.7, Java 1.4.x, WinXp? Pro. (The rumble is running at nights on my machine at work. UnderDark works fine here at home.) JimS
Do you have the statement below in your roborumble.bat file? If not, it disables bots that read/write from file. -- GrubbmGait
java -Dsun.io.useCanonCaches=false -Xmx256M etc. etc.
Hmmm... did not seem to help. My Java version is 1.4.2_04. I checked the console output from the normal arena again and I do have an error message:
SYSTEM: Could not load matt.UnderDark3 2.3.21 : java.lang.UnsupportedClassVersionError?: matt/UnderDark3? (Unsupported major.minor version 49.0) java.lang.UnsupportedClassVersionError?: matt/UnderDark3? (Unsupported major.minor version 49.0)
at java.lang.ClassLoader?.defineClass0(Native Method) at java.lang.ClassLoader?.defineClass(ClassLoader?.java:537) at robocode.security.RobocodeClassLoader?.loadRobotClass?(RobocodeClassLoader?.java:196) at robocode.battle.Battle.initialize(Battle.java:501) at robocode.battle.Battle.run(Battle.java:149) at java.lang.Thread.run(Thread.java:534)=========================
Looks like my version of Java is incompatible in some way. JimS
The weird thing is that I wrote UnderDark3 under 1.4.2. Since upgrading my java version, I have changed very little of UnderDark3's main code. --UnderDark
I am running RR@Home with JRE 1.5 and Robocode 1.0.6 and have no problems with UnderDark3 or FloodHT. It really is a problem running 1.5 compiled bots in a 1.4.2 environment (ph.mini.Archer being the first I believe). Maybe there is a compatibility switch in Java 1.5 to let it act as 1.4.2, anyone knows? --GrubbmGait
I installed JDK 1.5.0_04 and now UnderDark runs and battles just like any other killing machine. JimS
Just to try to nail the problems, what compilers are used to compile the problembots. I know Kawigi uses javac of java 1.5. I use jikes 1.22 and nobody seem to have problems with my (newer) bots. @UnderDark: what do you use? --GrubbmGait
I use Jikes within NetBeans 3.6, but when looking, I found a Checkbox labled "Enable JDK 1.4 source" that was UNCHECKED, the tooltip states "Pass -source 1.4" flag to the compiler to recognize JDK 1.4". Should I check this box? --UnderDark
Just try it with your next version and say so when entering. I'll try it then on a 1.4.2 environment. For the rating of your bot it should not matter, it should only assure that every client is capable of running battles with UnderDark3 --GrubbmGait
UnderDark3 2.3.22 has been realesed, and it used the flag, please try it now --UnderDark
UnderDark3 2.3.22 does OK on a JRE 1.4.2 machine, so keep that flag checked. --GrubbmGait
E:\RoboRumble\robocode>cd robots E:\RoboRumble\robocode\robots>java -Xmx128M -cp .;../robocode.jar;../codesize.ja r; roborumble.RoboRumbleAtHome ./roborumble/teamrumble.txt Sizes File not found !!! Downloading participants list ... Downloading missing bots ... Not able to read properties Downloaded file is wrong or corrupted:pe.SandboxDTTeam_1.71.jar Could not download bot pe.SandboxDTTeam_1.71.jar Not able to read properties Downloaded file is wrong or corrupted:apvteam.MambaTeam_0.7.5.jar Could not download bot apvteam.MambaTeam_0.7.5.jar Not able to read properties Downloaded file is wrong or corrupted:kawigi.sbf.TidalWave_0.8.jar Could not download bot kawigi.sbf.TidalWave_0.8.jar Not able to read properties Downloaded file is wrong or corrupted:cx.mini.DemoniacNimrods_0.50.jar Could not download bot cx.mini.DemoniacNimrods_0.50.jar Not able to read properties Downloaded file is wrong or corrupted:rz.team.GlowingHawks_0.1.jar Could not download bot rz.team.GlowingHawks_0.1.jar Not able to read properties Downloaded file is wrong or corrupted:myl.micro.TroodonPack_1.10.jar Could not download bot myl.micro.TroodonPack_1.10.jar Not able to read properties Downloaded file is wrong or corrupted:ethdsy.MalackaTeam_1.2.jar Could not download bot ethdsy.MalackaTeam_1.2.jar Not able to read properties Downloaded file is wrong or corrupted:sgp.DrunkenTeam_1.12.jar Could not download bot sgp.DrunkenTeam_1.12.jar Iteration number 0 Preparing battles list ... Executing battles ... Uloading results ... Sizes File not found !!! E:\RoboRumble\robocode\robots>goto run
-- Paul Evans
In your teamrumble.txt file does TEAMS=YES? -- Kuuran - Yes -- Psul
Strange, it seems that at some point (download step) it is unable to read properties file (teamrumble.txt) so it fails to recognize the downloaded files as teams. Is the properties file locked by some application (ie. editor) ? -- Albert No -- Paul
teamrumble.txt ...
#RoboRumble@home properties - Team battles #properties for executing the modules. Use YES or NOT DOWNLOAD=YES EXECUTE=YES UPLOAD=YES ITERATE=NOT #It tells the program if this competitions is for teams. #It is necessary since teams are treated by Robocode sligthly different. TEAMS=YES #properties for the battle engine USER=Paul Evans INPUT=./roborumble/files/battlesTeams.txt ROUNDS=10 FIELDL=1200 FIELDH=1200 OUTPUT=./roborumble/files/resultsTeams.txt #properties to retrieve bots from internet BOTSREP=./ TEMP=./roborumble/temp/ #properties to retrieve participants list from internet PARTICIPANTSURL=http://robowiki.dyndns.org/?RoboRumble/ParticipantTeams PARTICIPANTSFILE=./roborumble/files/participTeams.txt STARTAG=pre #properties to prepare the battles list. #Keep this parameter low. Teams tend to consume lots of resources and crash often. NUMBATTLES=5 #properties to upload the results RESULTSURL=http://rumble.robowiki.dyndns.org/servlet/UploadedResults #RESULTSURL=http://localhost:8080/examples/servlet/UploadedResults
Strange. It happens sometimes when it gets out of memory. Are you running many applications on the PC? Try changing the parameter -Xmx256M to -Xm128M and see what happens. If it is a memory problem, then it should throw a Java Out of Memory exception and stop. -- Albert
No, not running many (or bloaty) apps. And the machine has 1GB of memory. Though I will test what you suggest any way. -- PEZ
I have the same problem in RoboLeague. ... Wonder what it could be! -- PEZ
I think my home machine suffers from this problem just running the normal arena. At random times, usually when running minimized it just locks up. I have a 3.6Ghz P4, WinXp? Pro, 2Gb of memory, Java 1.5, Robocode 1.0.7. Does not seem to be related to the Java version since it also froze when I had Java 1.4.2_08. I switched to Java 1.5 hoping it would fix the problem. It does not seem to happen to my work machine although it has problems running some robots (like UnderDark ). Meanwhile when I try RoboRumble on the home machine it never gets past battle 0 - no messages - just no completed battles. JimS
There is a problem with multiprocessor (and Hyperthreading) machines. Kawigi has developed a version which seem to work OK on these machines. Check the OpenSourceRobocode/Contributions page. -- GrubbmGait
The Kawigi version worked! Thanks for the tip. My home battles in the arena and in the rumble are now working just fine. JimS
Fighting battle 8 ... arthord.NanoSatan Kappa,wilson.Chameleon 0.91 Exception in thread "Application Thread" java.lang.ArrayIndexOutOfBoundsException: 1 >= 1 at java.util.Vector.elementAt(Vector.java:427) at robocode.peer.ContestantPeerVector.elementAt(ContestantPeerVector.java:52) at robocode.battle.BattleResultsTableModel.getValueAt(BattleResultsTableModel.java:75) at roborumble.battlesengine.BattlesRunner.runBattles(BattlesRunner.java:92) at roborumble.RoboRumbleAtHome.main(RoboRumbleAtHome.java:56) C:\robocode\robots>goto runI rarely see this with other bots, but I always see it every time Chameleon comes up. I am thinking about removing it from my participants lists as there is no sense in me even running those matches. Just me or is this a problem for everyone? -- jim
I have no problems with Chameleon on any machine. That's one strange problem. Have you looked at the roborumble BattlesRunner class source any? Maybe you can print some diagnostics or something there that could help in nailing the bug. -- PEZ
It happened to me with another bot (Ender?). It usually happens because the bot (Chamaleon) is not correctly installed. Delete its jar file from the /robots directory, and delete it from /robocache. Then just let RR@H download it again and reinstall. -- Albert
Thanks Albert. I suspect that you had the correct answer. There was nto even an entry in the .robotcache direrctory. -- jim
C:\robocode\robots>java -Xmx256M -cp .;../robocode.jar; roborumble.RoboRumbleAtH? ome ./roborumble/roborumble.txt Downloading participants list ... Downloading missing bots ... Exception in thread "main" java.lang.StringIndexOutOfBoundsException?: String ind ex out of range: -1
at java.lang.String.substring(Unknown Source) at roborumble.netengine.BotsDownload?.checkJarFile?(BotsDownload?.java:152)
at roborumble.netengine.BotsDownload?.downloadBot(BotsDownload?.java:141) at roborumble.netengine.BotsDownload?.downloadMissingBots?(BotsDownload?.java:109)
at roborumble.RoboRumbleAtHome?.main(RoboRumbleAtHome?.java:40)can anyone help me (i already tried re-installing, same problem.)? Thnx, Axe
Does it work if you set DOWNLOAD=NO in the roborumble.txt file? -- PEZ
About the above StringIndexOutOfBoundsException? that happened with me, it's solved. Just deleted the ..\robocode\robots\roborumble\files\particip1v1.txt file. probably corrupted. Thnx pez. -- Axe
Well, the problem just happened again. This time i have oppened the roborumble sources:
private boolean checkJarFile(String file, String botname) { String bot = botname.substring(0,botname.indexOf(" ")); <== PROBLEM LINE!!! bot = bot.replace('.','/'); bot = bot + ".properties"; try { JarFile jarf = new JarFile(file); ZipEntry zipe = jarf.getJarEntry(bot); if (zipe == null) { System.out.println("Not able to read properties"); return false; } InputStream properties = jarf.getInputStream(zipe); Properties parameters = null; parameters = new Properties(); parameters.load(properties); String classname = parameters.getProperty("robot.classname",""); String version = parameters.getProperty("robot.version",""); if (botname.equals(classname+" "+version)) return true; else return false; } catch (Exception e) { System.out.println(e); return false; } }The problem is that if any bot in the participants list doesn't have the space between the name and version, an exception blow up the code. My suggestion is to move that try up, so it can catch that problem, witch is a honest mistake that can happen with anyone editing the participants list. The bot line that is causing the problem is the last one:
pez.micro.VertiMicro,1770(sorry, pez).It need to be repaired. I didn't corrected the participants list, since i dont have that right. By the way, i have tryied to compile the code, in order to test my solution, but i am missing the javax.servlet import in my machine. Is it needed the J2EE? -- []'s Axe
I just had downloaded the beta 6.1 version, and it works fine. The problem above seems to be solved with that version, but the version alpha 5 will not run. -- Axe
Downloading particiants list ... Downlopading missing bots ... Iteration number 0 Preparing battes list ... Executing battles... Preventing unknown thread Application Thread form access: (java.io.FilePermission) Preventing unknown thread Application Thread form access: (java.io.FilePermission) Preventing unknown thread Application Thread form access: (java.io.FilePermission) Preventing unknown thread Application Thread form access: (java.io.FilePermission) Preventing unknown thread Application Thread form access: (java.io.FilePermission) Preventing unknown thread Application Thread form access: (java.io.FilePermission) Fighting battle 0 ... myl.nano.Kakuru 1.20,ara.Shera 0.88 Preventing unknown thread Application Thread form access: (java.io.FilePermission) Preventing unknown thread Application Thread form access: (java.io.FilePermission) Preventing unknown thread Application Thread form access: (java.io.FilePermission) Preventing unknown thread Application Thread form access: (java.io.FilePermission) Preventing unknown thread Application Thread form access: (java.io.FilePermission) Preventing unknown thread Application Thread form access: (java.io.FilePermission) Preventing unknown thread Application Thread form access: (java.io.FilePermission) Preventing unknown thread Application Thread form access: (java.io.FilePermission) Preventing unknown thread Application Thread form access: (java.io.FilePermission) Exception in thread "Application Thread" java.util.MissingResourceException : at java.util.ResourceBundle.throwMissingResourceExcpeitn(ResourceBundle.java:756) at java.util.ResourceBundle.getBundleImpl(ResourceBundle.java:674) ..... and so oni am using jdk 1.3.1 . what am i doing wrong ? -- deathcon
Did you installed codesize.jar into the robocode directory? If not, you should do it, or set the properties file to not run battles for minis,micros,nanos. --Albert
Installed? i just copied codesize.jar into my robocode directory. --deathcon
Intalled = copied. So it should be OK.
If you are running java 1.3.x you wil have to create a file into robocode directory called robocode.policy with the following content (you need to do it in order to tell Robocode you are controlling it from outside. If you upgrade to java 1.4.1 you will not have to do it):
grant { permission java.security.AllPermission; };
-- Albert
I'm pretty sure that I can re-write my bot to deal with this problem, but it means that while running JRE 1.4.2, all non-data bot or bots that deals with that saving data misbehaviour will have a hudge (and not fair) advantage. I just don't think it's fair. When I find a solution (probably an ugly while(failed){load(data);} thing) I'll let all know. -- Axe
I don't have a solution, I reported this problem also on the robocode alphaworks forum, the forum on robocoderepository, and also I saw this on the CompressedSerialization page.
The problem with the while(failed){load(data)} is that when it fails, your robot also get disabled, so loading data will be of no use :-)
Unfortunately I cannot just "retreat" to 1.4.1 beacuse I'm developing something that needs the new features of 1.4.2.
Maybe someone can try and debug the thing and post a fix :-) -- Simonech
Indeed. Even if the AccessControlException? is caught the bot is disabled. I'm hopeless about it... -- Axe
Can't you install a Java 1.4.1 JRE and use that to run Robocode? I have three or four JRE's on my machine. -- PEZ
Really?!? I've never tryied this one, how do I do it, once I installed the 1.4.1? -- Simonech
Hmmm... Well, you install it to a different directory, and when you run it you specify that directory to run from (i.e. in Windows you might run C:\j2se1.4.1_02\bin\java -jar robocode.jar). I once installed two versions of the whole JDK so I could compile my Java applets under older platforms, and then realized I didn't have to (I could simply set the target flag in the compiler). -- Kawigi
ThanX?, done, the only drawback is that now the control panal display the options of the Java 1.4.1 and not the newer options (for example the automatic update thing) -- Simonech
Just reinstall the new SDK and that should be fixed. And in the future; never overwrite an existing JRE that works for a particular task. =) -- PEZ
One more thing. Simone, the "Send email notification that RoboRumble/ReportedProblems has been changed." thingy probably doesn't do what you think it does. -- PEZ
I did not installed over the 1.4.2, but just installed the JRE 1.4.1, now I've both, and if I call the java command with the full path robocode works ok with the 1.4.1, but if typing just java I run things on the 1.4.2 sdk, so everything is ok -- Simonech
I am concerned not about my JRE, but with the other users JREs. Since the client runs in many machines, the ones with 1.4.2 will afect the saving data bots. If we could contour this problem within the bot code (getting hopeless 'bout it), the bug(?) will not afect the competition. This weekend i'll try to isolate and reproduce the problem in order to report it as a bug to Sun. -- Axe
Robocode will go open source quite soon I think, and then we can probably fix this problem there. At the moment I think there's only 10 or so people running the RR@H client and we could maybe stress the importance of not running it under 1.4.2 yet. -- PEZ
Iteration number 0 Downloading participants list ... Downloading missing bots ... Downloading rating files ... Preparing battles list ... Using smart battles is true Executing battles ... Fighting battle 0 ... cx.Lacrimas 1.12,lv.Ender 0.6.5 Exception in thread "Application Thread" java.lang.ArrayIndexOutOfBoundsExceptio n: 1 >= 1 at java.util.Vector.elementAt(Unknown Source) at robocode.peer.ContestantPeerVector.elementAt(ContestantPeerVector.jav a:52) at robocode.battle.BattleResultsTableModel.getValueAt(BattleResultsTable Model.java:75) at roborumble.battlesengine.BattlesRunner.runBattles(BattlesRunner.java: 95) at roborumble.RoboRumbleAtHome.main(RoboRumbleAtHome.java:74) C:\rrhome\robocode\robots>goto run C:\rrhome\robocode\robots>java -Xmx256M -cp .;../robocode.jar;../codesize.jar; r oborumble.RoboRumbleAtHome ./roborumble/roborumble.txt Iteration number 0 Downloading participants list ...I've gotten this bug a couple times now; it crashes every 2 or 3 pairings, so it never manages to get through an iteration. What's the deal? -- Vuen
It could be that your Lacrimas jar file is corrupted. Try deleting it. -- PEZ
The ranking tables look like they have lost alot of data - I think there is a problem :) -- Paul Evans
What worries me is that it happens for all competitions, so it is not a problem related to a concurrent update. The only explanation I can find is that some one hacked the participants file on the client, in order to run specific pairings, and then the client sent the order to the server to remove the "old" participants. The ranking should recover prety fast (only one battle per bot is needed to rebuild it). We will have to think about how avoiding it in the future. -- Albert
How about having the client only upload the info on who to remove when it has downloaded the list this iteration? -- Tango
Maybe I can set up a second server where people can test stuff like focused pairings and such... Would it help you think? -- PEZ
People run pairings like that so they can change the rankings, there would be no point doing it on a different server. I don't think it really matters, now the server makes sure all bots have all pairings, and averages all battles of the same pairing. One pairing having lots of battles doesn't change the rankings much, it just makes it a tiny bit more accruate. The only problem is all the other robots disappearing, but i think my idea would fix that. -- Tango
How can you know why someone does this? But, it's a possibility, I agree. Your suggestion works as long as people don't change the client code. I have a version of the client that's able to run "focused" opponents, like RoboLeage?, that I used against my own test server back when the client didn't try to give new bots lots of exercise. Anyone can patch clients like that. I think that maybe we should make the server responsible for keeping the ranking table clean. Not that I know how that should be realized though... -- PEZ
I can't be sure why someone does something, but i have to assume they have at least some sense of logic and capability of rational action, and from that can work out likely reasons for actions. The server doing the checking is the obvious method, but as you say, it isn't so obvious how to do it. From what i know, the server isn't really set up with that in mind. You should be able to get the server to check the participents list like the client does, every 12 hours or something, and remove bots using that. -- Tango
Eek! Should the client have the power to remove old bots then? Couldn't the rankings page just load the participants page and clean the rankings table itself say once a day when someone submits results? Otherwise, you may want to encrypt the files the client writes; although the program is open source, it would make it somewhat harder for someone to edit the files directly, and it's relatively easy to use an encryption stream to read and write the files. -- Vuen
If a servlet is able to read a wiki page file, then it could be done. Otherwise I can't see the way to do it (unless we move the participants maintenance to the servlets server). -- Albert
I think Java has many classes to parse html files under swing etc. But, somebody needs to study it. -- SSO
It's not the parsing. Albert is doing that already from the client. But it should be no problem from the servlet either. I can look in to it. -- PEZ
Today I run RR@H for two hours! When I come back to my PC I find this error :
Fighting battle 1 ... lv.Ender 0.6.5,md.Pasta 1.1
HotSpot? Virtual Machine Error, Internal Error Please report this error at http://java.sun.com/cgi-bin/bugreport.cgi
Java VM: Java HotSpot?(TM) Client VM (1.4.0_01-b03 mixed mode)
Error ID: 43113F2652414D452D41503F491418160E435050005B
Problematic Thread: prio=5 tid=0x00953398 nid=0xb70 runnable
However the battles are continued ! --Caimano
Are you sure they continued? The batch file loops, so if java crashes it just starts again. It's the iteration numbers that will be the clue, did they start again, or carry on? - RESULT = davidalves.net.JALT 2.1 wins 5390 to 817 Fighting battle 6 ... bvh.hdr.Hodur 0.3,davidalves.net.JALT 2.1 RESULT = davidalves.net.JALT 2.1 wins 5618 to 651 Fighting battle 7 ... bvh.hdr.Hodur 0.3,davidalves.net.JALT 2.1 RESULT = davidalves.net.JALT 2.1 wins 5446 to 887 Fighting battle 8 ... bvh.hdr.Hodur 0.3,davidalves.net.JALT 2.1 RESULT = davidalves.net.JALT 2.1 wins 5176 to 1546 ul]]
It could have been me running an old client. -- PEZ
is it possible for your old client get the @home server to send me requests to run battles for a bot that has been removed for the participents list? -- Paul
I don't think so. Something else must have happened. -- PEZ
Exception in thread "Application Thread" java.lang.ArrayIndexOutOfBoundsException: 2 at roborumble.netengine.ResultsUpload.uploadResults<ResultsUpload.java:124> at roborumble.RoboRumbleAtHome.main<RoboRumbleAtHome.java:92>
Any ideas?? --Brainfade
Please, try deleting all files in /files and /temp and see what happens. It looks like there is something wrong in the results file but it never gets deleted. -- Albert
Well, now you've really upset it. All the initiation seems to be ok, but then:
Exception in thread "Application Thread" java.lang.ArrayIndexOutOfBoundsException: 1 >= 1 at java.util.Vector.elementAt(Unknown Source) at robocode.peer.ContestantPeerVector.elementAt(ContestantPeerVector.java:52) at robocode.battle.BattleResultsTableModel.getValueAt(BattleResultsTableModel.java:75) at roborumble.battlesengine.BattlesRunner.runBattles(BattlesRunner.java:95) at roborumble.RoboRumbleAtHome.main(RoboRumbleAtHome.java:82)
I tried deleting all relevant files and reextracting it but i had the same problem. Even when i downloaded the client again... --Brainfade
It seems like Robocode is failing to return the results correctly. May be you could start Robocode and run the battle that is causing problems, to see if it's crashing or doing something strange. -- Albert
Is it just me or is Kenneth really slow in RR@H? Since it was downloaded and my computer started running battle, my RR@H output has dropped to a crawl. It is so slow that I think that it is no longer working although Task Manager shows that java is taking some cycles. It seems to be running OK on my Linux box but my XP box is dragging so slowly I can not tell if I am even running rounds. I have tried both Version 7 and version 9 of the client and have the same behavior. It makes no matter who Kenneth's opponent is. jim
So is Kenneth running ok now then for everyone?? I think the problem could be that a particular circumstance causes it to stay in a while loop for longer than it should. My movement code is crufty as hell at the moment, and i'll clean that up and continue tweaking when i get home (I'm at work atm). However, for now i'll just remove him...--Brainfade
-- Brainfade
Fighting battle 6 ... arthord.micro.Muffin 0.4.1,jekl.mini.BlackPearl .75 **************** Another exception has been detected while we were handling last error. Dumping information about last error: ERROR REPORT FILE = (N/A) PC = 0x6D3CF788 SIGNAL = -1073741819 FUNCTION NAME = (N/A) OFFSET = 0xFFFFFFFF LIBRARY NAME = (N/A) Please check ERROR REPORT FILE for further information, if there is any. Good bye.????
-- Kuuran
java.lang.NullPointerException at Rankings.doPost(Rankings.java:54) at Rankings.doGet(Rankings.java:20) at javax.servlet.http.HttpServlet.service(HttpServlet.java:740) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
with about a page full of other "at"'s.
-- Tango
Yeah, it seems the RR server is under heavy load now. I have had to restart it several times. The RR@H client also has some troubles uploading results. -- PEZ
Fighting battle 0 ... md.November 1.0,davidalves.net.JALT 2.1 RESULT = davidalves.net.JALT 2.1 wins 4482 to 1108 Fighting battle 1 ... bvh.hdr.Hodur 0.3,davidalves.net.JALT 2.1 RESULT = davidalves.net.JALT 2.1 wins 5563 to 629 Fighting battle 2 ... bvh.hdr.Hodur 0.3,davidalves.net.JALT 2.1 RESULT = davidalves.net.JALT 2.1 wins 5738 to 787 Fighting battle 3 ... bvh.hdr.Hodur 0.3,davidalves.net.JALT 2.1 RESULT = davidalves.net.JALT 2.1 wins 5344 to 857 Fighting battle 4 ... bvh.hdr.Hodur 0.3,davidalves.net.JALT 2.1 RESULT = davidalves.net.JALT 2.1 wins 5486 to 866 Fighting battle 5 ... bvh.hdr.Hodur 0.3,davidalves.net.JALT 2.1 RESULT = davidalves.net.JALT 2.1 wins 5390 to 817 Fighting battle 6 ... bvh.hdr.Hodur 0.3,davidalves.net.JALT 2.1 RESULT = davidalves.net.JALT 2.1 wins 5618 to 651 Fighting battle 7 ... bvh.hdr.Hodur 0.3,davidalves.net.JALT 2.1 RESULT = davidalves.net.JALT 2.1 wins 5446 to 887 Fighting battle 8 ... bvh.hdr.Hodur 0.3,davidalves.net.JALT 2.1 RESULT = davidalves.net.JALT 2.1 wins 5176 to 1546 Fighting battle 9 ... bvh.hdr.Hodur 0.3,davidalves.net.JALT 2.1 RESULT = davidalves.net.JALT 2.1 wins 5328 to 1168 Fighting battle 10 ... bvh.hdr.Hodur 0.3,davidalves.net.JALT 2.1 RESULT = davidalves.net.JALT 2.1 wins 5365 to 767 Fighting battle 11 ... bvh.hdr.Hodur 0.3,davidalves.net.JALT 2.1 RESULT = davidalves.net.JALT 2.1 wins 5342 to 1008 Fighting battle 12 ... bvh.hdr.Hodur 0.3,davidalves.net.JALT 2.1 RESULT = davidalves.net.JALT 2.1 wins 5549 to 980 Fighting battle 13 ... bvh.hdr.Hodur 0.3,davidalves.net.JALT 2.1 RESULT = davidalves.net.JALT 2.1 wins 5735 to 707 Fighting battle 14 ... bvh.hdr.Hodur 0.3,davidalves.net.JALT 2.1 RESULT = davidalves.net.JALT 2.1 wins 5501 to 771 Fighting battle 15 ... bvh.hdr.Hodh</a.3,davidalves.net.JALT 2.1 RESULT = davidalves.net.JALT 2.1 wins 5677 to 842 Fighting battle 16 ... bvh.hdr.Hodur 0.3,davidalves.net.JALT 2.1 RESULT = davidalves.net.JALT 2.1 wins 5058 to 893 Fighting battle 17 ... davidalves.net.JALT 2.1,kawigi.sbf.FloodMini 1.4 RESULT = davidalves.net.JALT 2.1 wins 2683 to 2680%]]. but was wrong??? --[[deathcon]] It downloads and runs fine on my system. Sometimes the client gets a corrupt (or corrupts maybe) a downloaded bot jar. It's usually fixed by removi davidalves.net.JALT 2.1 wins 4088 to 872
Similar things have been reported before, IIRC. I don't think you really need to delete the results file; I think the results are valid. It does seem to be a bug, though, you're right. -- Tango
Could be a bug or a feature; it always looked to me like matches which create a high PBI get re-checked earlier. But sometimes the client goes a bit overboard. :-) The most bizzare thing I've seen was 49 battles fought between Aleph 0.2 and 0.3... while it had not fought more than two against any oter bot. -- Jamougha
I don't think it's a PBI thing, my PBI for Hodur is only -2.1. :-p --David Alves
Hmmm, you're right, there would be a few more worthy cases there. :p In that case I don't know - something must cause it. Anyone actually know how the client selects battles? -- Jamougha
It is clearly a bug. The client is not that intelligent to select battles based on PBI. I'w have to take a look when I get some time. Anyway, it is not a serious bug. -- Albert
Bug or no bug: poor blind Hodur beeing bullied like this! --Loki
That's exactly what happened. The old bot will disappear from the ranking page soon. --David Alves
Then i will have a bit more patience. --Loki
I have started robocoding again after a long break. It's great to see that RoboRumble@Home is working! At the moment though I cannot run the client, because it completely freezes my girlfriend's computer on which I'm forced to work at the moment. Hopefully you guys don't mind me participating in the rumble without investing processor time. But no worries, my own computer should be fixed within one, or at most two, weeks. --Vic
Welcome back, Vic. -- Axe
If your girlfriend's computer is a P4 system with WindowsXP you might experience problems with Java and hyper threading. Check the WindowsXP page for possible solutions. -- PEZ
Thanx Axe. PEZ, I checked but could not solve the problem. I think this problem is specifically for this computer. It often crashes unexpectedly, especially when it has a lot of processing to do, for instance in games. --Vic
Ah, well. I don't mind you being a free rider with a good excuse like that! =) -- PEZ
My client is aborting execution with the following msg:
Fighting battle 21 ... axeBots.SilverSurfer 1.20,bvh.mini.Freya 0.20 Exception in thread "Application Thread" java.lang.ArrayIndexOutOfBoundsExceptio n: 1 >= 1 at java.util.Vector.elementAt(Unknown Source) at robocode.peer.ContestantPeerVector.elementAt(ContestantPeerVector.jav a:52) at robocode.battle.BattleResultsTableModel.getValueAt(BattleResultsTable Model.java:75) at roborumble.battlesengine.BattlesRunner.runBattles(BattlesRunner.java: 95) at roborumble.RoboRumbleAtHome.main(RoboRumbleAtHome.java:74)Allways with Freya 0.20... -- Axe
It happens sometime that a bot is incorrectly downloaded but RR@H thinks it has been correctly downloaded, and then when a battle is run robocode crashes. Delete Freya (both from robots and robocache directories) and let RR@H download it again. -- Albert
Solved. Thnx. The problem was a little more serious: my HD got corrupted (and Freya´s files gone with it)... -- Axe
Suddenly my client refuses to run priority battles. SilverSurfer has only 152 battles fought and yet the client runs completely random pairings... Any idea what's going on anyone? The client doesn't complain downloading particpants lists and stuff... -- PEZ
Strange... now it seems to prioritize SilverSurfer again... -- PEZ
Some time it makes crazy things (like not running priority battles or run always the same battle). There is probably some logical bug on the client, but since it is not critical and got no time I have never fixed it. The besst solution is just stop the client and start it again. -- Albert
I have updated Locke to version 0.2 and immediately it gets ranked with 700+ matches run! That can't be right now can it ;-) I tried removing 0.2, and that indeed removes it from the rankings. Hours later (when all other clients should be aware of the removal) I added it back again. Same thing happens! Does anyone have any idea what's the problem here? --Vic
That sounds truly strange! You haven't had a version 0.2 earlier, have you? -- PEZ
When a bot is removed the details file is not deleted. So when you add it back the matches that could have run "reapear". -- Albert
Ok, so if anything goes wrong, removing and reentering the bot doesn't help. I'll rename the bot then. Let me see if that helps. Btw, maybe I made a mistake myself when I first entered version 0.2. I forgot the alphabetic order and may have put it in front of the 0.1.9.3 version. That may have caused the initial fault. --Vic
You can put bots in any order (they were disordered at the beginning). The alphabetical order is just for comodity. There is a bug in the client that some times makes it to repeat a single battle in a kind of almost infinite loop. May be this is what happened. -- Albert
<Downloading ...cf.HuntedHunter_1.10 Are you sure cf.HuntedHunter_1.10 is a bot/team? Can't download it. Downloaded file is wrong or corrupted:cf.HuntedHunter_1.10.jar Could not download bot cf.HuntedHunter_1.10.jarAny idea by what this is caused. (The packeged bot runs on my computer ) --deathcon
Thanx brainfade. but was wrong??? --deathcon
It downloads and runs fine on my system. Sometimes the client gets a corrupt (or corrupts maybe) a downloaded bot jar. It's usually fixed by removing the offending jar and trying again. -- PEZ
You put an underscore between the name and the version number, it didn't like it.... -- Brainfade
stupid me %D --deathcon
PulsarMax 0.2.12 vs kawigi.micro.Shiz_1.0, from my details sheet.
kawigi.micro.Shiz_1.0 28.0 2 21-5-2004:1:25 77.1 -49.0Similar thing happened a couple of versions ago with another robot. I've tried to reproduce this, but can't, and it is with 2 matches! I always get something like:
1st: pulsar.PulsarMax 0.2.12 4272 2nd: kawigi.micro.Shiz 1.0 227Can somone else reproduce this behaviour? Else I'm inclined to believe there is a strange bug somewhere other than my bot.
Can clients report bad data? For example if run with java 1.5 beta 1 (doesn't work very well, memory leak with the roborumble client it seems and I was running that one on one of my machines when it happened last time). Or if the upload of results are not working, I've seen some wiki/tomcat errors on the site today for example. Just throwing out ideas. I've no idea how much such a single result would change the score, guess not that much? But there could be more results like that for others as well? Hmm I've seen some of my roborumble clients stop working now and then (process takes 0% cpu) and has to be "ctrl-c:ed" could something like that cause this and is someone else noticing that behaviour rarely too? -- Pulsar
It's unlikely that the client is doing this. Much more likely is that you have a bug. Might be an index out of bounds bug in your distance segment. Shiz is a melee bot and might more often than other be far away from you. Run 1000 35 round battles against Shiz with RoboLeague and you might force the bug to appear. -- PEZ
kawigi.sbf.FloodHT_0.8 0.0 1 22-5-2004:13:12 61.1 -61.1I'll run that Roboleague match now I guess. But what kind of bug can cause me to not score a single point for 35 rounds? I'm not doing any I/O. Is there someone running the client on java 1.3 perhaps? I'm most likely using stuff from java 1.4. -- Pulsar
An index out of range bug can cause that. Though you might be right about the client being run in 1.3 would also cause something like that. But then you should see many results like that, shouldn't you? -- PEZ
True, I'll find it sooner or later, just annoying for now :) -- Pulsar
I order to avoid the problems with "crashed" bots, the server doesn't upload any results that show a 0 score for some of the bots. So probably it it an index that gets out of range. -- Albert
Ok but doesn't the above indicate that I got 0 in that game (it was from the details sheet)? Well I guess it could be rounded to zero. I'm still looking for the problem to occur when running roboleague matches, that's why I'm even bothering to discuss it. On the other hand, I'm not getting that many roboleague executed, they also get stuck doing nothing (CPU 0%) after a random time. Setting it to run 1000 35 rounds matches against FloodHT for example. Different computers (all with various 1.4.2_x JVMs) give me the same thing with the roborumble-client at times, not limited to matches with my robot either. -- Pulsar
Those computers don't happen to be Intel P4s with hyper threading, do they? -- PEZ
One of them is, but I set the affinity to one of the virtual CPUs usually. Hmm but I didn't do it with roboleague at least. I'll check that more. Thanks! Hmm but I am (or was at least) fairly convinced that it happened on at least one machine without HT (a laptop). -- Pulsar
Ohh found the windows xp page now... Sorry, should have searched more. I'll play with that. -- Pulsar
So that means results such as these doesn't count? Bah :-)
pulsar.PulsarMax 0.2.17,tobe.mini.Charon 0.9 RESULT = pulsar.PulsarMax 0.2.17 wins 4164 to 0-- Pulsar
Why is the RoboRumble progressing so slowly today? I added my new version of Locke and started my RR client 15 hours ago, and still I'm not at 500 battles. I'm not complaining here, just curious about how stuff works. Could it have to do with Prioritized Battles? Or maybe not everyone is running a client? --Vic
I think it's because of the large number of updated bots. We had 5 or more updates yesterday, that's over 2500 "priority" battles. Also, my client crashed (I leave it running every night), so there was at least one less client running... -- ABC
One less client should definitely make a difference. But could it also be the way that RoboRumble prioritizes the matches? I seem to observe that of all new bots with less than 500 battles the one with the least number of battles gets priority? In that case I can see how Locke is progressing so slowly: I updated late last night. This morning a few others also updated their bots. So Locke gets stuck at around 300 while the later updated bots catch up. Does it work something like that?
While writing the above paragraph I see Pugilist, updated this morning I think, storming past Locke in terms of battles fought. So it does not seem to work like I describe above. I can't figure out why that happens..... Again, I'm not complaining here, I'm just trying to find out how it works. --Vic
Pugilist might have "stormed" past Locke because I sometimes run my client without downloading bots. Then my client doesn't "see" Locke. Or it could be something completely else. I observed my client today running and I think 95% of the battles where with PulsarMax involved. Strange indeed.gh- or you to get an answer on how strong it is. I have been figuring that maybe we should add a little feature to the client where you can register a "main" package it should look for and prioritize. Like I would set it to "pez" and my client should try make half of the priority battles it runs involve a bot from that package. That would also encourage active roborumblers to run clients. -- PEZ
I think that option would be a good idea. Not exclusively running your bots, but prioritized nonetheless. That way people with crashed clients or with frequently crashing computers (like I ha server will start running the missing pairings of that bot. Maybe those battles have higher priority than the first 500. -- ABC
Ah, that explains the P matches that are still running. --Vic
The P matches are explained by the fact that it didn't reach 500 battles in the mini rumble yet. :) -- ABC
Ah, yes of course. Damn mini's.... ;-)...jk.... --Vic
Don't hate minis. =) Seriously, I think the client won't start running mini priority battles until there are no mega priority battles to run. Check the roborumble.txt file for how to switch of downloads. I fully understand your frustration with your bot not getting its 600+ battles fast enough for you to get an answer on how strong it is. I have been figuring that maybe we should add a little feature to the client where you can register a "main" package it should look for and prioritize. Like I would set it to "pez" and my client should try make half of the priority battles it runs involve a bot from that package. That would also encourage active roborumblers to run clients. -- PEZ
I think that option would be a good idea. Not exclusively running your bots, but prioritized nonetheless. That way people with crashed clients or with frequently crashing computers (like I had a few months ago) will not be left standing in the cold. And as a MegaBotOnlyAuthor? I will probably never like MiniBots that thrash my MegaBots. Well...there maybe a little bit of envy involved here. These MiniBots prove that it is not the size that matters, it's what you do with it ;-) --Vic
Indeed. Though what I think they prove is that mega Robocoding has not yet evolved enough to really leave the minis behind. Who would have thought during the reign of DT 1.61 that it would once be easily beaten by a micro in head to head battle? -- PEZ
And I'll look how easy it would be for me to update the client with this feature. Stay tuned! -- PEZ
OK. Now you might see CassiusClay battle count zoom past your recently released Locke. That's because I'm trying if I have found the right spot in the client code to prioritice a given bot "main" package. Trying with my own. Selfish! -- PEZ
I'll check it in the morning. If I find that you are right I will start shouting at you, ok? ;-) --Vic
Well, it appears that there will be no shouting today. :-p Locke0.5.1 already has 700 battles under its belt :-) Did the prioritizing hack work? --Vic
It wasn't as many updated bots this time I guess. Yes, the prioritizing hack seemed to work. Though I must tune it, becuase now i think it was about 85% "pez.*" battles. Maybe I can get a client update out by tomorrow night. -- PEZ
java.io.IOException: Server returned HTTP response code: 500 for URL: http://rum ble.robowiki.net/servlet/UploadedResults Unable to upload results roborumble,35,800x600,Deathcon,1086081613370,SERVER pul sar.PulsarMax 0.2.31,4414,1982,34 labg.Cataclysm 1.95,375,306,1Error code 500 was internal error if i am right. Am i the only one getting this or is it a general problem? --deathcon
It happens when the server is busy writing or reading bot rating files. Generally the results will get uploaded next client iteration. -- PEZ
Sounds good. Let's try it :-) --Vic
Great. When you release it, I'w release a new complete client which includes the chanbges. -- Albert
Well, I think I might not have gotten it to work yet. I think that maybe I prioritize pez.* bots even when there are no bots in priority mode. Albert, here's the diff:
diff old\PrepareBattles.java new\PrepareBattles.java 32c32 < --- > private String prioritypackage; 47a48 > prioritypackage = parameters.getProperty("PRIORITYPACKAGE",""); 219a221 > int c = 0; 221c223 < while ( ((String) list1.get(bot1)).equals((String) list2.get(bot2)) ) { --- > while ( ((String) list1.get(bot1)).equals((String) list2.get(bot2)) || c++ < 3 && !((String)list1.get(bot1)).startsWith(prioritypackage)) {
You see if this should be enough or if I need to check for this case somewhere else too?
-- PEZ
The problem is probably that when there are no bots in the priority list, then it uses the full list, but then it keeps selecting the priorized package ones.
A possible solution could be not to make the changes there, but just add the priority package bots several times into the priorityall/mini/micro/nano lists. It would increase the probability to choose them. -- Albert
Good idea. That way we can control the ratio much better too. I'll try it. -- PEZ
Anybody have a clue for that?:
F:\Java\robocode\robots>java -Dsun.io.useCanonCaches=false -Xmx256M -cp .;../rob ocode.jar;../codesize.jar; roborumble.RoboRumbleAtHome ./roborumble/roborumble.t xt Iteration number 0 Downloading participants list ... Downloading missing bots ... java.util.zip.ZipException: error in opening zip file Downloaded file is wrong or corrupted:cf.proto.Shiva_1.02.jar Could not download bot cf.proto.Shiva_1.02.jar java.util.zip.ZipException: error in opening zip file Downloaded file is wrong or corrupted:wiki.BoxingVirus_1.0.jar Could not download bot wiki.BoxingVirus_1.0.jar Ignoring cf.proto.Shiva_1.02.jar: .\cf.proto.Shiva_1.02.jar (O sistema nŇo pode encontrar o arquivo especificado) Ignoring cf.proto.Shiva_1.02.jar: .\cf.proto.Shiva_1.02.jar (O sistema nŇo pode encontrar o arquivo especificado) Ignoring wiki.BoxingVirus_1.0.jar: .\wiki.BoxingVirus_1.0.jar (O sistema nŇo pod e encontrar o arquivo especificado) Ignoring wiki.BoxingVirus_1.0.jar: .\wiki.BoxingVirus_1.0.jar (O sistema nŇo pod e encontrar o arquivo especificado) Downloading rating files ... Preparing battles list ... Using smart battles is true Executing battles ... Fighting battle 0 ... axeBots.SilverSurfer 2.27.5,pez.micro.Aristocles 0.3.7 RESULT = axeBots.SilverSurfer 2.27.5 wins 3330 to 2058("O sistema nŇo pode encontrar o arquivo especificado" == "The system could not find the specified file") It happens allways that some bot uses an alternate dowload location at RoboRumble/Participants. -- Axe
Oh thanks for reporting. These two bots are both on a server of mine. I did this because the repository was down for a while and because it is really handy. But i can upload these bots to the repository, too. Can u download the files manually be typing in the url http://www.mycgiserver.com/~deathcon/cf.proto.Shiva_1.02.jar in your browser? --deathcon
The problem isn´t in your bots, i assure u that. This always happens when somebody uses an alternate location. It happened with ABC´s bots & even my own bots. Apparently the problem is here (probably between my chair & keyboard:), but i really don´t know what is, hopefully someone have the answer... -- Axe
35,800x600,ph,1086967583251,japs.Sjonniebot 0.9.1,10715,3384,1,abc.tron3.Shadow 3.07,20849,5591,15 35,800x600,ph,1086967583251,japs.Sjonniebot 0.9.1,10715,3384,1,pe.SandboxLump 1.52,18990,5726,10 35,800x600,ph,1086967583251,japs.Sjonniebot 0.9.1,10715,3384,1,sm.Devil 7.3,16590,4350,5 35,800x600,ph,1086967583251,japs.Sjonniebot 0.9.1,10715,3384,1,cx.mini.BlackSwans 0.60,9966,2718,1 35,800x600,ph,1086967583252,japs.Sjonniebot 0.9.1,10715,3384,1,pez.rumble.CassiusClay 1.5.2.3,9328,2165,2 35,800x600,ph,1086967583252,japs.Sjonniebot 0.9.1,10715,3384,1,ahf.r2d2.R2d2 0.86,9085,2047,1 35,800x600,ph,1086967583252,japs.Sjonniebot 0.9.1,10715,3384,1,cbot.cbot.CBot 0.8,8719,2103,0 35,800x600,ph,1086967583252,japs.Sjonniebot 0.9.1,10715,3384,1,gu.MicroScoob 1.3,7860,1785,0 35,800x600,ph,1086967583253,japs.Sjonniebot 0.9.1,10715,3384,1,hirataatsushi.Neo 1.6,6750,2331,0 35,800x600,ph,1086967583253,cx.mini.BlackSwans 0.60,9966,2718,1,abc.tron3.Shadow 3.07,20849,5591,15 35,800x600,ph,1086967583253,cx.mini.BlackSwans 0.60,9966,2718,1,pe.SandboxLump 1.52,18990,5726,10 35,800x600,ph,1086967583253,cx.mini.BlackSwans 0.60,9966,2718,1,sm.Devil 7.3,16590,4350,5 35,800x600,ph,1086967583254,cx.mini.BlackSwans 0.60,9966,2718,1,japs.Sjonniebot 0.9.1,10715,3384,1 35,800x600,ph,1086967583254,cx.mini.BlackSwans 0.60,9966,2718,1,pez.rumble.CassiusClay 1.5.2.3,9328,2165,2 35,800x600,ph,1086967583254,cx.mini.BlackSwans 0.60,9966,2718,1,ahf.r2d2.R2d2 0.86,9085,2047,1 35,800x600,ph,1086967583255,cx.mini.BlackSwans 0.60,9966,2718,1,cbot.cbot.CBot 0.8,8719,2103,0 35,800x600,ph,1086967583255,cx.mini.BlackSwans 0.60,9966,2718,1,gu.MicroScoob 1.3,7860,1785,0 35,800x600,ph,1086967583255,cx.mini.BlackSwans 0.60,9966,2718,1,hirataatsushi.Neo 1.6,6750,2331,0 35,800x600,ph,1086967583255,pez.rumble.CassiusClay 1.5.2.3,9328,2165,2,abc.tron3.Shadow 3.07,20849,5591,15 35,800x600,ph,1086967583256,pez.rumble.CassiusClay 1.5.2.3,9328,2165,2,pe.SandboxLump 1.52,18990,5726,10 35,800x600,ph,1086967583256,pez.rumble.CassiusClay 1.5.2.3,9328,2165,2,sm.Devil 7.3,16590,4350,5 35,2Cph,1086967583259,ahf.r2d2.R2d2 0.86,9085,2047,1,pez.rumble.CassiusClay 1.5.2.3,9328,2165,2 35,800x600,ph,1086967583260,ahf.r2d2.R2d2 0.86,9085,2047,1,cbot.cbot.CBot 0.8,8719,2103,0 35,800x600,ph,1086967583260,ahf.r2d2.R2d2 0.86,9085,2047,1,gu.MicroScoob 1.3,7860,1785,0 35,2d2.R2d2 0.86,9085,2047,1 35,800x600,ph,1086967583257,pez.rumble.CassiusClay 1.5.2.3,9328,2165,2,cbot.cbot.CBot 0.8,8719,2103,0 35,800x600,ph,1086967583258,pez.rumble.CassiusClay 1.5.2.3,9328,2165,2,gu.MicroScoob 1.3,7860,1785,0 35,800x600,ph,1086967583258,pez.rumble.CassiusClay 1.5.2.3,9328,2165,2,hirataatsushi.Neo 1.6,6750,2331,0 35,800x600,ph,1086967583258,ahf.r2d2.R2d2 0.86,9085,2047,1,abc.tron3.Shadow 3.07,20849,5591,15 35,800x600,ph,1086967583258,ahf.r2d2.R2d2 0.86,9085,2047,1,pe.SandboxLump 1.52,18990,5726,10 35,800x600,ph,1086967583259,ahf.r2d2.R2d2 0.86,9085,2047,1,sm.Devil 7.3,16590,4350,5 35,800x600,ph,1086967583259,ahf.r2d2.R2d2 0.86,9085,2047,1,japs.Sjonniebot 0.9.1,10715,3384,1 35,800x600,ph,1086967583259,ahf.r2d2.R2d2 0.86,9085,2047,1,cx.mini.BlackSwans 0.60,9966,2718,1 35,800x600,ph,1086967583259,ahf.r2d2.R2d2 0.86,9085,2047,1,pez.rumble.CassiusClay 1.5.2.3,9328,2165,2 35,800x600,ph,1086967583260,ahf.r2d2.R2d2 0.86,9085,2047,1,cbot.cbot.CBot 0.8,8719,2103,0 35,800x600,ph,1086967583260,ahf.r2d2.R2d2 0.86,9085,2047,1,gu.MicroScoob 1.3,7860,1785,0 35,800x600,ph,1086967583260,ahf.r2d2.R2d2 0.86,9085,2047,1,hirataatsushi.Neo 1.6,6750,2331,0 35,800x600,ph,1086967583260,cbot.cbot.CBot 0.8,8719,2103,0,abc.tron3.Shadow 3.07,20849,5591,15 35,800x600,ph,1086967583261,cbot.cbot.CBot 0.8,8719,2103,0,pe.SandboxLump 1.52,18990,5726,10 35,800x600,ph,1086967583261,cbot.cbot.CBot 0.8,8719,2103,0,sm.Devil 7.3,16590,4350,5 35,800x600,ph,1086967583261,cbot.cbot.CBot 0.8,8719,2103,0,japs.Sjonniebot 0.9.1,10715,3384,1 35,800x600,ph,1086967583262,cbot.cbot.CBot 0.8,8719,2103,0,cx.mini.BlackSwans 0.60,9966,2718,1 35,800x600,ph,1086967583262,cbot.cbot.CBot 0.8,8719,2103,0,pez.rumble.CassiusClay 1.5.2.3,9328,2165,2 35,800x600,ph,1086967583262,cbot.cbot.CBot 0.8,8719,2103,0,ahf.r2d2.R2d2 0.86,9085,2047,1 35,800x600,ph,1086967583262,cbot.cbot.CBot 0.8,8719,2103%2!! It looks like someone faking the results, or it is a really unexplicable bug. -- [[Albert]] The results are tagged to come from [[Ph]]'s client. He just released a [[Teams]] ready bot ([[Musketeer]]) could it be something to do with a client running Teams rumble that ha 35,800x600,ph,10869675e.SandboxLump 1.52,18990,5726,10 35,800x600,ph,1086967583263,gu.MicroScoob 1.3,7860,1785,0,sm.Devil 7.3,16590,4350,5 35,800x600,ph,1086967583264,gu.MicroScoob 1.3,7860,1785,0,japs.Sjonniebot 0.9.1,10715,3384,1 35,800x600,ph,1086967583264,gu.MicroScoob 1.3,7860,1785,0,cx.mini.BlackSwans 0.60,9966,2718,1 35,800x600,ph,1086967583264,gu.MicroScoob 1.3,7860,1785,0,pez.rumble.CassiusClay 1.5.2.3,9328,2165,2 35,800x600,ph,1086967583265,gu.MicroScoob 1.3,7860,1785,0,ahf.r2d2.R2d2 0.86,9085,2047,1 35,800x600,ph,1086967583265,gu.MicroScoob 1.3,7860,1785,0,cbot.cbot.CBot 0.8,8719,2103,0 35,8ts for every battle!!! 3rd, the bots are in the wrong order (the winner always comes first, because this is the way Robocode orders the bots) because CC loses in points (it is the first number after the name of the bot) bot appears as the winner!!! It looks like someone faking the results, or it is a really unexplicable bug. -- [[Albert]] The results are tagged to come from [[Ph]]'s client. He just released a [[Teams]] ready bot ([[Musketeer]]) could it be something to do with a client running Teams rumble that ha 35,800x600,ph,1086967583267,hirataatsushi.Neo 1.6,6750,2331,0,cx.mini.BlackSwans 0.60,9966,2718,1 35,800x600,ph,1086967583267,hirataatsushi.Neo 1.6,6750,2331,0,pez.rumble.CassiusClay 1.5.2.3,9328,2165,2 35,800x600,ph,1086967583267,hirataatsushi.Neo 1.6,6750,2331,0,ahf.r2d2.R2d2 0.86,9085,2047,1 35,800x600,ph,1086967583267,hirataatsushi.Neo 1.6,6750,2331,0,cbot.cbot.CBot 0.8,8719,2103,0Somehow I think it is not as it should.
-- PEZ
-- PEZ
Seems strange to me. 1rst, the time stamp (which is in milliseconds I guess) shows 3 battles fought in a single tick!!! 2nd, it's not probable that CC gets the same amout of points for every battle!!! 3rd, the bots are in the wrong order (the winner always comes first, because this is the way Robocode orders the bots) because CC loses in points (it is the first number after the name of the bot) bot appears as the winner!!! It looks like someone faking the results, or it is a really unexplicable bug. -- Albert
The results are tagged to come from Ph's client. He just released a Teams ready bot (Musketeer) could it be something to do with a client running Teams rumble that has gone really wrong? -- PEZ
I think this may be useful for you: I was running RoboRumble for some amount of time, and, when I released Musketeer (today), I started running MeleeRumble?. I didn't even touch TeamRumble?. Yes, Musketeer is team-ready. But it uses only isTeammate function, so I don't think Musketeer causes problems. Maybe my client is misconfigured? I will soon post here my configuration files.--Ph
Well, I never thought Musketeer caused the problem. But I thought anyone releasing a Teams aware bot might want to run their client in Teams mode. Not that you did that, but anyway. =) If your client has uploaded melee results to the 1v1 rumble that fully explains why both CC and Pugilist lost rating points. They are complete losers on a melee arena. -- PEZ
I have also noticed, that my Java Virtual Machine crashed (segmentation fault) while executing RR@H client, One-on-oneRumble. So it was not functioning properly before the crash, and all results etc. could be wrong. I don't think my client uploaded melee results as 1v1. I checked my configuration and think it's correct (it is default configuration, so should be OK). Is that possible to incorrectly upload results? Could the crash cause that? I am running Linux and JRE v. 1.4. --Ph
I doubt the crash could cause the client to make up results like those above. The results above looks like melee results uploading I think. Maybe Albert can confirm that? That crash maybe confused your client to upload melee results to the wrong rumble... -- PEZ
Yeah, it looks like melee results, but with wrong board size. For melee it should be 1000x1000. It also cannot be 1v1 result, because in 1v1 battles list is different. It's surely result of the crash, so now I try to find out what caused this crash. --Ph
Did you change roborumble settings file to run melee and then executed RR@H using "roborumble.bat"? It would explain what happened. The way to run melee (or team) battles is to use meleerumble.bat (or teamrumble.bat), which have the right settings to tell the server that they are not one-on-one. -- Albert
When these strange things happend, I executed roborumble.sh with wrong configuration (see bottom of my - Ph page, where I explain what was wrong). Now I have correct config and run right command, and my RR@H client behaves normally, as it should. --Ph
Albert what do we do about the screwed up ratings we have now got? I have updated the two bots I care for the most at the moment. But there are probably many bots with quite offline ratings now. Is there a way for me to roll back the ratings and reaply the battles log without the bad data? Or maybe reaply the battles log like 100 times or so to completely clean out the impact of the bad data. -- PEZ
If we reaply the log file without the wrong entries it should correct the ratings. 10-20 times should be enough (but then we need a program to upload it). If you have a back up, it would be a good idea to restore the old data files to fix the problem (of course we will lose some battles, but it should catch up quick enough). Another fix is to edit the data files manually (se Ph page). -- Albert
Just a thought, would it be possible to have a list of running clients? We could say that any client that has uploaded results in the last 30 minutes is active. Maybe we could add a column "# matches per timeunit". I'd be willing to write the X-SLT, if I can have access to the relevant XML data. --Vic
I think you don't need to change RR@H client's configuration, but your firewall configuration. Most probably your firewall blocks RR@H's attempt to connect. Try adding RR@H to your firewall's applications allowed list (or something like that). --Ph
I am afraid i can't do that :( I am trying to run RoboRumble on my company laptop as it is idle some 75% of it's time. Ofcourse I can't configure my company's firewall, so all i can do is (somewhere) set the proxyserver and portnumber as in the network options of my web-browser. --Loki
I understand now. AFAIK you can't do that by editing your configuration files. But you can try editing your RR client's code. I think all you need is to paste code below into your RoboRumbleAtHome?.java void main() and compile.
System.setProperty( "proxySet", "true" ); System.setProperty( "http.proxyHost", "xxx" ); System.setProperty( "http.proxyPort", "xxx" ); System.setProperty("http.proxyUser", "xxx"); System.setProperty("http.proxyPassword", "xxx");
Source: [www.javaworld.com/javaworld/javatips/jw-javatip42.html] --Ph
thanks Ph, i will try this as soon as possible! And of course publish at this page if it worked --Loki
java -DproxySet=true -DproxyHost=xx-proxy -DproxyPort=1234
If it is socks settings you can set them as well in a similar way. Also remember that you don't need to change the java source for this. You can specify this on the command line instead.(-D) -- Pulsar
Downloading missing bots ... Downloading ...abc.tron3.Shadow 3.12 Downloaded file is wrong or corrupted:abc.tron3.Shadow_3.12.jar Could not download bot abc.tron3.Shadow_3.12.jar Downloading ...abc.tron3.Tron 3.03 Downloaded file is wrong or corrupted:abc.tron3.Tron_3.03.jar Could not download bot abc.tron3.Tron_3.03.jar Downloading ...cx.BlestPain 1.40 Downloaded file is wrong or corrupted:cx.BlestPain_1.40.jar Could not download bot cx.BlestPain_1.40.jar Downloading ...fnc.Bandit 4.0.0 Not able to read properties Downloaded file is wrong or corrupted:fnc.Bandit_4.0.0.jar Could not download bot fnc.Bandit_4.0.0.jar Downloading ...kawigi.robot.Girl 1.0 Downloaded file is wrong or corrupted:kawigi.robot.Girl_1.0.jar Could not download bot kawigi.robot.Girl_1.0.jar Downloading ...rz.Aleph 0.2 Downloaded file is wrong or corrupted:rz.Aleph_0.2.jar Could not download bot rz.Aleph_0.2.jarWhat causes this? A wrong id in the RoboRumble/MeleeParticipants-list? If yes, then should these entries be removed?
Second, i see that the latest release of miniFenrir is fighting a battle:
Fighting battle 0 ... bvh.mini.Fenrir 0.39,ratosh.Wesco 1.4,myl.nano.KomoriNinja 1.1,pe.SandboxLump 1.52,ahf.NanoAndrew .4,dummy.micro.Sparrow 2.5,myl.nano.Grav iton 1.10,wiki.CoriantumrWithDMMGun 1.02,kawigi.sbf.FloodHT 0.8,dsw.StaticD 1.0 RESULT = pe.SandboxLump 1.52 wins, wiki.CoriantumrWithDMMGun 1.02 is second.but the results that are uploaded are for bvh.mini.Fenrir 0.36. Next i get page after page of messages like
OK. bvh.mini.Fenrir 0.36 vs. kawigi.mini.Coriantumr 1.1 received OK. bvh.mini.Fenrir 0.36 vs. kawigi.mini.Coriantumr 1.1 received OK. bvh.mini.Fenrir 0.36 vs. kawigi.micro.Shiz 1.0 received OK. bvh.mini.Fenrir 0.36 vs. kawigi.micro.Shiz 1.0 received OK. bvh.mini.Fenrir 0.36 vs. shinh.Entangled 0.3 received OK. bvh.mini.Fenrir 0.36 vs. kawigi.nano.Lib 1.0 received OK. bvh.mini.Fenrir 0.36 vs. kawigi.nano.Lib 1.0 receivedas you can see there are double entries. The total number of results received is far larger then the expected 10x10 for every combination in the fight. Any ideas? --Loki
I corrected my entries, glad to hear that someone is running some melee battles, I have made some melee improvements to my bots recently. About the double entries, that's because those are mini/micro bots, so the results are also uploaded to the mini rumble. -- ABC
Ehm, i dont know if it was mentioned before, but look at the PL rankings. To me it seems strange that there are bigger numbers than 100 in the total %wins field. Whats up with this ??? --deathcon
It is OK, it's calculated as the sum of bot score / total score for all matches. To find a real % just divide the number by the battles fought and multiply by 100. -- Albert
How come there are so many bots with missing pairings? Even bots which have been unchanged since the start of RR sometimes lack pairings. Chameleon is lacks 3 pairings for instance. This puts the PremierLeague rankings off quite much. -- PEZ
Hi, i have a problem with the following line in the details sheet of Ascendant 0.7.7b:
wiki.nano.RaikoNano_1.1 0.8 1 13-8-2004:9:35 77.3 -76.5Obviously Ascendant got only 0.8% of the score, which makes me guess that there are some exceptions involved. Actually Ascendant must have failed almost all rounds of that battle to get such a bad result. I just finished running 50 battles (35 rounds each) and several 1000-rounds battles vs RaikoNano, the worst result was 65% for Ascendant and not a single exception was thrown. I already analysed the changes i made, but i fail to see how they could possibly lead to exceptions. Thats why i need help in debugging.
So please could everyone whose client may have uploaded this result (it must haar: invalid entry size (expected 7147 but got 7142 bytes) Ignoring pulsar.[PulsarMax 0]?.4.14.jar: invalid entry size (expected 7147 but got 7142 bytes) Downloading rating files ... Removing old participants from server ... Preparing battles list ... Using smart battles is true Ignoring pulsar.[PulsarMax 0]?.4.14.jar: invalid entry size (expected 71ce i have absolutely no idea how to track this error. Thanks in advance. --Mue
No data dir here, was running all night/morning... -- ABC
Sorry, same here, 3 computers running it and neither had a data directory for that bot. -- Pulsar
No data directory here either. -- PEZ
Well, thank you all anyway. Too sad that there is no hint on what went wrong. A stacktrace would have been to easy i guess :-/ --Mue
Have you verified that those exceptions reach the data directory? -- PEZ
Yes, i checked that before i wrote the text above. --Mue
Good idea that logging exceptions in the data dir. I'll probably start doing that too. -- PEZ
Downloading missing bots ... Ignoring pulsar.PulsarMax_0.4.14.jar: invalid entry size (expected 7147 but got 7142 bytes) Ignoring pulsar.PulsarMax_0.4.14.jar: invalid entry size (expected 7147 but got 7142 bytes) Downloading rating files ... Removing old participants from server ... Preparing battles list ... Using smart battles is true Ignoring pulsar.PulsarMax_0.4.14.jar: invalid entry size (expected 7147 but got 7142 bytes) Ignoring pulsar.PulsarMax_0.4.14.jar: invalid entry size (expected 7147 but got 7142 bytes) Ignoring pulsar.PulsarMax_0.4.14.jar: invalid entry size (expected 7147 but got 7142 bytes) Ignoring pulsar.PulsarMax_0.4.14.jar: invalid entry size (expected 7147 but got 7142 bytes)It's happened to CassiusClay and DarkHallow too (and probably others, that I haven't observed). Whenever the problematic bot is to run the client bails. If it's just me I guess I must go figure, but if this is seen elsewhere we all need to go figure. =) -- PEZ
Doesnt happen here. I've just seen my client running battles for PulserMax? and CassiusClay. --Mue
Fighting battle 0 ... pulsar.PulsarMax 0.4.17,takeBot.WeavingWiggle 1.1 RESULT = pulsar.PulsarMax 0.4.17 wins 5636 to 363 Fighting battle 1 ... pez.rumble.CassiusClay 1.9.7.16,ch.rhj.rbc.RHJ1 1.0 Exception in thread "Application Thread" java.lang.ArrayIndexOutOfBoundsException: 1 >= 1 at java.util.Vector.elementAt(Unknown Source) at robocode.peer.ContestantPeerVector.elementAt(ContestantPeerVector.java:52) at robocode.battle.BattleResultsTableModel.getValueAt(BattleResultsTableModel.java:75) at roborumble.battlesengine.BattlesRunner.runBattles(BattlesRunner.java:95) at roborumble.RoboRumbleAtHome.main(RoboRumbleAtHome.java:94)Someone else seen it? This mean my client is not able to participate as long as I have an active CassiusClay with a lack of battles...
-- PEZ
OK. So I repackaged CC and this problem dissappeared. If someone else has the problem, delete pez.rumble.[CassiusClay 1]?.9.7.16.jar from your roborumble robots dir and let the client download the jar again. -- PEZ
Robocode usually demands lots of CPU, some bots (like my SilverSurfer, Shadow, most of Iiley´s and others) known as SlowBots demands even more. This, i guess, will depend on the machine & SO u have. Nothing to do, i think...
About running only BeeRRGC, the RR@Home assures that any bot with less than 500 battles will have it´s pairings priorized (if u check the scores table u will probably find out that BeeRRGC is a new release, and have < 500 battles). -- Axe
I might be wrong, but it sounds like Jonathan is wondering why the client doesn't get more of the CPU. It's a bit strange I think too. At least on WindowsXP it seems the OS prioritizes the idle process very much. =) -- PEZ
With such short battles a lot of time is probably spent doing hard disk accesses for classloading between battles. --David Alves
Short matches? Running Cigaret or Shadow 35 rounds against anything takes forever. Even then the idle process gets 60% on my machine. Strange! -- PEZ
C:\RobocodeAtHome\robots>java -Dsun.io.useCanonCaches=false -Xmx256M -cp .;../robocode.jar;../codesize.jar; roborumble.RoboRumbleAtHome ./roborumble/roborumble.txt Iteration number 0 Downloading participants list ... Downloading missing bots ... Downloading ...davidalves.net.YALT 1.6 Downloaded davidalves.net.YALT 1.6 into ./davidalves.net.YALT_1.6.jar Downloading ...dft.Cyanide 1.35 Downloaded dft.Cyanide 1.35 into ./dft.Cyanide_1.35.jar Downloading ...pez.rumble.CassiusClay WT1.1 Downloaded pez.rumble.CassiusClay WT1.1 into ./pez.rumble.CassiusClay_WT1.1.jar Downloading ...ph.mini.Archer 0.6.4 Downloaded ph.mini.Archer 0.6.4 into ./ph.mini.Archer_0.6.4.jar <problem> Battles input file not found ... Aborting java.lang.StringIndexOutOfBoundsException: String index out of range: -1 </problem> Downloading rating files ... Removing old participants from server ... Preparing battles list ... Using smart battles is true Prioritary battles file not found ... Executing battles ... Fighting battle 0 ... davidalves.net.YALT 1.6,wiki.nano.RaikoNano 1.1 RESULT = davidalves.net.YALT 1.6 wins 3179 to 2331 Fighting battle 1 ... pez.rumble.CassiusClay WT1.1,jam.micro.RaikoMicro 1.44--David Alves
Not yet. --David Alves You can start the X server on another machine and log in from that one and start the RR client. You can't log off with the X server machine of course, but it's the best I can think of. -- PEZ
java.lang.NullPointerException at Rankings.doPost(Rankings.java:54) at Rankings.doGet(Rankings.java:20) at javax.servlet.http.HttpServlet.service(HttpServlet.java:740) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:243) at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:190) at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943) at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2343) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180) at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566) at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:170) at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:170) at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:468) at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174) at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943) at org.apache.catalina.connector.http.HttpProcessor.process(HttpProcessor.java:1012) at org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.java:1122) at java.lang.Thread.run(Thread.java:595)--David Alves
Thanks for telling. I guess too many files are damaged. Let's see if I can bring back data from two days back instead. I'll take the RR@H servlets down meanwhile. -- PEZ
Bad news. The backups are invalid. Have been since a while it seems. In the worst case we'll need to start the rankings all over again. But I'll see if I can investigate the files some and see if we can salvage most of it... Once we sort this out we'll just have to set up a working mirroring solution of some sort. -- PEZ
I always got the error,when fighting with bvh.mini.Wodan_0.33 995:
Fighting battle 9 ... sgp.MadHatter 4.13,bvh.mini.Wodan_0.33 995 Exception in thread "Application Thread" java.lang.ArrayIndexOutOfBoundsException: 1 >= 1 at java.util.Vector.elementAt(Unknown Source) at robocode.peer.ContestantPeerVector.elementAt(ContestantPeerVector.java:52) at robocode.battle.BattleResultsTableModel.getValueAt(BattleResultsTableModel.java:75) at roborumble.battlesengine.BattlesRunner.runBattles(BattlesRunner.java:95) at roborumble.RoboRumbleAtHome.main(RoboRumbleAtHome.java:94)Is it version's problem, did some of you had got this? -- iiley
iiley, search this page for "1 >= 1". This problem has occured before. Delete bvh.mini.Wodan_0.33_995.jar from your roborumble robots dir and let the client download the jar again. B.t.w. i guess it should be bvh.mini.Wodan_0.33_995 !? --Loki
I get it on both my machines. Both of which have totally fresh robots and .robotcache directories. It's something wrong with that bot jar... I removed it once and reinstalled it again, but now it's time to remove it and Loki can have a look at it before we reinstall it. -- PEZ
ok. I will take a look at this bot --Loki
Ok thanx ;] -- iiley
B.t.w. this problem has been mentioned before with pez.rumble.CassiusClay 1.9.7.16,ch.rhj.rbc.RHJ1 1.0 So is it a problem with the bot or with the RRClient? --Loki
I don't know. But at the moment it's very focused on that bot. Maybe sometimes the client doesn't like the version number or something... -- PEZ
Something is strange with my client now anyway:
Fighting battle 0 ... pez.rumble.CassiusClay 1.9.9.38,abc.tron3.Shadow 3.37 RESULT = pez.rumble.CassiusClay 1.9.9.38 wins 2353 to 630As nice at it might be to see that result, it just must be false. CC loses big against ad.last.Bottom in the same session...
-- PEZ
Ehmm it's late here. I found the error. I had accidentily set the battle field to 800x00. Now at least I know how to beat Shadow. =) -- PEZ
D:\roborumble\robots>java -Xmx256M -cp .;../robocode.jar;../codesize.jar; roboru mble.RoboRumbleAtHome ./roborumble/roborumble.txt Iteration number 0 Downloading participants list ... Downloading missing bots ... Battles input file not found ... Aborting java.lang.StringIndexOutOfBoundsException: String index out of range: -1 Downloading rating files ... Unable to ratings for roborumble java.io.FileNotFoundException: http://rumble.robowiki.net/servlet/RatingsFile?ve rsion=1&game=roborumble Unable to ratings for minirumble java.io.FileNotFoundException: http://rumble.robowiki.net/servlet/RatingsFile?ve rsion=1&game=minirumble Unable to ratings for microrumble java.io.FileNotFoundException: http://rumble.robowiki.net/servlet/RatingsFile?ve rsion=1&game=microrumble Unable to ratings for nanorumble java.io.FileNotFoundException: http://rumble.robowiki.net/servlet/RatingsFile?ve rsion=1&game=nanorumble Preparing battles list ... Using smart battles is false Executing battles ... Uloading results ... Updating number of battles fought ... Iteration number 1 Preparing battles list ... Using smart battles is true Executing battles ... Uloading results ... Updating number of battles fought ... Iteration number 2Know what to do? -- trab
You have to open the roborumble.txt file and change all the "rumble.robowiki.net/servlet/" references to "pezius.com/rumble/servlet/", except for the PARTICIPANTSURL entry that becomes "http://robowiki.net/cgi-bin/robowiki?RoboRumble/Participants". -- ABC
Yes, I think that the config file posted on RoboRumble/TemporaryServerUp should work. Just change "PEZ" to "trab". -- PEZ
Somebody has an idea why every version of CassiusClay always starts at 1600 ranking. Most bots start at the ranking of the previous version, as it should be... -- PEZ
No idea, but it happened to some of Shadow's versions too. -- ABC
I may be wrong (the code is very hard to read) but I don't think bots are assigned the rating of the previous version anywhere. Here's the relevant code:
Properties bot1 = getBotData(bot1name, game, fname); if (bot1 == null) { out.println("ERROR reading bot1 properties file"); return; } int battles1 = 0; try { battles1 = Integer.parseInt(bot1.getProperty("battles","0")); } catch (Exception e) {}; double rating1 = Double.parseDouble(bot1.getProperty("rating","1600")); if (Double.isNaN(rating1)) rating1 = 1600; double real1 = Double.parseDouble(fscore) / (Double.parseDouble(fscore)+Double.parseDouble(sscore)); if (Double.isNaN(real1) || real1 == 0.0 || real1 == 1.0) return; String e1 = bot1.getProperty(bot2name,Double.toString(real1)+",0,0"); String[] ep1 = e1.split(","); double wins1 = Double.parseDouble(ep1[0]); if (Double.isNaN(wins1) || wins1 == 0) wins1 = real1; int benemy1 = 0; try { benemy1 = Integer.parseInt(ep1[1]); } catch (Exception e) { }--David Alves
Yeah, I know that part of the code is dense. I think the part where it looks for an old version must be somehwere else. Because it does happen for mostbots. Right now Ascendant 0.9.5c correctly started in 2060+ space, it has 2068 with 31 battles. While CassiusClay 1.9.9.44 started from the middle again and has 1850 with a crazy momentum. -- PEZ
All of a sudden 100 bots are missing from the ranking table. I checked the ratings-file and it lacks 100 bots too. I have absolutely no idea what has happened. But hopefully the table will rebuild itself as pairings for the missing bots are uploaded. Hopefully... -- PEZ
It happened to me the other day when I set up a new RR client that I got the participants url wrong and the client started removing everybody. I stopped it after around 10 removals and fixed it, the missing bots reapeared as soon as they got to fight again. Maybe it happened to someone else today, there should be a check in the client for a missing (or empty) participants file. -- ABC
Thanks for this info. I actually thought about this protection the other day. But I worried about somebody deleting bots on the participants page on purpose. In any case we should think about a way to deal with this. The ranking table is rebuilding as we speak so it's no catastrophy, but still nothing I would want to happen any often... -- PEZ
Here's "proof" that some bots get to keep the ranking of the previous version and some bots don't. http://pezius.com/robocode/RankingsSnapShot.html SilverSurfer has a negative momentum and 2034 points after 2 battles and CassiusClay has 1653 with 2 battles faught (and a huge positive momentum naturally). There's something rotten in the state of Denmark! -- PEZ
That is much more interesting (more rare) than those 290+ snapshots... One of the reasons of negative momentum of SS can be that it is beating CC by 61.3%, but since CC is rated 1653, SS´s expected % against CC is 79.1%! So, actually SS is underperforming by -17.7%... Funny :) -- Axe
Man! Your -17.7% is dragging me down.. If u wanna sink, please go alone, dont grab my feet!! :) -- Axe
When I start roborumble.bat I get this output:
Downloading participants list ... Downloading missing bots ... Downloading rating files ... Removing old participants from server ... Preparing battles list ... Using smart battles is true Prioritary battles file not found ... Executing battles ... Exception in thread "main" java.lang.RuntimeException: File not found: C:\Progra m%20Files\Robocode\robots at roborumble.battlesengine.RobocodeEngineAtHome.<init>(RobocodeEngineAt Home.java:42) at roborumble.battlesengine.BattlesRunner.runBattles(BattlesRunner.java: 50) at roborumble.RoboRumbleAtHome.main(RoboRumbleAtHome.java:94) C:\Program Files\Robocode\robots>goto runAs you might see, the /roborumble/RoboRumbleAtHome?.class is running, but when it starts executing battles the battlesengine.RobocodeEngineAtHome?.class is not found. The .class file is in the battlesengine directory, so I can find it manually (it's there!). I've checked any solutions I can come up with, but I can't figure it out. It's probably something real easy too... :/ -- Toz
Actually it looks like the file not found is the robots directory. Strange... -- PEZ
Sure about that? For me it seems that if it's working directory is the robots directory, then the .class file it is trying to run must be inside the roborumble\battlesengine directory -- Toz
Reading the source code for RobocodeEngineAtHome? now, and I think I see what you mean. But still... What to do? I want to run roborumble all the time and be the number one rumblerunner! :P -- Toz
Can you paste your roborumble.bat file here maybe? And are you running it from the robocode dir? -- PEZ
.bat file:
cd robots :run java -Dsun.io.useCanonCaches=false -Xmx256M -cp .;../robocode.jar;../codesize.jar; roborumble.RoboRumbleAtHome ./roborumble/roborumble.txt goto run
And yes, I am. :) -- Toz
Maybe if you try placing the robocode directory somewhere in your path where you don't have spaces in the parent directories? It shouldn't matter I guess, but that %20 in the error message still is a bit funny. -- PEZ
Hehe, I saw you changed back my edit on the RoboRumble/Participants list :) Now I can't download CassiusClay. Is it ok if I change it back, so I can get it? -- Toz
Grab it here: http://pezius.com/robocode/robots/pez.rumble.CassiusClay_1.9.9.83.jar -- PEZ
It seems to be working now, thanks! However, it seems that SilverSurfer and CassiusClay is given a top priority :D During the first iteration, SS got 13 matches, and CC got 10. And the next, SS: 12, CC: 11. Out of 29. Probably not a bug, but funny :P -- Toz
It's probably because you edited back .85 of CC. It can take a few iterations before the clients snaps out of it. Glad to hear it works now. I hope you succeed in getting the #1 roborumble runner! -- PEZ
While running RR@H I keep getting the same error. Cyanide v1.73 was released, but then changed back to v1.72. I can update my clients participants list, but I am running the parameter default value, RUNONLY=SERVER. I think something is wrong on the servers list, because the output tells different stories. First, the bot is "removed from roborumble" (before running any battles, during preparations). But later the bot rises from the dead and keep joining battles. Why don't the server give me an updated list of robots to use in the battles? -- Toz
Dunno. But it has been like that always. I think maybe the server thinks the old version is back again when results are uploaded for it. It takes a while before the issue is settled. Especially since 1.73 was pulled before it got all its battles. -- PEZ
Strange... Since the repository is out, i uploaded SilverSurfer v 2.62 into my new ftp area. But seems that RR@Home is not downloading it correctly (at least here), but if i download it manually it works. Is that happening with others clients too? If so, any clues about why is this happening? Thanks u all... -- Axe
I get a "Esta página está fora do ar" error when downloading if I click on the link (in the diff page), but download it fine when I put the URL in the browser bar. Maybe it's one of those sites where external referals are not allowed... -- ABC
Thanks, ABC! I never thought in this possibility (actually i didn´t even know that this could happen), i´ll check with the site... -- Axe
OK. wiki.mini.BlackDestroyer 0.9.0 vs. rz.SmallDevil 1.502 received java.io.IOException: Server returned HTTP response code: 500 for URL: http://pez ius.com/rumble/servlet/UploadedResults Unable to upload results roborumble,35,800x600,David Alves,1101701761718,SERVER wiki.mini.BlackDestroyer 0.9.0,3842,1915,27 rz.SmallDevil 1.502,1998,1409,8 OK. rz.SmallDevil 1.502 vs. rz.GlowBlowMelee 1.4 received java.io.IOException: Server returned HTTP response code: 500 for URL: http://pez ius.com/rumble/servlet/UploadedResults Unable to upload results roborumble,35,800x600,David Alves,1101701773234,SERVER rz.SmallDevil 1.502,2888,1541,19 rz.GlowBlowMelee 1.4,2369,1259,16 OK. kawigi.nano.FunkyChicken 1.1 vs. rz.SmallDevil 1.502 receivedLooks like a mixture of successes and failures.... maybe the server is up but running very slowly? --David Alves
Hmmm, I have a few records like that too. Also involving SmallDevil. Maybe something happened to one of its rating file in the crashes yesterday. I'll check it out tonight after work. -- PEZ
Just for the records, i´ve got some of these today too, but dont remember if was only with SmallDevil... -- Axe
Yeah. Maybe it is that easy. I'll try delete some files... -- PEZ
Ummm. There are no files to delete. Probably I should create some files rather. Problem is, which ones? -- PEZ
The exceptions comes from a part of the code where it is just assumed that a ratings file exist. But it doesn't. Have we tried running melee battles from a client yet? Maybe that would create the files. -- PEZ
Any more news? I have run one meleebattle, but when it finished I got the message 'Not able to open/create ratings file' for every subsequent result. -- GrubbmGait
That's the only news I guess. =) Can you try again? I have created an emtpy ratings file (for MegaBots). -- PEZ
This evening (CET) I will try again. -- GrubbmGait
Something happened !! Please check it out ! I only see one bot though. I will run another battle. -- GrubbmGait
It is not OK yet, the second battle had other bots, but I don't see them in the 'Details' tab. I do see them in the dropdownlist of the 'Compare' screen though. Do you have enough information to continue ? I do not think it helps if more battles are run for now. -- GrubbmGait
I think this might mean we have melee running. Please run more battles. Even if something else is still wrong we are still collecting melee data which we can refeed to the system once it is in shape. -- PEZ
The general melee looks quite ok now. I will run more battles, but I will upload them only late this evening. I'm still using a modem, so I don't have a continuous connection. :-( --GrubbmGait
Wow! =) -- PEZ
Could you do the same things you did for general melee, also do for mini, micro and nano? It really seems ok now. Btw, running melee-battles is VERY good for the RR@Home Uploaders Competition :D --GrubbmGait
OK. I just did ;$ touch ratings_{mini,micro,nano}meleerumble.txt
. Imagine that melee has been waiting for so long for this! -- PEZ
Initializing... Process started. Iteration number 0 Downloading participants list ... Downloading missing bots ... Battles input file not found ... Aborting java.lang.StringIndexOutOfBoundsException: String index out of range: -1 Downloading rating files ... Unable to ratings for roborumble java.io.FileNotFoundException: http://rumble.robowiki.net/servlet/RatingsFile?version=1&game=roborumble Unable to ratings for minirumble java.io.FileNotFoundException: http://rumble.robowiki.net/servlet/RatingsFile?version=1&game=minirumble Unable to ratings for microrumble java.io.FileNotFoundException: http://rumble.robowiki.net/servlet/RatingsFile?version=1&game=microrumble Unable to ratings for nanorumble java.io.FileNotFoundException: http://rumble.robowiki.net/servlet/RatingsFile?version=1&game=nanorumble Preparing battles list ... Using smart battles is false Executing battles ... Iteration number 1 Preparing battles list ... Using smart battles is false Executing battles ... Iteration number 2 Preparing battles list ... Using smart battles is false Executing battles ... Iteration number 3 Preparing battles list ... Using smart battles is false Executing battles ... Iteration number 4 Preparing battles list ... Using smart battles is false Executing battles ... Iteration number 5can someone help me? It just iterates through the battles without doing anithing... well the download doesn't work too. - rozu
The /TemporaryServerUp resides on a different URL than the old one. Update your roborumble.txt file accordingly and it should work. And. Welcome back man! You've been missing for long. -- PEZ
Ah thanks, I didn't know that... -- rozu
Uloading results ... OK. tide.pear.Pear 0.60.4 vs. axeBots.Okami 1.04 received OK. tide.pear.Pear 0.60.4 vs. davidalves.net.DuelistMicro 1.22 received OK. tide.pear.Pear 0.60.4 vs. lk.nano.Avesnar 1.1 received OK. pez.rumble.CassiusClay 1.9.9.82 vs. dummy.micro.HummingBird 2.14 received OK. tide.pear.Pear 0.60.4 vs. fm.mammillarias 1.3 received OK. pez.rumble.CassiusClay 1.9.9.82 vs. cf.mini.Chiva 1.0 received OK. pez.rumble.CassiusClay 1.9.9.82 vs. bvh.fnr.Fenrir 0.36l received OK. pez.rumble.CassiusClay 1.9.9.82 vs. kcn.unnamed.Unnamed 1.21 received OK. tide.pear.Pear 0.60.4 vs. shu.nitro.LENIN .T34 received Exception in thread "Application Thread" java.lang.ArrayIndexOutOfBoundsException: 1 at roborumble.netengine.ResultsUpload.uploadResults(ResultsUpload.java:124) at roborumble.RoboRumbleAtHome.main(RoboRumbleAtHome.java:105)
Iteration number 0 Downloading participants list ... Downloading missing bots ... Battles input file not found ... Aborting java.lang.StringIndexOutOfBoundsException: String index out of range: -1...and after it started deleting all participants from the rumble. :( -- MN?
Please checkout the /TemporaryServerUp page, you have to adapt your roborumble.txt files because the links to the server are changed! -- GrubbmGait
I changed all links to the new server and it was working fine with the former 1.0.6 IBM version... but looks like the roborumble client is incompatible with the new 1.0.7 OpenSource version. (http://robocode.sourceforge.net/) -- MN?
No, its not the 1.0.7 version... I forgot to update the PARTICIPANTSURL line. :(
PARTICIPANTSURL=http://robowiki.net/cgi-bin/robowiki?RoboRumble/ParticipantsNow the client is working perfectly again. -- MN?
Mine appears to be working, it's a little tweaked the way I felt like making it:
#RoboRumble@home properties #properties for executing the modules. Use YES or NOT DOWNLOAD=YES EXECUTE=YES UPLOAD=YES ITERATE=NOT #It tells the program if this competitions is for teams. It is necessary since teams.jars are different from bot.jars MELEE=YES TEAMS=NOT #leave it blank or put GENERAL if you want to execute battles for all bots, or use MINI, MICRO or NANO if #you want to run only battles for this type of bot. #Use SERVER if you want an smart client that uses server info to control process of running battles (recommended) #Melee only suports a simplified SERVER mode RUNONLY=SERVER #properties for the battle engine USER=KAWIGI INPUT=./roborumble/temp/battlesmelee.txt PRIORITYBATTLESFILE=./roborumble/temp/prioritymelee.txt ROUNDS=35 FIELDL=1000 FIELDH=1000 MELEEBOTS=10 OUTPUT=./roborumble/files/resultsmelee.txt #properties to retrieve bots from internet BOTSREP=./ TEMP=./roborumble/temp/ #properties to retrieve participants list from internet PARTICIPANTSURL=http://robowiki.net/cgi-bin/robowiki?RoboRumble/MeleeParticipants PARTICIPANTSFILE=./roborumble/files/participmelee.txt STARTAG=pre #properties to prepare the battles list NUMBATTLES=10 #properties to upload the results RESULTSURL=http://rumble.pulsaronline.com:8080/rumble/servlet/UploadedResults #related competitions (competitions where participants are a subset of the participants in the main competition) #Comment the following lines if you don't have codesize.jar installed or you are experimenting problems with it. CODESIZEFILE=./roborumble/files/codesizemelee.txt MINIBOTS=minimeleerumble MICROBOTS=micromeleerumble NANOBOTS=nanomeleerumble #URLs to download the rating files (and file names) #BATTLESNUMFILE is the file used to store the number of battles fought by the bots (returned by the server when results are uploaded) RATINGS.URL=http://rumble.pulsaronline.com:8080/rumble/servlet/RatingsFile RATINGS.GENERAL=./roborumble/temp/ratings_m_roborumble.txt RATINGS.MINIBOTS=./roborumble/temp/ratings_m_minirumble.txt RATINGS.MICROBOTS=./roborumble/temp/ratings_m_microrumble.txt RATINGS.NANOBOTS=./roborumble/temp/ratings_m_nanorumble.txt BATTLESNUMFILE=./roborumble/temp/meleebattlesnumber.txt #URL to tell the server to delete old bots UPDATEBOTSURL=http://rumble.pulsaronline.com:8080/rumble/servlet/RemoveOldParticipant BATTLESPERBOT = 1500-- Kawigi
Downloading ...agd.Mooserwirt2 2.7 Unable to download agd.Mooserwirt2 2.7 from site. Could not download bot agd.Mooserwirt2_2.7.jar Downloading ...bvh.fry.Freya 0.2m Downloaded file is wrong or corrupted:bvh.fry.Freya_0.2m.jar--Florent
I have the same problem. -- StefW
I corrected bvh.fry.Freya from 0.2m to 0.31, melee was already good. --GrubbmGait
For some reason agd.Mooserwirt2 is not available anymore on glyndavies.org. I do have this bot present in my client (and probably some more clients) so it will not miss any pairings. --GrubbmGait
{snip} Fighting battle 8 ... pez.clean.Swiffer 0.2.9,apv.test.Virus 0.6.1 RESULT = apv.test.Virus 0.6.1 wins 3080 to 1568 Fighting battle 9 ... dz.Caedo 1.4,axeBots.Musashi 2.18 RESULT = axeBots.Musashi 2.18 wins 4487 to 1611 Uloading results ... OK. ad.Quest 0.10 vs. md.VelociRaptor 1.3 received Preventing unknown thread Application Thread from access: (java.io.FilePermissio n .\md.VelociRaptor_1.3.jar read) Preventing unknown thread Application Thread from access: (java.io.FilePermissio n .\md.VelociRaptor_1.3.jar read) Preventing unknown thread Application Thread from access: (java.io.FilePermissio n .\md.VelociRaptor_1.3.jar read) OK. bvh.frg.Friga 0.112dev vs. gjr.Cephalosporin 0.2 received Preventing unknown thread Application Thread from access: (java.io.FilePermissio n .\bvh.frg.Friga_0.112dev.jar read) Preventing unknown thread Application Thread from access: (java.io.FilePermissio n .\gjr.Cephalosporin_0.2.jar read) Preventing unknown thread Application Thread from access: (java.io.FilePermissio n .\bvh.frg.Friga_0.112dev.jar read) Preventing unknown thread Application Thread from access: (java.io.FilePermissio n .\gjr.Cephalosporin_0.2.jar read) Preventing unknown thread Application Thread from access: (java.io.FilePermissio n .\bvh.frg.Friga_0.112dev.jar read) Preventing unknown thread Application Thread from access: (java.io.FilePermissio n .\gjr.Cephalosporin_0.2.jar read) OK. rz.Artist 0.2 vs. takeBot.SpinSpiral 1.2 received Preventing unknown thread Application Thread from access: (java.io.FilePermissio n .\rz.Artist_0.2.jar read) Preventing unknown thread Application Thread from access: (java.io.FilePermissio n .\rz.Artist_0.2.jar read) {snip}
I'm using java 1.5.0_04
C:\Documents and Settings\FnH>java -version java version "1.5.0_04" Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_04-b05) Java HotSpot(TM) Client VM (build 1.5.0_04-b05, mixed mode)
Should I do something to rectify this, or can I simply ignore it? --FnH
Is your RoboRumbleR?@Home client using java -Dsun.io.useCanonCaches?=false -Xmx256M ...
? (check the file that starts RoboRumble@Home, the bat file for example if on windows) -- Pulsar
contents of roborumble.bat:
cd robots :run java -Dsun.io.useCanonCaches=false -Xmx256M -cp .;../newrobocode.jar;../robocode.jar;../codesize.jar; roborumble.RoboRumbleAtHome ./roborumble/roborumble.txt goto run
Since I'm running on an Athlon X2 I took the liberty of adding newrobocode.jar as it fixes the threading bug. -- FnH
Problem solved itself after turning downloads of bots back on (I turned it off earlier because the repository was down) -- FnH
florent.test.Toad 0.14t,amk.jointstrike.JointStrike 0.2,SERVER florent.test.Toad 0.14t,gh.GrypRepetyf 0.9fix,SERVER florent.test.Toad 0.14t,pulsar.Nanis 0.3,SERVER florent.test.Toad 0.14t,amk.jointstrike.JointStrike 0.2,SERVER florent.test.Toad 0.14t,gh.GrypRepetyf 0.9fix,SERVER florent.test.Toad 0.14t,pulsar.Nanis 0.3,SERVER florent.test.Toad 0.14t,amk.jointstrike.JointStrike 0.2,SERVER florent.test.Toad 0.14t,gh.GrypRepetyf 0.9fix,SERVER florent.test.Toad 0.14t,pulsar.Nanis 0.3,SERVER florent.test.Toad 0.14t,amk.jointstrike.JointStrike 0.2,SERVER florent.test.Toad 0.14t,gh.GrypRepetyf 0.9fix,SERVER florent.test.Toad 0.14t,pulsar.Nanis 0.3,SERVER florent.test.Toad 0.14t,amk.jointstrike.JointStrike 0.2,SERVER florent.test.Toad 0.14t,gh.GrypRepetyf 0.9fix,SERVER florent.test.Toad 0.14t,pulsar.Nanis 0.3,SERVER
Is this normal? -- Florent
It can happen when these are the only battles left to be fought to fill up the PL ranking. If it happens continuously, try cleaning your roborumble\temp directory. --GrubbmGait
Ok, it just happened once. -- Florent
Fighting battle 7 ... dz.MostlyHarmlessNano 2.1,florent.test.Toad_RRGC 1.3 Exception in thread "Application Thread" java.lang.ArrayIndexOutOfBoundsException: 1 >= 1 at java.util.Vector.elementAt(Vector.java:432) at robocode.peer.ContestantPeerVector.elementAt(ContestantPeerVector.java:61) at robocode.battle.BattleResultsTableModel.getValueAt(BattleResultsTableModel.java:84) at roborumble.battlesengine.BattlesRunner.runBattles(BattlesRunner.java:95) at roborumble.RoboRumbleAtHome.main(RoboRumbleAtHome.java:94)
I just changed the version number from RRGC_1.3
to 1.3rrgc
and it seems to work. So I think avoiding underscore (_
) in the version number should be a good advice. -- Florent
Actually I am getting this a lot, especially while running the meleerumble. I think it occurs after the battle is complete and it is building stats, but that's me guessing. It is pretty aggravating to wait on the battle to be complete only to see it bomb out. -- Martin
I deleted the robots, cache, and database. Then I started the roborumble to let it download bots, then killed it. Then I started the meleerumble to let it download bots, then killed it. Then I started Robocode to let it build the cache and database. Now things are running smoothly in both rumbles. I'll worry about the team rumble in January ... -- Martin
I think someone is running his client with some wrong settings because I don't see how X2 could get this :
el33t.EL33tGangstarr2_2.0 0.9 1 26-4-2006:14:39 93.5 -92.6-- Florent
I confess I'm very, very tired of not being able to download RobocodeRepository bots. Today, the site is up and the downloads just don't work. Any word on the replacement? If not, I swear I can have something up quickly. It's what I do for a living. Thanks all... --Corbos
I'd be willing to help you if you like. I would have done something already, but I figured if I was going to do it, I'd want to have every version of every bot available, and I just don't have that kind of disk space on davidalves.net anymore... it's run off a virtual server and they introduced disk quotas a while back. =/ --David Alves
I'd help, too, with either coding time or just chipping in some for hosting. On that same note - there are a few new bots that are hosted at the repository, which I can't get to right now. If you guys (PEZ, Stelokim) want to just email them to me, I'll put them into the 3 RR clients that I have running right now. =) -- Voidious
---
I think people hosting rumble servers are running out of memory with my bot. That leads me to two questions. 1) is everybody using the default 256M to run the roborumble? BUT, much more importantly, 2) it seems that between battles objects are not getting garbage collected. It seems to me that, when my static variables go away, the memory they were using should, too. Is this not the case? Should I have to worry about how much memory I (or anyone else) has consumed in previous battles in the same JVM? Then my available memory significantly drops (from ~100M to ~10M, since the rumble runs 10 battles per JVM). -- Simonton
I have my RR clients set to 512M; I don't think you are sharing memory with the other battles in the same iteration. I actually had my clients set to skip the RobocodeRepository bots because it was down sometime recently (and then my clients hang for a looong time), but I'll put that back now and watch it if/when you repost WeeklongObsession. If you're not running out of memory on your own machine, I don't think you should run out of memory in most RR clients, unless you have something much higher than 512M set on yours. -- Voidious
Ok, I'll give it another shot. I have a new version that packs more into the memory I give it now. Should I plan to take my fair share of 256M, or 512? Because the more I give this bot, the better it will perform. -- Simonton
Ok, here's a scenario that just happened in my testing: I've been tweeking my memory to use just the right amount for a battle, restarting Robocode each time. Going great. I find the sweet spot. THEN, after running one battle, instead of re-starting Robocode like I was before (so I could watch the Windows task list for my memory usage), I click "Restart". Things go OK until round 17, then I start skipping turns. The battle slows way down while Java starts doing the garbage collection thing. Round 24: I skip about 20 turns while the battle runs at the speed of a retarded snail on the Alaskan tundra. Turns 25-30: simonton.micro.WeeklongObsession: Throwable: java.lang.OutOfMemoryException. Any suggestions? Would it be any problem to run the rumble @ one battle per JVM? -- Simonton
Hmm. Well, 1 battle per iteration is definitely a problem because it would slow things down so much - a large portion of the time would be spent relaunching the RR client / Robocode engine each time. It looks like my Robocodes reserves 1 gig of Virtual Memory space when I pass "512M" to Robocode, so I'm thinking it must be 512 per bot.
One option would be to set your own client to 1024M (or whatever works) and then not upload your bot, running all the RRAH battles yourself, but that would also mean no new bots get to run battles against yours unless you run your client. Maybe there's just some silly memory leak that you could track down, though? That really is a LOT of memory... Running SandboxDT with hiseg=true vs Shadow, two bots that use a lot of memory, it still only gets to 150 megs (of the allocated 1 gig) after 35 rounds; not much more (158 megs) after 75 rounds.
-- Voidious
By the way, if you want to e-mail me a test version of your bot, I'd gladly test it on my setup. I'm on Mac OS X with 2 gigs of RAM, so it may give a different perspective than your system. I'm also got a Linux box I could test it on. (voidious at gmail) -- Voidious
Oh wow, that's crazy. How could I have a memory leak between battles? I mean, it sounds like that must be what's happening ... but I thought that the way Robocode was set up it was impossible (what with static variables going away & all). Hmm. I wonder if java's String class is trying to keep a map of every single string I ever generated. I know they have that "intern" method. Sure, I'll email it to you ... once its back in a testable state again :). -- Simonton
Oh, I just meant between rounds, not between battles. I don't think you could have one between battles because it loads the bots in a class loader. Someone like Fnl or David Alves would be far more qualified than I to say what kind of scenarios might reasonably cause runaway memory use in Java... It's entirely possible you're validly using that much memory, especially in a CodeSize restricted bot where you can't do things as cleanly, it just seems like a lot when comparing it to some other memory intensive bots. -- Voidious
No, there's something more fishy than just using a lot of memory going on. It will run for 1 battle great every time, but try to run it a second time in the same JVM, no luck. Every time. -- Simonton
You are not the only one with this problem :) I had the same problem with an early version of TeamSliNk, but i still dont know what caused the memory leak :/ We might compare our code and see what could be the reason. --Krabb
Were you creating (theoreticly) upwards of [sum from (i = 0 to 30) of 67^i] unique strings?? I'm pretty convinced that's what's going on in mine. I'm pretty certain Java's string class is going to keep one copy of every unique string I generate in a HashMap? for whatever reason it wants to do that, and I generate a lot of unique strings. I am taking Voidious' suggestion and running it just on my machine. I modified the roborumble client to stop its iteration after it runs a bot with "WeeklongObsession" in its name :). -- Simonton
--- Running a melee rumble client I noticed a weird result:
Fighting battle 1 ... mk.Alpha 0.1,ratosh.Wesco 1.4,ahf.NanoAndrew .4,kawigi.sbf.FloodHT 0.9.2,adt.Ar1 2.1,oa.weak.BotherBot 0.1,qohnil.blot.BlotBot 3.61,amk.ShizzleStiX.ShizzleStiX 0.6,mn.Combat 1.0,shinh.Entangled 0.3 RESULT = kawigi.sbf.FloodHT 0.9.2 wins, kawigi.sbf.FloodHT 0.9.2 is second.How can a bot be both first and second? -- MarijnK
I can't get Roborumble to work, it always fails to copy downloaded files into their right directory.
E:\robocode\roborumble>cd robots E:\robocode\roborumble\robots>java -Xmx256M -cp .;../robocode.jar;../codesize.ja r; roborumble.RoboRumbleAtHome ./roborumble/roborumble.txt Iteration number 0 Downloading participants list ... Downloading missing bots ... Downloading ...abc.Shadow 3.66d Exception in thread "main" java.lang.NoSuchMethodError: robocode.util.Utils.copy (Ljava/io/File;Ljava/io/File;)Z at roborumble.netengine.BotsDownload.downloadBot(BotsDownload.java:217) at roborumble.netengine.BotsDownload.downloadMissingBots(BotsDownload.ja va:157) at roborumble.RoboRumbleAtHome.main(RoboRumbleAtHome.java:49) E:\robocode\roborumble\robots>goto run
I'm using Robocode 1.2.4 Beta and Roborumble@home v.beta9 + server classes v.b12 and have followed all the steps mentioned in the wiki. Any ideas how to solve it? -- ALtgLasS
Hmm, that's odd. For the sake of troubleshooting, could you try maybe setting one up with an older version, like [Robocode 1.1.3]? My RR@Home clients still use that version, so I know it works. ;) If it is the version, that might be something for Fnl to fix before 1.2.4 leaves beta. -- Voidious
Seems that the method copy is not any longer implemented in Robocode. Roborumble works fine with the old version, thx for the link. -- ALtgLasS
Does anyone notice anything funny about this:
C:\play\roborumble\robots>java -Dsun.io.useCanonCaches=false -Xmx400M -cp .;../robocode.jar;../codesize.jar; roborumble.RoboRumbleAtHome ./roborumble/roborumble.txt Iteration number 0 Downloading participants list ... Downloading missing bots ... Downloading rating files ... Removing old participants from server ... Preparing battles list ... Using smart battles is true Executing battles ... Fighting battle 0 ... jep.Terrible 0.4.1,serenity.nonSense 1.34 RESULT = jep.Terrible 0.4.1 wins 3081 to 2336 Fighting battle 1 ... simonton.mini.WeeksOnEnd 1.10,pez.micro.Aristocles 0.3.7 RESULT = simonton.mini.WeeksOnEnd 1.10 wins 2270 to 2296 Uloading results ... OK. jep.Terrible 0.4.1 vs. serenity.nonSense 1.34 received OK. simonton.mini.WeeksOnEnd 1.10 vs. pez.micro.Aristocles 0.3.7 received OK. simonton.mini.WeeksOnEnd 1.10 vs. pez.micro.Aristocles 0.3.7 received Updating number of battles fought ...How can WeeksOnEnd WIN 2270 to 2296?? This is not because of my mods to the client; really it's not. -- Simonton
Hmm, I really have no idea... However, I do not think it would adversely affect the actual RoboRumble results, as it should still use (bot score / total score) for the actual percentage, which would be unaffected. I'd have to take a closer look to see how that's possible code-wise, though. What version of Robocode are you using by the way (just curious)?-- Voidious
Exception in thread "main" java.lang.NoSuchMethodError: robocode.util.Utils.copy(Ljava/io/File;Ljava/io/File;)Z at roborumble.netengine.BotsDownload.downloadBot(BotsDownload.java:217) at roborumble.netengine.BotsDownload.downloadMissingBots(BotsDownload.java:157) at roborumble.RoboRumbleAtHome.main(RoboRumbleAtHome.java:49)
Trying to compile, it looks like the latest jar has changes in robocode.util.Utils.* and robocode.repository.*? No one else has noticed this?
I'm trying to get past 1.1.4 but am struggling.
GRRRRRRR. --Corbos
Last I am aware of is that the latest that will work is 1.1.5, none of the 1.2.X versions will work with roborumble@home. -- Baal
I am still using 1.1.5. I had tried upgrading to 1.2, but it seemed as though some part of the RoboRumble client was getting the data from battle results with some kind of off-by-1 issue. It was definitely different than that error there. :-\ -- Voidious
Thanks Baal, Voidious. Anyone have a copy of 1.1.5? The download isn't available on sourceforge. Cheers. --Corbos
Starrynyte uploaded this one, link is from Starting with Roborumble page. [[Robocode_1.1.5]] -- Baal
Perfect, many thanks... Corbos
(Guess I should read the page before I post. Looks like many people found this before me... Ah well... thanks again!) --Corbos
According to the Robocode/OldNews page versions 1.1.4 and 1.1.5 are (very) buggy. Maybe it is best to stick with 1.1.3 until the RR@Home issue is solved. -- GrubbmGait