Submission Issues

Hi,

I’ve had several issues with my submission. Eventually decided to go with the standard bot and am now getting the following:

Downloading game engine
Downloading 2020.2.3.zip
Extracting zip: engine-f82521f6-dc3d-4a05-8fc3-179961ca6c39.zip
Exception during match execution
java.lang.ArrayIndexOutOfBoundsException: 0
	at za.co.entelect.challenge.engine.bootstrapper.GameBootstrapper.downloadGameEngine(GameBootstrapper.java:113) ~[game-runner.jar:?]
	at za.co.entelect.challenge.engine.bootstrapper.GameBootstrapper.run(GameBootstrapper.java:63) [game-runner.jar:?]
	at za.co.entelect.challenge.engine.bootstrapper.GameBootstrapper.main(GameBootstrapper.java:47) [game-runner.jar:?]
Notifying of match failure
Creating zip: 0ab426f0-99d4-46c3-93d5-dc0080025861 for directory: ./match-logs

Seems to be an issue on the engine side. Please assist.
Thanks

We will have a look at this problem and get back to you

Please try again, we have fixed the problem!

Hi,

Getting the following now:

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@be35cd9]}}
Successfully instantiated bot: A - Sharp on api port 55555
Config for player B : tournament-tmp/extracted/player-66a4d794-8dd5-42dd-a181-8e6bcb81d185/README.md
Exception during match execution
java.lang.Exception: Failed to find bot meta data from location: tournament-tmp/extracted/player-66a4d794-8dd5-42dd-a181-8e6bcb81d185/README.md
	at za.co.entelect.challenge.config.BotMetaData.load(BotMetaData.java:86) ~[game-runner.jar:?]
	at za.co.entelect.challenge.player.bootstrapper.PlayerBootstrapper.parsePlayer(PlayerBootstrapper.java:72) ~[game-runner.jar:?]
	at za.co.entelect.challenge.player.bootstrapper.PlayerBootstrapper.loadPlayers(PlayerBootstrapper.java:50) ~[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: 4f3beec6-b45f-4b1e-b26c-90ca98985e26 for directory: ./match-logs

Should the bot meta data not be in bot.json?

EDIT:
I’ve submitted my original bot. Seems the default wouldn’t work off the bat. I get the following which I’ve seen in other posts with no clear solution. I know that I the bot should be sending commands through. Could you please take a look. Thanks.

Failed to get bot command
java.lang.NullPointerException: null
at za.co.entelect.challenge.player.TournamentPlayer.setExecutionResult(TournamentPlayer.java:81) ~[game-runner.jar:?]
at za.co.entelect.challenge.player.entity.BasePlayer.executeBot(BasePlayer.java:79) ~[game-runner.jar:?]
at za.co.entelect.challenge.engine.runner.GameEngineRunner.lambda$onProcessRound$1(GameEngineRunner.java:130) ~[game-runner.jar:?]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_212]
No command provided by bot. Falling back to default no command

Getting the above for the standard bot as well:

Failed to get bot command
java.lang.NullPointerException: null
at za.co.entelect.challenge.player.TournamentPlayer.setExecutionResult(TournamentPlayer.java:81) ~[game-runner.jar:?]
at za.co.entelect.challenge.player.entity.BasePlayer.executeBot(BasePlayer.java:79) ~[game-runner.jar:?]
at za.co.entelect.challenge.engine.runner.GameEngineRunner.lambda$onProcessRound$1(GameEngineRunner.java:130) ~[game-runner.jar:?]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_212]
No command provided by bot. Falling back to default no command

We will have a look at this.

Hi for this error. There is sometimes a bug where the extraction process does not complete properly.

So if you see this, please reupload your bot.

Been trying that and a host of other things thinking the problem is my submission. Also tried 2 more submissions today. No luck. Is the extraction process not controlled by you? Do you not check if it was successful before proceeding?

I’m also having trouble uploading my submission. My match log is:

Downloading game engine
Downloading 2020.2.3.zip
Extracting zip: engine-fd17dc18-ff26-4de7-b603-978c43a55e36.zip
Retrieving bot path from directory
Downloading bots
Downloading entries/main/4a7adc83-900f-4522-94db-a444fa6188c6/e47124a1-5a5b-459c-b77b-06602a217555/binaries/e47124a1-5a5b-459c-b77b-06602a217555.zip
Downloading reference-bots/2020-1-2/reference-bot.zip
Extracting zip: player-85eb16a1-72a7-4a3b-90fa-056893c804c0.zip
Extracting zip: player-3553d3fc-3cf4-45a5-b388-37b8a664551c.zip
Config for player A : tournament-tmp/extracted/player-85eb16a1-72a7-4a3b-90fa-056893c804c0/e47124a1-5a5b-459c-b77b-06602a217555
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@be35cd9]}}
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@be35cd9]}}
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@be35cd9]}}
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@be35cd9]}}
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@be35cd9]}}
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@be35cd9]}}
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@be35cd9]}}
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@be35cd9]}}
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@be35cd9]}}
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@be35cd9]}}
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@be35cd9]}}
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@be35cd9]}}
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@be35cd9]}}
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@be35cd9]}}
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@be35cd9]}}
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@be35cd9]}}
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@be35cd9]}}
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@be35cd9]}}
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@be35cd9]}}
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@be35cd9]}}
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@be35cd9]}}
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: 803e7609-24c0-4f0b-97be-33c80cf1f8b9 for directory: ./match-logs

Hi @Leon

Is this happening consistently or is it a once of error?

Hi @Navin

I have replied to your email with what we have found.

Hi @Renette,

Thanks for the response. @floreggian_entelect has dm’d me with the logs as well showing that a dependency (Newtonsoft.Json.dll) could not be found. By adding that dependency in the Release and Debug directories and the netcoreapp2.0 directory has solved the problem. Its strange though as this is a dependency for the standard bot as well. I had also tried updating the dependency thinking that was the problem but it wasn’t. I also tried removing the file from the directories I thought wouldn’t be relevant (like Release) but the bot still failed when that was done. For now it is running. I hope you guys are able to sort the issue though. May be adding the dependency to your package locations may help:
“/root/.nuget/packages”,
“/usr/share/dotnet/sdk/NuGetFallbackFolder”
Thanks.

Hi @Renette

This happened for all three of my uploads since round one.

Hi @Leon

I have had a look at your submission. From what I can see there are two issues:

  • There is no requirements.txt file
  • Please make sure bot.json is in the root folder of your uploaded zip

Thanks :slight_smile: , that resolved my issue.

1 Like