amanjpro wrote: ↑Wed Aug 04, 2021 2:27 am
Banksia correctly ignores the response. Stop is sent to the pondering engine when the pondering move is wrong... The engine responds with a "best"move only to comply with the protocol. And then banksia MUST send another go request to the engine with the start position and the moves, and a go command. If this is not done, then the bug is in the GUI else it is in the engine.
You can test Banksia's implementation against my engine Zahak, if Zahak also had issues then I'm sure it is a GUI bug
Yes, I know how it should work. What I mean is that maybe banksia is filtering Minic's bestmove after the stop command and then waits forever to receive the bestmove that it just filtered out (for whatever reason). Still, if you look at the full log that I posted from the other game, Banksia again ignores Minic's bestmove and that one wasn't while pondering, it was just a regular move.
As Banksia works ok with all other engines, there must be something that Minic is doing different (wrong or right I don't know, but definitely there's something different). I suspect that castling string.
Actually you are absolutely right, castling should be written as e8c8, e1c1, e1g1 and e8g8...
So, Banksia cannot parse 0-0-0 (which is a PGN notation, not algebraic notation -- which is what is required by UCI)
Now wondering, how the hell Minic works at all? it is either never castles, or whenever it castles it disconnects?
Well, remember I'm testing FRC. Maybe Minic works ok in normal chess, but has problems with FRC notation, and/maybe cutechess or other GUIs can parse the O-O-O notation even if it's not compliant.
xr_a_y wrote: ↑Wed Aug 04, 2021 8:55 am
Thanks for the analysis, i'll fix that.
Well, your fix seems to have worked fine. Minic is not losing on time anymore because of the castling string. However, it is still losing on time (not quite often though), due to some other reason. A couple of logs below:
241.09:06:03 Minic 3.10> bestmove h2h4 ponder h7h6
241.09:06:03 Minic 3.10< position fen bnqbrkrn/pppppppp/8/8/8/8/PPPPPPPP/BNQBRKRN w GEge - 0 1 moves c2c4 f8g8 d2d4 e7e6 h1g3 c7c5 d4d5 b7b5 b2b3 h8g6 e2e4 d7d6 g3h5 e6e5 c4b5 a7a6 d1e2 f7f5 b1c3 a6b5 f1g1 f5f4 c3b5 c8d7 f2f3 a8b7 a1c3 g6h4 g2g3 c5c4 g3h4 d7b5 b3c4 b5c5 g1h1 d8h4 e1d1 b8a6 f1g1 g7g6 d1d3 b7c8 e2d1 h4f2 g1g5 a6b4 c3b4 c5b4 c1d2 b4d2 d3d2 f2e3 d2e2 g8f7 d1a4 e8e7 h2h4 h7h6
241.09:06:03 Minic 3.10< go ponder wtime 14654 btime 27619 winc 1000 binc 1000
241.09:06:03 Cheng 4.41< ponderhit
241.09:06:03 Cheng 4.41> info time 3380 nodes 5620788 nps 1662955
241.09:06:03 Cheng 4.41> bestmove c8h3 ponder h1h2
241.09:06:03 Cheng 4.41< position fen bnqbrkrn/pppppppp/8/8/8/8/PPPPPPPP/BNQBRKRN w GEge - 0 1 moves c2c4 f8g8 d2d4 e7e6 h1g3 c7c5 d4d5 b7b5 b2b3 h8g6 e2e4 d7d6 g3h5 e6e5 c4b5 a7a6 d1e2 f7f5 b1c3 a6b5 f1g1 f5f4 c3b5 c8d7 f2f3 a8b7 a1c3 g6h4 g2g3 c5c4 g3h4 d7b5 b3c4 b5c5 g1h1 d8h4 e1d1 b8a6 f1g1 g7g6 d1d3 b7c8 e2d1 h4f2 g1g5 a6b4 c3b4 c5b4 c1d2 b4d2 d3d2 f2e3 d2e2 g8f7 d1a4 e8e7 h2h4 c8h3 h1h2
241.09:06:03 Cheng 4.41< go ponder wtime 15654 btime 27609 winc 1000 binc 1000
241.09:06:03 Minic 3.10< stop
241.09:06:03 Minic 3.10> info string Warn 2021-08-04 09:06:03-444: Empty pv
241.09:06:03 Minic 3.10> bestmove 0000
241.09:06:04 Cheng 4.41> info nodes 1653813 nps 1653813
241.09:06:04 Cheng 4.41> info depth 16 seldepth 35 time 950 nodes 1575058 nps 1657955 multipv 1 score cp 384 pv h7h6 e2e3 h6g5 e3c3 h3d7 a4b3 g6h5 h4g5 f7g6 c4c5 g6g5 c5c6 d7c8 a2a4 e7c7 b3c4 f8g8
241.09:06:04 Cheng 4.41> info currmovenumber 6 currmove e3b6
241.09:06:04 Cheng 4.41> info currmovenumber 7 currmove h3d7
241.09:06:04 Cheng 4.41> info currmovenumber 8 currmove f8a8
241.09:06:04 Cheng 4.41> info currmovenumber 9 currmove e7c7
241.09:06:04 Cheng 4.41> info currmovenumber 10 currmove e3a7
241.09:06:04 Cheng 4.41> info currmovenumber 11 currmove f8b8
241.09:06:04 Cheng 4.41> info currmovenumber 12 currmove e3f2
241.09:06:04 Cheng 4.41> info currmovenumber 13 currmove f8c8
241.09:06:04 Cheng 4.41> info currmovenumber 14 currmove e3d4
241.09:06:04 Cheng 4.41> info currmovenumber 15 currmove h3c8
241.09:06:04 Cheng 4.41> info currmovenumber 16 currmove e7b7
241.09:06:04 Cheng 4.41> info currmovenumber 17 currmove f8g8
241.09:06:04 Cheng 4.41> info currmovenumber 18 currmove f8e8
241.09:06:04 Cheng 4.41> info currmovenumber 19 currmove f8d8
241.09:06:04 Cheng 4.41> info currmovenumber 20 currmove e7e8
241.09:06:04 Cheng 4.41> info currmovenumber 21 currmove f8h8
241.09:06:04 Cheng 4.41> info currmovenumber 22 currmove e3c1
241.09:06:04 Cheng 4.41> info currmovenumber 23 currmove e3c5
241.09:06:04 Cheng 4.41> info currmovenumber 24 currmove e7d7
241.09:06:04 Cheng 4.41> info currmovenumber 25 currmove h3f5
241.09:06:04 Cheng 4.41> info currmovenumber 26 currmove e3d2
241.09:06:04 Cheng 4.41> info currmovenumber 27 currmove f7g8
241.09:06:04 Cheng 4.41> info currmovenumber 28 currmove e7e6
241.09:06:04 Cheng 4.41> info currmovenumber 29 currmove g6h5
241.09:06:04 Cheng 4.41> info currmovenumber 30 currmove e3g1
241.09:06:04 Cheng 4.41> info currmovenumber 31 currmove h3e6
241.09:06:04 Cheng 4.41> info depth 17 time 1033
241.09:06:04 Cheng 4.41> info currmovenumber 1 currmove h7h6
241.09:06:05 Cheng 4.41> info depth 17 seldepth 37 time 1884 nodes 3099856 nps 1645358 multipv 1 score cp 398 pv h7h6 h2h3 h6g5 h5g3 f4g3 e2e3 g5h4 c4c5 e7a7 a4b3 d6c5 e3c3 f7e7 c3c5 f8f3 c5c6 f3f4 c6g6
241.09:06:05 Cheng 4.41> info currmovenumber 2 currmove h3g4
241.09:06:05 Cheng 4.41> info currmovenumber 3 currmove h3f1
241.09:06:05 Cheng 4.41> info currmovenumber 4 currmove f8c8
241.09:06:05 Cheng 4.41> info currmovenumber 5 currmove f8a8
241.09:06:05 Cheng 4.41> info currmovenumber 6 currmove e7a7
241.09:06:05 Cheng 4.41> info currmovenumber 7 currmove e3a7
241.09:06:05 Cheng 4.41> info currmovenumber 8 currmove h3g2
241.09:06:05 Cheng 4.41> info currmovenumber 9 currmove f8h8
241.09:06:05 Cheng 4.41> info currmovenumber 10 currmove e7c7
241.09:06:05 Cheng 4.41> info currmovenumber 11 currmove h3d7
241.09:06:05 Cheng 4.41> info currmovenumber 12 currmove f8g8
241.09:06:05 Cheng 4.41> info currmovenumber 13 currmove h3c8
241.09:06:05 Cheng 4.41> info currmovenumber 14 currmove h3e6
241.09:06:05 Cheng 4.41> info currmovenumber 15 currmove f8b8
241.09:06:05 Cheng 4.41> info currmovenumber 16 currmove e3d4
241.09:06:05 Cheng 4.41> info currmovenumber 17 currmove f8e8
241.09:06:05 Cheng 4.41> info currmovenumber 18 currmove e3f2
241.09:06:05 Cheng 4.41> info currmovenumber 19 currmove e7b7
241.09:06:05 Cheng 4.41> info currmovenumber 20 currmove e7e8
241.09:06:05 Cheng 4.41> info currmovenumber 21 currmove e3b6
241.09:06:05 Cheng 4.41> info currmovenumber 22 currmove f7g8
241.09:06:05 Cheng 4.41> info currmovenumber 23 currmove f8d8
241.09:06:05 Cheng 4.41> info currmovenumber 24 currmove h3f5
241.09:06:05 Cheng 4.41> info currmovenumber 25 currmove e7d7
241.09:06:05 Cheng 4.41> info currmovenumber 26 currmove e3c1
241.09:06:05 Cheng 4.41> info currmovenumber 27 currmove e3c5
241.09:06:05 Cheng 4.41> info currmovenumber 28 currmove e7e6
241.09:06:05 Cheng 4.41> info currmovenumber 29 currmove e3g1
241.09:06:05 Cheng 4.41> info currmovenumber 30 currmove e3d2
241.09:06:05 Cheng 4.41> info currmovenumber 31 currmove g6h5
241.09:06:05 Cheng 4.41> info depth 18 time 1911
241.09:06:05 Cheng 4.41> info currmovenumber 1 currmove h7h6
241.09:06:05 Cheng 4.41> info nodes 3292215 nps 1646107
241.09:06:06 Cheng 4.41> info depth 18 seldepth 42 time 2907 nodes 4820708 nps 1658310 multipv 1 score cp 387 pv h7h6 h2h3 h6g5 h5g3 f4g3 e2e3 g5h4 a4b5 e7c7 a2a4 f7f6 a4a5 f6g5 a5a6 c7a7 e3a3 f8h8 b5c6 g5f4 c4c5 d6c5 d5d6
241.09:06:06 Cheng 4.41> info currmovenumber 2 currmove h3f1
241.09:06:06 Cheng 4.41> info currmovenumber 3 currmove f8a8
241.09:06:06 Cheng 4.41> info currmovenumber 4 currmove e7a7
241.09:06:06 Cheng 4.41> info currmovenumber 5 currmove h3g4
241.09:06:06 Cheng 4.41> info currmovenumber 6 currmove h3d7
241.09:06:06 Cheng 4.41> info currmovenumber 7 currmove h3g2
241.09:06:06 Cheng 4.41> info currmovenumber 8 currmove e3g1
241.09:06:06 Cheng 4.41> info currmovenumber 9 currmove f8c8
241.09:06:06 Cheng 4.41> info nodes 4974647 nps 1658215
241.09:06:06 Cheng 4.41> info currmovenumber 10 currmove e3a7
241.09:06:06 Cheng 4.41> info currmovenumber 11 currmove f8h8
241.09:06:06 Cheng 4.41> info currmovenumber 12 currmove e7c7
241.09:06:06 Cheng 4.41> info currmovenumber 13 currmove f8g8
241.09:06:06 Cheng 4.41> info currmovenumber 14 currmove h3c8
241.09:06:06 Cheng 4.41> info currmovenumber 15 currmove h3e6
241.09:06:06 Cheng 4.41> info currmovenumber 16 currmove f8b8
241.09:06:06 Cheng 4.41> info currmovenumber 17 currmove e3d4
241.09:06:06 Cheng 4.41> info currmovenumber 18 currmove f8e8
241.09:06:06 Cheng 4.41> info currmovenumber 19 currmove e3f2
241.09:06:06 Cheng 4.41> info currmovenumber 20 currmove e7b7
241.09:06:06 Cheng 4.41> info currmovenumber 21 currmove e7e8
241.09:06:06 Cheng 4.41> info currmovenumber 22 currmove e3b6
241.09:06:06 Cheng 4.41> info currmovenumber 23 currmove f7g8
241.09:06:06 Cheng 4.41> info currmovenumber 24 currmove f8d8
241.09:06:06 Cheng 4.41> info currmovenumber 25 currmove h3f5
241.09:06:06 Cheng 4.41> info currmovenumber 26 currmove e7d7
241.09:06:06 Cheng 4.41> info currmovenumber 27 currmove e3c1
241.09:06:06 Cheng 4.41> info currmovenumber 28 currmove e3c5
241.09:06:06 Cheng 4.41> info currmovenumber 29 currmove e7e6
241.09:06:06 Cheng 4.41> info currmovenumber 30 currmove e3d2
241.09:06:06 Cheng 4.41> info currmovenumber 31 currmove g6h5
241.09:06:06 Cheng 4.41> info depth 19 time 3054
241.09:06:06 Cheng 4.41> info currmovenumber 1 currmove h7h6
241.09:06:07 Cheng 4.41> info depth 19 seldepth 42 time 3899 nodes 6498648 nps 1666747 upperbound multipv 1 score cp 372 pv h7h6
241.09:06:07 Cheng 4.41> info currmovenumber 1 currmove h7h6
241.09:06:07 Cheng 4.41> info nodes 6660153 nps 1665038
241.09:06:08 Cheng 4.41> info nodes 8262713 nps 1652542
241.09:06:08 Cheng 4.41> info depth 19 seldepth 42 time 5357 nodes 8847815 nps 1651636 multipv 1 score cp 381 pv h7h6 g5e5 e7e5 h5f4 e3f4 h2h3 f7g7 e2f2 e5e7 h3g2 e7a7 a4b3 a7a3 f2e2 f4e5 e2e1 f8f4 e1h1 h6h5 g2f2 e5d4 f2g3 d4e3 h1g1
241.09:06:08 Cheng 4.41> info currmovenumber 2 currmove h3f1
241.09:06:08 Cheng 4.41> info currmovenumber 3 currmove h3g4
241.09:06:09 Cheng 4.41> info currmovenumber 4 currmove e7b7
241.09:06:09 Cheng 4.41> info currmovenumber 5 currmove f8a8
241.09:06:09 Cheng 4.41> info currmovenumber 6 currmove f8c8
241.09:06:09 Cheng 4.41> info currmovenumber 7 currmove f8d8
241.09:06:09 Cheng 4.41> info currmovenumber 8 currmove e7a7
241.09:06:09 Cheng 4.41> info currmovenumber 9 currmove h3g2
241.09:06:09 Cheng 4.41> info currmovenumber 10 currmove f8b8
241.09:06:09 Cheng 4.41> info currmovenumber 11 currmove f8g8
241.09:06:09 Cheng 4.41> info currmovenumber 12 currmove e7c7
241.09:06:09 Cheng 4.41> info currmovenumber 13 currmove f8h8
241.09:06:09 Cheng 4.41> info currmovenumber 14 currmove e3d4
241.09:06:09 Cheng 4.41> info currmovenumber 15 currmove e3c5
241.09:06:09 Cheng 4.41> info currmovenumber 16 currmove h3d7
241.09:06:09 Cheng 4.41> info currmovenumber 17 currmove e3g1
241.09:06:09 Cheng 4.41> info currmovenumber 18 currmove e3b6
241.09:06:09 Cheng 4.41> info currmovenumber 19 currmove h3c8
241.09:06:09 Cheng 4.41> info currmovenumber 20 currmove h3e6
241.09:06:09 Cheng 4.41> info currmovenumber 21 currmove e3f2
241.09:06:09 Cheng 4.41> info currmovenumber 22 currmove g6h5
241.09:06:09 Cheng 4.41> info currmovenumber 23 currmove h3f5
241.09:06:09 Cheng 4.41> info currmovenumber 24 currmove f8e8
241.09:06:09 Cheng 4.41> info currmovenumber 25 currmove e3a7
241.09:06:09 Cheng 4.41> info currmovenumber 26 currmove e7e8
241.09:06:09 Cheng 4.41> info currmovenumber 27 currmove f7g8
241.09:06:09 Cheng 4.41> info currmovenumber 28 currmove e3c1
241.09:06:09 Cheng 4.41> info currmovenumber 29 currmove e3d2
241.09:06:09 Cheng 4.41> info currmovenumber 30 currmove e7d7
241.09:06:09 Cheng 4.41> info currmovenumber 31 currmove e7e6
241.09:06:09 Cheng 4.41> info depth 20 time 5752
241.09:06:09 Cheng 4.41> info currmovenumber 1 currmove h7h6
241.09:06:09 Cheng 4.41> info nodes 9910330 nps 1651721
241.09:06:10 Cheng 4.41> info nodes 11522106 nps 1646015
241.09:06:11 Cheng 4.41> info nodes 13189178 nps 1648647
241.09:06:12 Cheng 4.41> info nodes 14876730 nps 1652970
241.09:06:12 Cheng 4.41> info depth 20 seldepth 46 time 9208 nodes 15231394 nps 1654147 lowerbound multipv 1 score cp 396 pv h7h6
241.09:06:12 Cheng 4.41> info currmovenumber 1 currmove h7h6
241.09:06:13 Cheng 4.41> info nodes 16479291 nps 1647929
241.09:06:14 Cheng 4.41> info depth 20 seldepth 46 time 10685 nodes 17617482 nps 1648805 multipv 1 score cp 395 pv h7h6 g5e5 e7e5 h5f4 e3f4 h2h3 f7g7 e2g2 e5h5 g2g4 f4e5 a4d1 g6g5 h3g2 h5h4 g4h4 g5h4 g2h3 e5g3 a2a4 h6h5 d1e2 g3e1 h3g2 g7g6
241.09:06:14 Cheng 4.41> info currmovenumber 2 currmove h3g4
241.09:06:14 Cheng 4.41> info currmovenumber 3 currmove h3f1
241.09:06:14 Cheng 4.41> info currmovenumber 4 currmove e7b7
241.09:06:14 Cheng 4.41> info currmovenumber 5 currmove f8c8
241.09:06:14 Cheng 4.41> info currmovenumber 6 currmove e3b6
241.09:06:14 Cheng 4.41> info currmovenumber 7 currmove f8b8
241.09:06:14 Cheng 4.41> info currmovenumber 8 currmove f8a8
241.09:06:14 Cheng 4.41> info currmovenumber 9 currmove h3g2
241.09:06:14 Cheng 4.41> info nodes 18138171 nps 1648924
241.09:06:14 Cheng 4.41> info currmovenumber 10 currmove e7a7
241.09:06:14 Cheng 4.41> info currmovenumber 11 currmove e3g1
241.09:06:14 Cheng 4.41> info currmovenumber 12 currmove e3f2
241.09:06:14 Cheng 4.41> info currmovenumber 13 currmove e3c1
241.09:06:14 Cheng 4.41> info currmovenumber 14 currmove f8d8
241.09:06:14 Cheng 4.41> info currmovenumber 15 currmove h3d7
241.09:06:14 Cheng 4.41> info currmovenumber 16 currmove e7c7
241.09:06:14 Cheng 4.41> info currmovenumber 17 currmove f8h8
241.09:06:14 Cheng 4.41> info currmovenumber 18 currmove e3d4
241.09:06:14 Cheng 4.41> info currmovenumber 19 currmove f8g8
241.09:06:14 Cheng 4.41> info currmovenumber 20 currmove e3c5
241.09:06:14 Cheng 4.41> info currmovenumber 21 currmove h3c8
241.09:06:14 Cheng 4.41> info currmovenumber 22 currmove e3a7
241.09:06:14 Cheng 4.41> info currmovenumber 23 currmove f8e8
241.09:06:14 Cheng 4.41> info currmovenumber 24 currmove e7d7
241.09:06:14 Cheng 4.41> info currmovenumber 25 currmove h3e6
241.09:06:14 Cheng 4.41> info currmovenumber 26 currmove g6h5
241.09:06:14 Cheng 4.41> info currmovenumber 27 currmove h3f5
241.09:06:14 Cheng 4.41> info currmovenumber 28 currmove f7g8
241.09:06:14 Cheng 4.41> info currmovenumber 29 currmove e7e8
241.09:06:14 Cheng 4.41> info currmovenumber 30 currmove e3d2
241.09:06:14 Cheng 4.41> info currmovenumber 31 currmove e7e6
241.09:06:14 Cheng 4.41> info depth 21 time 11103
241.09:06:14 Cheng 4.41> info currmovenumber 1 currmove h7h6
241.09:06:15 Cheng 4.41> info nodes 19748924 nps 1645743
241.09:06:16 Cheng 4.41> info nodes 21374012 nps 1644154
241.09:06:17 Cheng 4.41> info nodes 23082044 nps 1648717
241.09:06:17 Cheng 4.41> info depth 21 seldepth 46 time 14426 nodes 23807228 nps 1650300 multipv 1 score cp 399 pv h7h6 h2h3 h6g5 h5g3 f4g3 e2e3 g5h4 a4b5 e7c7 e3e1 f8h8 a2a4 f7f6 h3g4 c7f7 c4c5 d6c5 d5d6 f6g7 e1c1 f7f4 g4h3 c5c4 b5c4
241.09:06:17 Cheng 4.41> info currmovenumber 2 currmove h3f1
241.09:06:18 Cheng 4.41> info currmovenumber 3 currmove e7b7
241.09:06:18 Cheng 4.41> info currmovenumber 4 currmove f8b8
241.09:06:18 Cheng 4.41> info currmovenumber 5 currmove f8c8
241.09:06:18 Cheng 4.41> info currmovenumber 6 currmove f8a8
241.09:06:18 Cheng 4.41> info currmovenumber 7 currmove f8h8
241.09:06:18 Cheng 4.41> info currmovenumber 8 currmove e3a7
241.09:06:18 Cheng 4.41> info currmovenumber 9 currmove h3g2
241.09:06:18 Cheng 4.41> info currmovenumber 10 currmove h3g4
241.09:06:18 Cheng 4.41> info currmovenumber 11 currmove e7a7
241.09:06:18 Cheng 4.41> info currmovenumber 12 currmove e7c7
241.09:06:18 Cheng 4.41> info currmovenumber 13 currmove e3g1
241.09:06:18 Cheng 4.41> info currmovenumber 14 currmove e3d4
241.09:06:18 Cheng 4.41> info currmovenumber 15 currmove h3d7
241.09:06:18 Cheng 4.41> info currmovenumber 16 currmove h3f5
241.09:06:18 Cheng 4.41> info currmovenumber 17 currmove f7g8
241.09:06:18 Cheng 4.41> info currmovenumber 18 currmove f8d8
241.09:06:18 Cheng 4.41> info currmovenumber 19 currmove f8g8
241.09:06:18 Cheng 4.41> info currmovenumber 20 currmove e3b6
241.09:06:18 Cheng 4.41> info currmovenumber 21 currmove e3c5
241.09:06:18 Cheng 4.41> info currmovenumber 22 currmove e3f2
241.09:06:18 Cheng 4.41> info currmovenumber 23 currmove h3e6
241.09:06:18 Cheng 4.41> info currmovenumber 24 currmove e3c1
241.09:06:18 Cheng 4.41> info currmovenumber 25 currmove f8e8
241.09:06:18 Cheng 4.41> info currmovenumber 26 currmove g6h5
241.09:06:18 Cheng 4.41> info currmovenumber 27 currmove e7d7
241.09:06:18 Cheng 4.41> info currmovenumber 28 currmove e7e8
241.09:06:18 Cheng 4.41> info currmovenumber 29 currmove h3c8
241.09:06:18 Cheng 4.41> info currmovenumber 30 currmove e7e6
241.09:06:18 Cheng 4.41> info currmovenumber 31 currmove e3d2
241.09:06:18 Cheng 4.41> info depth 22 time 14714
241.09:06:18 Cheng 4.41> info currmovenumber 1 currmove h7h6
241.09:06:18 Cheng 4.41> info nodes 24732733 nps 1648848
241.09:06:19 banksia> Timeleft for Minic 3.10: 15.65, used: 15.80, Cheng 4.41: 27.61
241.09:06:19 Cheng 4.41< stop
241.09:06:19 Cheng 4.41> info time 15799 nodes 26041210 nps 1648282
241.09:06:19 Cheng 4.41> bestmove h7h6 ponder h2h3
241.09:06:19 banksia> 241) Minic 3.10 vs Cheng 4.41, #58, 0-1 (timeout)
241.09:06:21 Cheng 4.41< quit
241.09:06:21 Minic 3.10< quit
I think that info string with the "empty pv" between the stop command and the bestmove may be the culprit. Can you try to invert it, first send the bestmove one and then the info string, or just remove that info string so I can test? If that works, then you can find a work-around.
xr_a_y wrote: ↑Wed Aug 04, 2021 2:57 pm
Do you think Banksia does not like "free style" info string ?
I think that Banksia expects a bestmove string right after the stop command (does the UCI protocol say anything about that?), and as it's receiving an info string instead, things break.
Well, I just went and looked:
* stop
stop calculating as soon as possible,
don't forget the "bestmove" command and possibly the "ponder" token when finishing the search
Ambiguous as sh1t lol. Doesn't say that engine must send "bestmove" immediately, but doesn't say it can send other things either lol. I might guess that Banksia may get confused by that info string (not because I know Banksia, but because it works ok with other engines that don't send it).
xr_a_y wrote: ↑Wed Aug 04, 2021 2:57 pm
Do you think Banksia does not like "free style" info string ?
I think that Banksia expects a bestmove string right after the stop command (does the UCI protocol say anything about that?), and as it's receiving an info string instead, things break.
Well, I just went and looked:
* stop
stop calculating as soon as possible,
don't forget the "bestmove" command and possibly the "ponder" token when finishing the search
Ambiguous as sh1t lol. Doesn't say that engine must send "bestmove" immediately, but doesn't say it can send other things either lol. I might guess that Banksia may get confused by that info string (not because I know Banksia, but because it works ok with other engines that don't send it).
Not to forget in "info" subsection:
* string <str>
any string str which will be displayed be the engine,
if there is a string command the rest of the line will be interpreted as <str>.
But maybe there is a pretty clean solution using the
* debug [ on | off ]
switch the debug mode of the engine on and off.
In debug mode the engine should send additional infos to the GUI, e.g. with the "info string" command,
to help debugging, e.g. the commands that the engine has received etc.
This mode should be switched off by default and this command can be sent
any time, also when the engine is thinking.
Maybe I'm not allowed to log if the engine hasn't send "debug on" ...
Well, I just wanted to test without the info string to see if that fixed the problem. If it indeed was fixed, then we know for sure that THAT was the problem, and then we can discuss if it was banksia's fault or minic's and how to move forward.
Well, I have found another engine that behaves like Minic (that is, sending info strings after the stop command and before the "bestmove"), so I would advice to make Banksia adjust to that and fix this (regardless of what the protocol says), because I've so far found only 2 engines (Minic and Vajolet), but there may be many more.
Here's a log for Vajolet that shows the same behaviour:
Move format:
------------
The move format is in long algebraic notation.
A nullmove from the Engine to the GUI should be send as 0000.
Examples: e2e4, e7e5, e1g1 (white short castling), e7e8q (for promotion)
Thus "bestmove O-O-O" is an illegal move. Minic also uses O-O, O-O-O in PVs too, which is inconsistent with the notation of other moves.
At the moment, BSG detects out illegal moves but just ignores them. In the next release, BSG will add some messages into the engine log then terminate the game immediately with the reason "Illegal move".
I have also been working with "bestmove 0000" which Minic prints out when being stopped because of wrong ponder move. Theory, BSG should work well with that move (accepts and then tells Minic to start computing as usual). Just being struggling to reproduce.
https://banksiagui.com
The most features chess GUI, based on opensource Banksia - the chess tournament manager