反則負け(floodgate)
15時の回の対Bonanza戦で、illegal moveで反則負けしてしまいました。。
何じゃそりゃ、とログを見てみると、最後の局面で△54歩をもう一度指そうとして異常になっていました。
どうもponderを使っている時のスレッド制御がまずいらしい…
ふだんローカルで対戦させるときはponder使わないので、事前に分かったことでよしとします。
でもこれは直るかなあ…最悪ponder使わないで出るか…
原因判明
一度定跡から外れた後、もう一度定跡に戻る場合に不具合が起きるようです。
詳しく説明すると、定跡から外れれば探索で指すので、エンジンからはbestmove ... ponder ...を返します。
将棋所はそれを受けてgo ponder ...を送って来ますが、そこで定跡に戻ったため、いきなりbestmoveを返してしまっていました。
go ponder ...を受けた場合は、stopまたはponderhitを受けるまではbestmoveを返してはいけないんですが、定跡で指す場合はそのチェックをしてなかったのが原因です。
いったん外れた定跡に戻る場合にだけ顕在化するので、今までは出なかったんですね。