Issue with submission

Hi. My last submission failed with the following error:

"Downloading game engine
Downloading 2020.1.8.zip
Extracting zip: engine-10008726-f230-4728-b76f-5e4b15d5a959.zip
Retrieving bot path from directory
Downloading bots
Downloading entries/main/1070710e-56fa-4847-b666-41685e1ae500/e742c67d-7fbd-46bf-b5f9-cd722e7e8907/binaries/e742c67d-7fbd-46bf-b5f9-cd722e7e8907.zip
Downloading reference-bots/2020-1-2/reference-bot.zip
Extracting zip: player-1750ed95-c9d9-4526-a61d-b3cecbb2f7c9.zip
Extracting zip: player-8e8ec442-60ad-4aa4-aa61-953103b9b869.zip
Config for player A : tournament-tmp/extracted/player-1750ed95-c9d9-4526-a61d-b3cecbb2f7c9/e742c67d-7fbd-46bf-b5f9-cd722e7e8907
Failed call: Request{method=POST, url=http://localhost:55555/instantiate_bot, tags={class retrofit2.Invocation=za.co.entelect.challenge.network.BotServices.instantiateBot() [okhttp3.MultipartBody$Part@44821a96]}}
Retrying request: Request{method=POST, url=http://localhost:55555/instantiate_bot, tags={class retrofit2.Invocation=za.co.entelect.challenge.network.BotServices.instantiateBot() [okhttp3.MultipartBody$Part@44821a96]}}
Failed call: Request{method=POST, url=http://localhost:55555/instantiate_bot, tags={class retrofit2.Invocation=za.co.entelect.challenge.network.BotServices.instantiateBot() [okhttp3.MultipartBody$Part@44821a96]}}
Retrying request: Request{method=POST, url=http://localhost:55555/instantiate_bot, tags={class retrofit2.Invocation=za.co.entelect.challenge.network.BotServices.instantiateBot() [okhttp3.MultipartBody$Part@44821a96]}}
Failed call: Request{method=POST, url=http://localhost:55555/instantiate_bot, tags={class retrofit2.Invocation=za.co.entelect.challenge.network.BotServices.instantiateBot() [okhttp3.MultipartBody$Part@44821a96]}}
Retrying request: Request{method=POST, url=http://localhost:55555/instantiate_bot, tags={class retrofit2.Invocation=za.co.entelect.challenge.network.BotServices.instantiateBot() [okhttp3.MultipartBody$Part@44821a96]}}
Failed call: Request{method=POST, url=http://localhost:55555/instantiate_bot, tags={class retrofit2.Invocation=za.co.entelect.challenge.network.BotServices.instantiateBot() [okhttp3.MultipartBody$Part@44821a96]}}
Retrying request: Request{method=POST, url=http://localhost:55555/instantiate_bot, tags={class retrofit2.Invocation=za.co.entelect.challenge.network.BotServices.instantiateBot() [okhttp3.MultipartBody$Part@44821a96]}}
Failed call: Request{method=POST, url=http://localhost:55555/instantiate_bot, tags={class retrofit2.Invocation=za.co.entelect.challenge.network.BotServices.instantiateBot() [okhttp3.MultipartBody$Part@44821a96]}}
Retrying request: Request{method=POST, url=http://localhost:55555/instantiate_bot, tags={class retrofit2.Invocation=za.co.entelect.challenge.network.BotServices.instantiateBot() [okhttp3.MultipartBody$Part@44821a96]}}
Failed call: Request{method=POST, url=http://localhost:55555/instantiate_bot, tags={class retrofit2.Invocation=za.co.entelect.challenge.network.BotServices.instantiateBot() [okhttp3.MultipartBody$Part@44821a96]}}
Retrying request: Request{method=POST, url=http://localhost:55555/instantiate_bot, tags={class retrofit2.Invocation=za.co.entelect.challenge.network.BotServices.instantiateBot() [okhttp3.MultipartBody$Part@44821a96]}}
Failed call: Request{method=POST, url=http://localhost:55555/instantiate_bot, tags={class retrofit2.Invocation=za.co.entelect.challenge.network.BotServices.instantiateBot() [okhttp3.MultipartBody$Part@44821a96]}}
Retrying request: Request{method=POST, url=http://localhost:55555/instantiate_bot, tags={class retrofit2.Invocation=za.co.entelect.challenge.network.BotServices.instantiateBot() [okhttp3.MultipartBody$Part@44821a96]}}
Failed call: Request{method=POST, url=http://localhost:55555/instantiate_bot, tags={class retrofit2.Invocation=za.co.entelect.challenge.network.BotServices.instantiateBot() [okhttp3.MultipartBody$Part@44821a96]}}
Retrying request: Request{method=POST, url=http://localhost:55555/instantiate_bot, tags={class retrofit2.Invocation=za.co.entelect.challenge.network.BotServices.instantiateBot() [okhttp3.MultipartBody$Part@44821a96]}}
Failed call: Request{method=POST, url=http://localhost:55555/instantiate_bot, tags={class retrofit2.Invocation=za.co.entelect.challenge.network.BotServices.instantiateBot() [okhttp3.MultipartBody$Part@44821a96]}}
Retrying request: Request{method=POST, url=http://localhost:55555/instantiate_bot, tags={class retrofit2.Invocation=za.co.entelect.challenge.network.BotServices.instantiateBot() [okhttp3.MultipartBody$Part@44821a96]}}
Failed call: Request{method=POST, url=http://localhost:55555/instantiate_bot, tags={class retrofit2.Invocation=za.co.entelect.challenge.network.BotServices.instantiateBot() [okhttp3.MultipartBody$Part@44821a96]}}
Retrying request: Request{method=POST, url=http://localhost:55555/instantiate_bot, tags={class retrofit2.Invocation=za.co.entelect.challenge.network.BotServices.instantiateBot() [okhttp3.MultipartBody$Part@44821a96]}}
Exception during match execution
java.io.IOException: Request failed: Request{method=POST, url=http://localhost:55555/instantiate_bot, tags={class retrofit2.Invocation=za.co.entelect.challenge.network.BotServices.instantiateBot() [okhttp3.MultipartBody$Part@44821a96]}}
at za.co.entelect.challenge.network.RetryableCall.execute(RetryableCall.java:48) ~[game-runner.jar:?]
at za.co.entelect.challenge.player.TournamentPlayer.instantiateBot(TournamentPlayer.java:60) ~[game-runner.jar:?]
at za.co.entelect.challenge.player.TournamentPlayer.(TournamentPlayer.java:47) ~[game-runner.jar:?]
at za.co.entelect.challenge.player.bootstrapper.PlayerBootstrapper.parsePlayer(PlayerBootstrapper.java:75) ~[game-runner.jar:?]
at za.co.entelect.challenge.player.bootstrapper.PlayerBootstrapper.loadPlayers(PlayerBootstrapper.java:49) ~[game-runner.jar:?]
at za.co.entelect.challenge.engine.bootstrapper.GameBootstrapper.run(GameBootstrapper.java:67) [game-runner.jar:?]
at za.co.entelect.challenge.engine.bootstrapper.GameBootstrapper.main(GameBootstrapper.java:47) [game-runner.jar:?]
Notifying of match failure
Creating zip: e64dc811-ae35-4747-b89d-556294893895 for directory: ./match-logs
"

This does not tell me anything about what may be wrong. I’d appreciate any help.
My bot is written in java. The submission was quite big at 69 MB.

I suspect this is related to the time it’s taking the game runner to download/upload my bot. This started happening when I added some simulation data to my bot.

I was very careful to stay within the 75 megabyte limit and spent hours massaging the data to get it to the current size.

I feel it would be quite unfair if the game runner has an undocumented limit due to technical limitations.

Hi @LouisLotter, I will let the team know about the issue and get back to you.

Thanks a lot. I appreciate that.

Hi. Just tested uploading my bot again. Still the same issue.

After hours of uploading test cases I’ve determined that the limit is closer to 60 MB than 75 MB. In addition if you have lots of small files it slows down the copying process. So I wrapped all my data files in separate prebuilt jar that is assembled into the main one with mvn plugin tricks.
Is there any chance we can raise the limit to the 75 MB as advertised ???

Good afternoon @LouisLotter, I checked and saw that the checks we have are reporting that your submission is 76 712 824 bytes .
If you go on Windows explorer and look at the properties of your .zip, you will see that Windows is reporting the .zip as 73.1MB (MiB), but if you look in the brackets, you will see that the submission is actually 76 712 824 bytes. Windows Explorer uses MebiBytes and not Megabytes. So that is why you submission over the limit but didn’t look to you that way.
I will have a discussion with the team and get back to you on what we decide.

Haha ok. That’s an interesting one.
I have had issues with files thats like 68 MebiBytes before but that issue seems gone now.

It save me some effort shaving down on my data if you guys raised the limit to 75 MiB. I would appreciate it. It’s not a train smash though and If you decide against it I’m sure it won’t affect me too badly.

@LouisLotter, We deployed the fix.
The limit is still 75MiB, but in terms of Bytes, the limit is now 78 643 200 bytes.

You can now max out the file size again :smile:

Thanks you guys rock.

@marno.vanniekerk Sorry to be a pain but It’s still not working. Same error with the 73 MiB file.

Hi @LouisLotter, I apologize for the issue. The problem is fixed in Production now as well. Please try again now.

Thank you so much for all your effort. It all works perfectly now. :sweat_smile: