Cutechess-cli illegal PV move

Discussion of anything and everything relating to chess playing software and machines.

Moderators: hgm, Rebel, chrisw

IanKennedy
Posts: 55
Joined: Sun Feb 04, 2018 12:38 pm
Location: UK

Cutechess-cli illegal PV move

Post by IanKennedy »

Is it possible to suppress warning messages like the above? Its not just my own engine as I now see Gull3 is at it too

Code: Select all

Warning: PV: Bc7 Kb3 Kf7 Nc3 Bd8 Kc2 Ke7 Nb1 Kf7 Kd2 Be7 Nc3 Bd8 Na4 Bc7 Be1 Bd8 Kc3 Ke7 d2c2
Warning: Illegal PV move f6e7 from Gull3 (43)
Author of the actively developed PSYCHO chess engine
RubiChess
Posts: 584
Joined: Fri Mar 30, 2018 7:20 am
Full name: Andreas Matthies

Re: Cutechess-cli illegal PV move

Post by RubiChess »

cutechess seems to use qWarning for that and the Qt docu for qWarning says "If no message handler has been installed, the message is printed to stderr." So you can try

Code: Select all

cutechess-cli ... 2>nul
(in Windows) to avoid output of stderr. But you may also lose some more output of cutechess.

And even better solution: Fix the engines.

Regards, Andreas
IanKennedy
Posts: 55
Joined: Sun Feb 04, 2018 12:38 pm
Location: UK

Re: Cutechess-cli illegal PV move

Post by IanKennedy »

RubiChess wrote: Thu Jan 28, 2021 3:29 pm cutechess seems to use qWarning for that and the Qt docu for qWarning says "If no message handler has been installed, the message is printed to stderr." So you can try

Code: Select all

cutechess-cli ... 2>nul
(in Windows) to avoid output of stderr. But you may also lose some more output of cutechess.

And even better solution: Fix the engines.

Regards, Andreas
In my own case I have a move in the pv after a mate due to delayed detection of mates in the search. I could tidy it up but its a bit of a PITA. I can't speak for Gull3 of course...except to say its a lot faster than Psycho and I get a whole screenfull of this each move.
Author of the actively developed PSYCHO chess engine
User avatar
maksimKorzh
Posts: 771
Joined: Sat Sep 08, 2018 5:37 pm
Location: Ukraine
Full name: Maksim Korzh

Re: Cutechess-cli illegal PV move

Post by maksimKorzh »

IanKennedy wrote: Thu Jan 28, 2021 2:30 pm Is it possible to suppress warning messages like the above? Its not just my own engine as I now see Gull3 is at it too

Code: Select all

Warning: PV: Bc7 Kb3 Kf7 Nc3 Bd8 Kc2 Ke7 Nb1 Kf7 Kd2 Be7 Nc3 Bd8 Na4 Bc7 Be1 Bd8 Kc3 Ke7 d2c2
Warning: Illegal PV move f6e7 from Gull3 (43)
I had someone reported this issue ones - the problem was in wrong move being stored in the PV due to 3 fold repetition.
I guess if not cutechess-cli no one would ever be aware of this bug)

Your PV seems like a 3 fold repetition to me, isn't it?
IanKennedy
Posts: 55
Joined: Sun Feb 04, 2018 12:38 pm
Location: UK

Re: Cutechess-cli illegal PV move

Post by IanKennedy »

maksimKorzh wrote: Thu Jan 28, 2021 4:35 pm
IanKennedy wrote: Thu Jan 28, 2021 2:30 pm Is it possible to suppress warning messages like the above? Its not just my own engine as I now see Gull3 is at it too

Code: Select all

Warning: PV: Bc7 Kb3 Kf7 Nc3 Bd8 Kc2 Ke7 Nb1 Kf7 Kd2 Be7 Nc3 Bd8 Na4 Bc7 Be1 Bd8 Kc3 Ke7 d2c2
Warning: Illegal PV move f6e7 from Gull3 (43)
I had someone reported this issue ones - the problem was in wrong move being stored in the PV due to 3 fold repetition.
I guess if not cutechess-cli no one would ever be aware of this bug)

Your PV seems like a 3 fold repetition to me, isn't it?
That's not my code, and I'm not sure what Gull's issue is - here's another sample where it lists c6e7 but it had a king on c6...?

Code: Select all

Warning: Illegal PV move c6e7 from Gull3 (116)
Warning: PV: Kc6 Na4 Nc2 Kf1 c6e7
Warning: Illegal PV move c6e7 from Gull3 (116)
Warning: PV: Kc6 Na4 Nc2 Kf1 c6e7
Warning: Illegal PV move c6e7 from Gull3 (116)
Warning: PV: Kc6 Na4 Nc2 Kf1 c6e7
I don't have a sample of my own case to hand right now but its a known issue. I detect mates two plies below and that has caused an illegal move to appear in the pv. Everyone else (eg Arena) has politely ignored it.
Author of the actively developed PSYCHO chess engine