bug in icsdroneng?

Discussion of chess software programming and technical issues.

Moderator: Ras

DrRibosome
Posts: 19
Joined: Tue Mar 12, 2013 5:31 pm

bug in icsdroneng?

Post by DrRibosome »

Watching my engine play on fics, I observed a ridiculous underpromotion which ultimately cost the game. Looking at the icsdroneng logs, I found:

Code: Select all

Tue Oct 22 11:38:45 2013:INFO:Move from ICS: c4c5 c5
Tue Oct 22 11:38:45 2013:DEBUG:icsdrone->engine: usermove c4c5\012
Tue Oct 22 11:38:45 2013:DEBUG:engine->icsdrone: 1 +916 0 270 \012
Tue Oct 22 11:38:45 2013:DEBUG:engine->icsdrone: 2 +1051 0 938 \012
Tue Oct 22 11:38:45 2013:DEBUG:engine->icsdrone: 3 +1033 0 4323 Rb4 Ra1\012
Tue Oct 22 11:38:45 2013:DEBUG:engine->icsdrone: 4 +1064 1 17253 Rb8 Kh2\012
Tue Oct 22 11:38:45 2013:DEBUG:engine->icsdrone: 5 +1053 1 24275 Rb8 Kh2 Nf6 Ra1\012
Tue Oct 22 11:38:45 2013:DEBUG:engine->icsdrone: 6 +1105 3 55488 \012
Tue Oct 22 11:38:45 2013:DEBUG:engine->icsdrone: 6 +1049 6 103952 Rb8 c6 f6 Nc4 Rb4 Kh2\012
Tue Oct 22 11:38:45 2013:DEBUG:engine->icsdrone: 7 +1062 16 275533 Rb4 c6 Bf5+ Kh2 Kh7 Bh3\012
Tue Oct 22 11:38:45 2013:DEBUG:engine->icsdrone: 8 +1040 27 435123 f5 exf5 g4+ fxg4 Kf8 c6 Ne3 Ra1\012
Tue Oct 22 11:38:45 2013:DEBUG:engine->icsdrone: 8 +1235 36 604078 \012
Tue Oct 22 11:38:45 2013:DEBUG:engine->icsdrone: 9 +1130 66 1126047 \012
Tue Oct 22 11:38:45 2013:DEBUG:engine->icsdrone: 9 +1131 77 1319242 \012
Tue Oct 22 11:38:45 2013:DEBUG:engine->icsdrone: 10 +1069 92 1569176 f5 exf5 Bxf5+ Kh2 Nc7 Nc4\012
Tue Oct 22 11:38:46 2013:DEBUG:engine->icsdrone: 10 +1079 150 2509037 \012
Tue Oct 22 11:38:47 2013:DEBUG:engine->icsdrone: 10 +1079 150 2509037 \012
Tue Oct 22 11:38:47 2013:DEBUG:engine->icsdrone: move a2a1n\012
Tue Oct 22 11:38:47 2013:DEBUG:icsdrone->ics: tell drribosome depth=10 score=10.79 time=1.50 node=2509037 speed=1672691 pv=f5 exf5 Bxf5+ Kh2 Nc7 Nc4\012
Tue Oct 22 11:38:47 2013:DEBUG:icsdrone->ics: a2a1=n\012
The above shows the engine picking an entirely different pv with best move f5 instead of the a2a1=n sent by icsdroneng.

At this point my engine is pretty stable, I havent really seen a bug in a long time so I'm don't really think it's that. Am I simply reading this wrong? Or, are there known bugs for icsdroneng?
jdart
Posts: 4429
Joined: Fri Mar 10, 2006 5:23 am
Location: http://www.arasanchess.org

Re: bug in icsdroneng?

Post by jdart »

The log does say:
engine->icsdrone: move a2a1n
So it appears a2-a1=N is originating from the engine.

--Jon
User avatar
hgm
Posts: 28478
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: bug in icsdroneng?

Post by hgm »

Indeed, it seems that icsdrone was working perfectly here. It just relays what the engine played. You cannot expect it to correct the engine's move, when the latter plays a blunder...
DrRibosome
Posts: 19
Joined: Tue Mar 12, 2013 5:31 pm

Re: bug in icsdroneng?

Post by DrRibosome »

Thanks, just wanted to make sure it wasn't something with icsdrone. It's strange, the move it's displays from its pv should be the same as its chosen move. They both come from the same array that holds the pv from the search...
User avatar
hgm
Posts: 28478
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: bug in icsdroneng?

Post by hgm »

Note that this was not the last PV it printed. It outputted two more, (the second one probably just a repeat at the end of an iteration, as the node-counts are the same), which have a different score, but an empty PV.

So it seems that you are printing the first move of an empty PV here.
DrRibosome
Posts: 19
Joined: Tue Mar 12, 2013 5:31 pm

Re: bug in icsdroneng?

Post by DrRibosome »

I'm using polyglot because the engine is UCI; does this affect anything? It looks like some of the info strings here dont even have the pv attached in the icsdrone debug logs.
jdart
Posts: 4429
Joined: Fri Mar 10, 2006 5:23 am
Location: http://www.arasanchess.org

Re: bug in icsdroneng?

Post by jdart »

If you are failing low, you won't have a PV.

--Jon
User avatar
hgm
Posts: 28478
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: bug in icsdroneng?

Post by hgm »

Polyglot converts the PV to SAN before sending it to icsdrone. If your PV contains illegal moves, I don't know what it would do. So the missing PVs might not mean anything. Fail-low seems unlikely, as the reported score is higher than the one of a previously reported PV of the same iteration.

Anyway, Polyglot would not use the PV to derive the played move. It just relays what it received from the engine through the 'bestmove' command. To know what went on between engine and Polyglot you would have to make a Polyglot log.