official-pikafish / Pikafish

UCI xiangqi engine
http://pikafish.com
GNU General Public License v3.0
940 stars 172 forks source link

Engine Stops Calculating at Depth 15-16 with Full FEN String for a specific position #61

Closed DamianKan closed 10 months ago

DamianKan commented 10 months ago

Describe the issue

I've encountered a bug in the Pikafish Xiangqi engine where the engine stops calculating moves after reaching depth 15-16 for a specfic position. This issue arises when using a full FEN string command but does not occur with a shortened version of the FEN string.

Expected behavior

The engine should consistently calculate up to the specified depth (in this case, depth 18) regardless of whether additional parameters (like halfmove clock and fullmove number) are included in the FEN string.

Steps to reproduce

Input the command with a full FEN string: position fen 1rbP1a3/2N1k4/4b1n2/p3p3p/7P1/2C5P/P3P4/B1N1C4/4Ar3/3RKAB1c b - - 2 26 go depth 18 Observe that the engine stops calculating between depths 15-16.

Input the command with a shortened FEN string (without the additional parameters after the move side): position fen 1rbP1a3/2N1k4/4b1n2/p3p3p/7P1/2C5P/P3P4/B1N1C4/4Ar3/3RKAB1c b go depth 18 Observe that the engine calculates as expected up to depth 18.

Anything else?

It's unclear why removing the " - - 2 26" part from the FEN string resolves the issue. This inconsistency in behavior depending on the FEN string format is puzzling and seems to be a bug.

Operating system

Windows

Pikafish version

Pikafish 2023-03-05

PikaCat-OuO commented 10 months ago

Can not reproduce on Pikafish latest master build, seems to be fixed already.

image