magefree / mage

Magic Another Game Engine
http://xmage.today
MIT License
1.84k stars 759 forks source link

Null Ptr in MCTS game #6365

Open Meerkov opened 4 years ago

Meerkov commented 4 years ago

I enabled MCTS ai, got this stack trace: 1) start game 2) choose yourself to go first 3) play a land 4) press spacebar 5) while AI is thinking press F4

Game exception occurred: java.lang.NullPointerException Server version: 1.4.42V6 (build: 2020-03-04 17:19) mage.player.ai.ComputerPlayerMCTS.calculateActions(ComputerPlayerMCTS.java:98) mage.player.ai.ComputerPlayerMCTS.getNextAction(ComputerPlayerMCTS.java:112) mage.player.ai.ComputerPlayerMCTS.priority(ComputerPlayerMCTS.java:77) mage.game.GameImpl.playPriority(GameImpl.java:1292) mage.game.turn.Step.priority(Step.java:61) mage.game.turn.Phase.playStep(Phase.java:184) mage.game.turn.Phase.play(Phase.java:89) mage.game.turn.Turn.play(Turn.java:126) mage.game.GameImpl.playTurn(GameImpl.java:889) mage.game.GameImpl.play(GameImpl.java:798) mage.game.GameImpl.start(GameImpl.java:762) mage.server.game.GameWorker.call(GameWorker.java:34) java.util.concurrent.FutureTask.run(FutureTask.java:266) java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) java.lang.Thread.run(Thread.java:748)

Meerkov commented 4 years ago

root = root.bestChild(); root.emancipate(); <- Line 98

which means that roots' bestChild() is null.