Games-and-Simulations / sc-docker

Multi-platform Version of StarCraft: Brood War in a Docker Container, ready to use for bot play simulations.
MIT License
230 stars 41 forks source link

--timeout and crash? #80

Open haopan27 opened 6 years ago

haopan27 commented 6 years ago

expected behaviour

A game with --timeout option runs when it finishes, or the timeout limit is hit, whichever occurs first.

actual behaviour

Game crashed before the timeout limit. The game would run fine without --timeout.

steps to reproduce

scbw.play --bots "Goliat" "Hao Pan" --headless --timeout 2

Please run the command issued with --log_level=DEBUG --log_verbose parameters and log: scbw.play --bots "Goliat" "Hao Pan" --headless --timeout 2 --log_level=DEBUG --log_verbose 2018-06-11 10:57:04 DEBUG scbw.bot_storage[12200] checking bot in C:\Users\Fractal_Admin\AppData\Roaming/scbw/bots/Goliat 2018-06-11 10:57:04 DEBUG scbw.bot_storage[12200] found bot in C:\Users\Fractal_Admin\AppData\Roaming/scbw/bots/Goliat 2018-06-11 10:57:04 DEBUG scbw.bot_storage[12200] checking bot in C:\Users\Fractal_Admin\AppData\Roaming/scbw/bots/Hao Pan 2018-06-11 10:57:04 DEBUG scbw.bot_storage[12200] found bot in C:\Users\Fractal_Admin\AppData\Roaming/scbw/bots/Hao Pan 2018-06-11 10:57:04 DEBUG scbw.docker[12200] checking docker-machine presence 2018-06-11 10:57:05 DEBUG scbw.docker[12200] Using docker machine version version 0.14.0, build 89b8332 Error: No machine name(s) specified and no "default" machine exists 2018-06-11 10:57:05 DEBUG scbw.docker[12200] Docker machine not present 2018-06-11 10:57:05 DEBUG scbw.game[12200] Using vnc host 'localhost' 2018-06-11 10:57:05 DEBUG scbw.docker[12200] 'docker' 'run' '-d' '--privileged' '--name' 'GAME_56106630_0_Goliat' '--volume' '//c/Users/Fractal_Admin/AppData/Roaming/scbw/logs:/app/logs:rw' '--volume' '//c/Users/Fractal_Admin/AppData/Roaming/scbw/maps:/app/sc/maps:rw' '--volume' '//c/Users/Fractal_Admin/AppData/Roaming/scbw/bwapi-data/BWTA:/app/sc/bwapi-data/BWTA:rw' '--volume' '//c/Users/Fractal_Admin/AppData/Roaming/scbw/bwapi-data/BWTA2:/app/sc/bwapi-data/BWTA2:rw' '--net' 'sc_net' '--volume' '//c/Users/Fractal_Admin/AppData/Roaming/scbw/bots/Goliat/write/GAME_56106630_0:/app/sc/bwapi-data/write:rw' '--volume' '//c/Users/Fractal_Admin/AppData/Roaming/scbw/bots/Goliat:/app/bot:ro' '-e' 'PLAYER_NAME=Goliat' '-e' 'PLAYER_RACE=T' '-e' 'NTH_PLAYER=0' '-e' 'NUM_PLAYERS=2' '-e' 'GAME_NAME=GAME_56106630' '-e' 'MAP_NAME=/app/sc/maps/sscai/(2)Benzene.scx' '-e' 'GAME_TYPE=FREE_FOR_ALL' '-e' 'SPEED_OVERRIDE=0' '-e' 'HIDE_NAMES=0' '-e' 'TM_LOG_RESULTS=../logs/GAME_56106630_0_results.json' '-e' 'TM_LOG_FRAMETIMES=../logs/GAME_56106630_0_frames.csv' '-e' 'TM_SPEED_OVERRIDE=0' '-e' 'TM_ALLOW_USER_INPUT=0' '-e' 'EXIT_CODE_REALTIME_OUTED=2' '-e' 'JAVA_DEBUG=0' '-e' 'BOT_FILE=goliat.jar' '-e' 'BOT_BWAPI=4.1.2' '-e' 'PLAY_TIMEOUT=2' 'starcraft:game' '/app/play_bot.sh' '--game' 'GAME_56106630' '--name' 'Goliat' '--race' 'T' '--lan' '--host' '--map' '/app/sc/maps/sscai/(2)Benzene.scx' 2018-06-11 10:57:08 INFO scbw.docker[12200] launched BotPlayer:Goliat:T 2018-06-11 10:57:08 DEBUG scbw.docker[12200] container name 'GAME_56106630_0_Goliat' 2018-06-11 10:57:08 DEBUG scbw.docker[12200] container id '48cdf35f6783' 2018-06-11 10:57:08 DEBUG scbw.docker[12200] 'docker' 'run' '-d' '--privileged' '--name' 'GAME_56106630_1_Hao_Pan' '--volume' '//c/Users/Fractal_Admin/AppData/Roaming/scbw/logs:/app/logs:rw' '--volume' '//c/Users/Fractal_Admin/AppData/Roaming/scbw/maps:/app/sc/maps:rw' '--volume' '//c/Users/Fractal_Admin/AppData/Roaming/scbw/bwapi-data/BWTA:/app/sc/bwapi-data/BWTA:rw' '--volume' '//c/Users/Fractal_Admin/AppData/Roaming/scbw/bwapi-data/BWTA2:/app/sc/bwapi-data/BWTA2:rw' '--net' 'sc_net' '--volume' '//c/Users/Fractal_Admin/AppData/Roaming/scbw/bots/Hao Pan/write/GAME_56106630_1:/app/sc/bwapi-data/write:rw' '--volume' '//c/Users/Fractal_Admin/AppData/Roaming/scbw/bots/Hao Pan:/app/bot:ro' '-e' 'PLAYER_NAME=Hao Pan' '-e' 'PLAYER_RACE=T' '-e' 'NTH_PLAYER=1' '-e' 'NUM_PLAYERS=2' '-e' 'GAME_NAME=GAME_56106630' '-e' 'MAP_NAME=/app/sc/maps/sscai/(2)Benzene.scx' '-e' 'GAME_TYPE=FREE_FOR_ALL' '-e' 'SPEED_OVERRIDE=0' '-e' 'HIDE_NAMES=0' '-e' 'TM_LOG_RESULTS=../logs/GAME_56106630_1_results.json' '-e' 'TM_LOG_FRAMETIMES=../logs/GAME_56106630_1_frames.csv' '-e' 'TM_SPEED_OVERRIDE=0' '-e' 'TM_ALLOW_USER_INPUT=0' '-e' 'EXIT_CODE_REALTIME_OUTED=2' '-e' 'JAVA_DEBUG=0' '-e' 'BOT_FILE=Halo.dll' '-e' 'BOT_BWAPI=4.1.2' '-e' 'PLAY_TIMEOUT=2' 'starcraft:game' '/app/play_bot.sh' '--game' 'GAME_56106630' '--name' 'Hao Pan' '--race' 'T' '--lan' '--join' 2018-06-11 10:57:11 INFO scbw.docker[12200] launched BotPlayer:Hao Pan:T 2018-06-11 10:57:11 DEBUG scbw.docker[12200] container name 'GAME_56106630_1_Hao_Pan' 2018-06-11 10:57:11 DEBUG scbw.docker[12200] container id 'aff509a0d538' 2018-06-11 10:57:11 DEBUG scbw.docker[12200] Checking if game has launched properly... 2018-06-11 10:57:13 INFO scbw.docker[12200] Waiting until game GAME_56106630 is finished... 2018-06-11 10:57:14 DEBUG scbw.docker[12200] Waiting. ['aff509a0d538', '48cdf35f6783'] 2018-06-11 10:57:17 DEBUG scbw.docker[12200] Waiting. ['aff509a0d538', '48cdf35f6783'] 2018-06-11 10:57:21 DEBUG scbw.docker[12200] Waiting. ['aff509a0d538', '48cdf35f6783'] 2018-06-11 10:57:24 DEBUG scbw.docker[12200] Waiting. ['aff509a0d538'] 2018-06-11 10:57:28 DEBUG scbw.docker[12200] Removing game containers 2018-06-11 10:57:28 INFO scbw.cli[12200] Game GAME_56106630 finished in 23.41906976699829 seconds. 2018-06-11 10:57:28 INFO scbw.cli[12200] --- 2018-06-11 10:57:28 INFO scbw.cli[12200] Logs are saved here: 2018-06-11 10:57:28 INFO scbw.cli[12200] C:\Users\Fractal_Admin\AppData\Roaming/scbw/logs\GAME_56106630_0_Goliat_bot.log 2018-06-11 10:57:28 INFO scbw.cli[12200] C:\Users\Fractal_Admin\AppData\Roaming/scbw/logs\GAME_56106630_0_Goliat_game.log 2018-06-11 10:57:28 INFO scbw.cli[12200] C:\Users\Fractal_Admin\AppData\Roaming/scbw/logs\GAME_56106630_1_Hao_Pan_bot.log 2018-06-11 10:57:28 INFO scbw.cli[12200] C:\Users\Fractal_Admin\AppData\Roaming/scbw/logs\GAME_56106630_1_Hao_Pan_game.log 2018-06-11 10:57:28 INFO scbw.cli[12200] --- 2018-06-11 10:57:28 INFO scbw.cli[12200] Replays are saved here: 2018-06-11 10:57:28 INFO scbw.cli[12200] --- 2018-06-11 10:57:28 INFO scbw.cli[12200] Frame information is saved here: 2018-06-11 10:57:28 INFO scbw.cli[12200] --- 2018-06-11 10:57:28 INFO scbw.cli[12200] Game results are saved here: 2018-06-11 10:57:28 INFO scbw.cli[12200] --- 2018-06-11 10:57:28 WARNING scbw.result[12200] Not all result files have been recorded for game 'GAME_56106630' 2018-06-11 10:57:28 WARNING scbw.result[12200] Expected 2 result files, got 0 2018-06-11 10:57:28 WARNING scbw.result[12200] Assuming a crash happened. 2018-06-11 10:57:28 ERROR scbw.cli[12200] Game has crashed!

operating system

win (Win 10 Pro)
mac (version)
linux (version)

docker version

output of command docker version:

Client:

Version: 18.03.1-ce API version: 1.37 Go version: go1.9.5 Git commit: 9ee9f40 Built: Thu Apr 26 07:12:48 2018 OS/Arch: windows/amd64 Experimental: false Orchestrator: swarm

Server: Engine: Version: 18.03.1-ce API version: 1.37 (minimum version 1.12) Go version: go1.9.5 Git commit: 9ee9f40 Built: Thu Apr 26 07:22:38 2018 OS/Arch: linux/amd64 Experimental: true

scbw version

output of command scbw.play -v

0.2a10

Questions: 1) Are the --timeout and the crash related? 2) What's the unit of the number one sets for --timeout? In minutes?